Repository Analysis

letsencrypt/boulder

An ACME-based certificate authority, written in Go.

2.9 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of letsencrypt/boulder, a Go project with 5,735 GitHub stars. SynthScan v2.0 examined 130,859 lines of code across 645 source files, recording 310 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 2.9 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

2.9
Adjusted Score
2.9
Raw Score
100%
Time Factor
2026-07-14
Last Push
5.7K
Stars
Go
Language
130.9K
Lines of Code
645
Files
310
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 1MEDIUM 23LOW 286

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 310 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block179 hits · 179 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml261 # This network is used for two things in the integration tests:COMMENT
LOWtest.sh81#COMMENT
LOWtest.sh301 exit 1COMMENT
LOWva/http_test.go861COMMENT
LOWva/http.go21 "github.com/letsencrypt/boulder/identifier"COMMENT
LOWva/http.go61func (e *dialerMismatchError) Error() string {COMMENT
LOWva/http.go161type httpValidationTarget struct {COMMENT
LOWva/dns_persist.go121}COMMENT
LOWva/caa.go221 // the criticalUnknown bit if there are critical iodef tags.COMMENT
LOWva/caa.go301func (va *ValidationAuthorityImpl) getCAA(ctx context.Context, hostname string) (*caaResult, error) {COMMENT
LOWva/caa.go541COMMENT
LOWva/va.go61 // bytes of an arbitrarily sized HTTP/2 SETTINGS frame:COMMENT
LOWva/va.go101COMMENT
LOWva/va.go601 }COMMENT
LOWva/config/config.go21 //COMMENT
LOWcmd/config.go61 // database. If MaxIdleConns is greater than 0 and MaxOpenConns isCOMMENT
LOWcmd/config.go221 // HTTP/2 requires us to advertise h2 in the TLS ALPN.COMMENT
LOWcmd/config.go241// will use to construct a SRV DNS query to lookup backends.COMMENT
LOWcmd/config.go261 // hostname the gRPC client will resolve it via the system DNS. If theCOMMENT
LOWcmd/config.go281 // tags = ["tcp"]COMMENT
LOWcmd/config.go301 // construct a list of backends to connect to. For more details, see theCOMMENT
LOWcmd/config.go321 // id = "some-unique-id-1"COMMENT
LOWcmd/config.go341 HostOverride string `validate:"omitempty,hostname"`COMMENT
LOWcmd/config.go441 // These service names must match the service names advertised by gRPC itself,COMMENT
LOWcmd/config.go461COMMENT
LOWcmd/config.go501}COMMENT
LOWcmd/config.go521 // contain 'udp' and the 'port' field MUST be a valid port. In a ConsulCOMMENT
LOWcmd/config.go541 // Consul) then you should be able to resolve the following dig query:COMMENT
LOWcmd/boulder-va/main.go21)COMMENT
LOWcmd/boulder-va/main.go41 // given validation was performed, as specified in the "PhasedCOMMENT
LOWcmd/boulder-va/main.go61COMMENT
LOWcmd/boulder-wfe2/main.go81 // local and remote nonce-service instances.COMMENT
LOWcmd/boulder-wfe2/main.go101COMMENT
LOWcmd/boulder-wfe2/main.go121 // header of the WFE1 instance and the legacy 'reg' path component. ThisCOMMENT
LOWcmd/boulder-wfe2/main.go161 // limiting.COMMENT
LOWcmd/boulder-wfe2/main.go181 OverridesFromDB boolCOMMENT
LOWcmd/boulder-wfe2/main.go201COMMENT
LOWcmd/sfe/main.go81 }COMMENT
LOWcmd/boulder-ca/main.go61 // generating them. The minimum value is "01" to ensure that at leastCOMMENT
LOWcmd/boulder-ca/main.go81COMMENT
LOWcmd/ceremony/cert.go41 // NotBefore should contain the requested NotBefore date for theCOMMENT
LOWcmd/ceremony/main.go701 // certificate-to-cross-sign-path: int-e6.cert.pemCOMMENT
LOWcmd/admin/main.go41type subcommand interface {COMMENT
LOWcmd/crl-updater/main.go41 // WARNING: When this number is changed, the "JSON Array of CRL URLs" fieldCOMMENT
LOWcmd/crl-updater/main.go61 // UpdatePeriod controls how frequently the crl-updater runs and publishesCOMMENT
LOWcmd/crl-updater/main.go81 // MaxAttempts control how many times the updater will attempt to generateCOMMENT
LOWcmd/crl-updater/main.go101COMMENT
LOWcmd/bad-key-revoker/main.go281 // progress until this is addressed.COMMENT
LOWcmd/boulder-ra/main.go61 // enable rate limiting. If any individual rate limit is not set,COMMENT
LOWcmd/boulder-ra/main.go81 OverridesFromDB boolCOMMENT
LOWcmd/boulder-ra/main.go101 // if the AsyncFinalization feature flag is enabled. Any systems whichCOMMENT
LOWcmd/cert-checker/main.go561 // the resource record is 'foo.service.consul', then the 'Service' is 'foo'COMMENT
LOWcmd/remoteva/main.go21COMMENT
LOWcmd/remoteva/main.go41 // - LACNICCOMMENT
LOWcmd/email-exporter/main.go21 // PerDayLimit enforces the daily request limit imposed by the PardotCOMMENT
LOWunpause/unpause.go101// API version of the JWT. This function validates that the JWT is:COMMENT
LOWtools/fetch-and-verify-go.sh21# "old block vs new block" is only a subkey update:COMMENT
LOWbdns/servers.go101// addresses, and refreshes it regularly using a goroutine started by itsCOMMENT
LOWbdns/servers.go121 cancel chan anyCOMMENT
LOWcore/objects.go121 // a challenge validation with the IPv6 first flag on and the ::1 addressCOMMENT
119 more matches not shown…
Self-Referential Comments17 hits · 72 pts
SeverityFileLineSnippetContext
MEDIUMtest/v2_integration.py139 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py143 # Create a broken HTTP redirect similar to a sort we see frequently "in the wild"COMMENT
MEDIUMtest/v2_integration.py197 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py201 # Create a HTTP redirect from the challenge's validation path to itselfCOMMENT
MEDIUMtest/v2_integration.py217 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py221 # Create a HTTP redirect from the challenge's validation path to a host withCOMMENT
MEDIUMtest/v2_integration.py238 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py242 # Create a HTTP redirect from the challenge's validation path to a bare IPCOMMENT
MEDIUMtest/v2_integration.py259 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py263 # Create a HTTP redirect from the challenge's validation path to whackyCOMMENT
MEDIUMtest/v2_integration.py280 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py289 # Create a HTTP redirect from the challenge's validation path to some otherCOMMENT
MEDIUMtest/v2_integration.py338 # Create an authz for a random domain and get its HTTP-01 challenge tokenCOMMENT
MEDIUMtest/v2_integration.py347 # Create a HTTP redirect from the challenge's validation path to an HTTPSCOMMENT
MEDIUMtest/v2_integration.py77 # Create a random domains.COMMENT
MEDIUMtest/vtcomboserver/setup_vschema_folder.sh56 # Create a vschema.json file only if the number of shards are more than 1COMMENT
MEDIUMtest/certs/generate.sh20 # Create a generic cert which can be used by our test-only services thatCOMMENT
Fake / Example Data31 hits · 36 pts
SeverityFileLineSnippetContext
LOWcsr/csr_test.go65 signedReqWithEmailAddress.EmailAddresses = []string{"foo@bar.com"}CODE
LOWtest/config/zendesk-test-srv.json3 "expectedTokenEmail": "admin@example.com",CODE
LOWtest/ct-test-srv/log_list.json7 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json73 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json109 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json126 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json147 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json164 "email": ["fake@example.org"],CODE
LOWtest/ct-test-srv/log_list.json185 "email": ["fake@example.org"],CODE
LOWtest/config-next/zendesk-test-srv.json3 "expectedTokenEmail": "admin@example.com",CODE
LOWtest/config-next/sfe.json70 "tokenEmail": "admin@example.com",CODE
LOWsfe/overridesimporter_test.go128 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go164 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go173 expectOrgComment: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go181 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go190 expectOrgComment: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go198 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go207 expectOrgComment: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go215 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go222 expectOrgComment: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go230 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go239 expectOrgComment: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go327 tickerFields: map[string]string{OrganizationFieldName: "Acme Corp"},CODE
LOWsfe/overridesimporter_test.go338 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go351 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go364 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go378 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go391 OrganizationFieldName: "Acme Corp",CODE
LOWsfe/overridesimporter_test.go404 OrganizationFieldName: "Acme Corp",CODE
LOWwfe2/wfe_test.go1731 contacts: []string{"mailto:a@example.org"},CODE
LOWsalesforce/exporter_test.go77 wantContacts := []string{"test@example.com", "user@example.com"}CODE
Unused Imports27 hits · 20 pts
SeverityFileLineSnippetContext
LOWstart.py15CODE
LOWtest/chisel2.py16CODE
LOWtest/chisel2.py19CODE
LOWtest/chisel2.py20CODE
LOWtest/integration-test.py20CODE
LOWtest/v2_integration.py5CODE
LOWtest/v2_integration.py9CODE
LOWtest/v2_integration.py15CODE
LOWtest/v2_integration.py16CODE
LOWtest/v2_integration.py19CODE
LOWtest/v2_integration.py23CODE
LOWtest/v2_integration.py23CODE
LOWtest/v2_integration.py24CODE
LOWtest/v2_integration.py25CODE
LOWtest/v2_integration.py30CODE
LOWtest/v2_integration.py32CODE
LOWtest/v2_integration.py33CODE
LOWtest/v2_integration.py34CODE
LOWtest/v2_integration.py35CODE
LOWtest/v2_integration.py36CODE
LOWtest/helpers.py2CODE
LOWtest/helpers.py4CODE
LOWtest/helpers.py7CODE
LOWtest/helpers.py8CODE
LOWtest/helpers.py14CODE
LOWtest/load-generator/latency-charter.py6CODE
LOWtest/load-generator/latency-charter.py11CODE
Hyper-Verbose Identifiers25 hits · 20 pts
SeverityFileLineSnippetContext
LOWtest/challtestsrv.py150 def clear_http_request_history(self, host):CODE
LOWtest/challtestsrv.py245 def clear_dns_request_history(self, host):CODE
LOWtest/v2_integration.py117def test_http_challenge_dns_err():CODE
LOWtest/v2_integration.py124def test_dns_challenge_dns_err():CODE
LOWtest/v2_integration.py131def test_http_challenge_broken_redirect():CODE
LOWtest/v2_integration.py194def test_http_challenge_loop_redirect():CODE
LOWtest/v2_integration.py214def test_http_challenge_badport_redirect():CODE
LOWtest/v2_integration.py235def test_http_challenge_badhost_redirect():CODE
LOWtest/v2_integration.py256def test_http_challenge_badproto_redirect():CODE
LOWtest/v2_integration.py277def test_http_challenge_http_redirect():CODE
LOWtest/v2_integration.py335def test_http_challenge_https_redirect():CODE
LOWtest/v2_integration.py168def test_failed_validation_limit():CODE
LOWtest/v2_integration.py413class SlowHTTPRequestHandler(BaseHTTPRequestHandler):CODE
LOWtest/v2_integration.py433def test_http_challenge_timeout():CODE
LOWtest/v2_integration.py476def test_overlapping_wildcard():CODE
LOWtest/v2_integration.py512def test_wildcard_exactblacklist():CODE
LOWtest/v2_integration.py525def test_wildcard_authz_reuse():CODE
LOWtest/v2_integration.py558def test_bad_overlap_wildcard():CODE
LOWtest/v2_integration.py572def test_order_reuse_failed_authz():CODE
LOWtest/v2_integration.py628def test_only_return_existing_reg():CODE
LOWtest/v2_integration.py770def test_http_multiva_threshold_pass():CODE
LOWtest/v2_integration.py787def test_http_multiva_primary_fail_remote_pass():CODE
LOWtest/v2_integration.py823def test_http_multiva_threshold_fail():CODE
LOWtest/v2_integration.py929def test_new_order_policy_errs():CODE
LOWtest/v2_integration.py959def test_delete_unused_challenges():CODE
Verbosity Indicators9 hits · 15 pts
SeverityFileLineSnippetContext
LOWca/ca.go216 // Step 1: Locally process the gRPC request and its embedded CSR to extractCOMMENT
LOWca/ca.go272 // Step 2: Persist the serial and minimal metadata, to ensure that we neverCOMMENT
LOWca/ca.go284 // Step 3: Issue the linting precert, persist it to the database, and thenCOMMENT
LOWca/ca.go367 // Step 4: Get SCTs for inclusion in the final certificate.COMMENT
LOWca/ca.go383 // Step 5: Issue and save the final certificate.COMMENT
LOWra/ra.go891 // Step 1: Set up logging/tracing and validate the OrderCOMMENT
LOWra/ra.go912 // Step 2: Set the Order to Processing statusCOMMENT
LOWra/ra.go1182 // Step 3: Issue the CertificateCOMMENT
LOWra/ra.go1187 // Step 4: Fail the order if necessary, and update metrics and log fieldsCOMMENT
Structural Annotation Overuse9 hits · 15 pts
SeverityFileLineSnippetContext
LOWca/ca.go216 // Step 1: Locally process the gRPC request and its embedded CSR to extractCOMMENT
LOWca/ca.go272 // Step 2: Persist the serial and minimal metadata, to ensure that we neverCOMMENT
LOWca/ca.go284 // Step 3: Issue the linting precert, persist it to the database, and thenCOMMENT
LOWca/ca.go367 // Step 4: Get SCTs for inclusion in the final certificate.COMMENT
LOWca/ca.go383 // Step 5: Issue and save the final certificate.COMMENT
LOWra/ra.go891 // Step 1: Set up logging/tracing and validate the OrderCOMMENT
LOWra/ra.go912 // Step 2: Set the Order to Processing statusCOMMENT
LOWra/ra.go1182 // Step 3: Issue the CertificateCOMMENT
LOWra/ra.go1187 // Step 4: Fail the order if necessary, and update metrics and log fieldsCOMMENT
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMva/caa.go306 // Essentially: check CAA records for the FDQN to be issued, and allCOMMENT
MEDIUMtest/certs.go23// most tests and isn't a robust example of a complete end entity certificate.COMMENT
MEDIUMgrpc/noncebalancer/noncebalancer.go167 // be robust to the possibility there are more.COMMENT
MEDIUMsfe/overrides.go366 // Validation here is nuanced: we accept a well-formed Let's EncryptCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHtest/integration/revocation_test.go402 // The ones done byAccount will succeed as requested, but will notCOMMENT
Excessive Try-Catch Wrapping4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtest/startservers.py230 except Exception as e:CODE
MEDIUMtest/startservers.py231 print("Error querying DNS. Is consul running? `docker compose ps bconsul`. %s" % (e))CODE
LOWtest/startservers.py252 except Exception as e:CODE
MEDIUMtest/startservers.py253 print("Error starting service %s: %s" % (service.name, e))CODE
Deep Nesting4 hits · 3 pts
SeverityFileLineSnippetContext
LOWtest/chisel2.py190CODE
LOWtest/startservers.py216CODE
LOWtest/v2_integration.py69CODE
LOWtest/v2_integration.py335CODE