AETERNAE AI RESEARCH LLC INDEPENDENT RESEARCH
Γ†AETERNAERESEARCH
Sign inRequest access
Γ† / PUBLIC MALWARE INTELLIGENCE

Follow the evidence.

Published file metadata, source observations, indicators, and research history in one bounded catalog.

2,400+Reachable catalog records
46 / 100Current catalog page
24Maximum records per page
0Samples downloaded by this page

Feed collection status

Sources represented on this page. Publication and observation dates describe the content; successful batch dates describe local collection. A recent batch does not certify complete coverage or current provider availability.

3 sources: 0 stale, 0 needing attention, 0 paused, 0 unverified.

Review source update dates and status
  • intelligence_src_823f7b237762257237Recent successful batchLast successful batch: Last attempt:
  • intelligence_src_8553b983e6ea84b364Recent successful batchLast successful batch: Last attempt:
  • intelligence_src_85b5039c8403974534Recent successful batchLast successful batch: Last attempt:

Stale means older than twice the recorded collection interval, with a minimum of one hour; without an interval, the threshold is 24 hours. Cached content remains available while a feed is stale, paused, or unverified.

Clear filters
2,400+ MATCHING RECORDSMETADATA ONLY / SOURCE ATTRIBUTION PRESERVED
REPORT1 SOURCE

Unidentified Flock Cameras in Florida

St. Lucie County in Florida discovered (alt link) a dozen Flock cameras whose ownership it can’t identify, and that the county government had not permitted. I am reminded of the decade-old story of StingRay cell phone surveillance devices in Washington, DC, whose operators were also unknown. My guess is that in the StingRay case, the devices were operated by foreign actors. This Flock case is more likely some local government entity that didn’t bother getting approval. Were I a foreign actor, I would rather hack the existing Flock network—like Israel ...

First reported Oct 02, 2026 14:52 UTCCatalog metadata updated Oct 14, 2026 12:23 UTCOpen evidence record
REPORT1 SOURCE

v0.113.0

Added Features Include Ubuntu 26.04 "resolute" in distro codenames [#3397 @anchore-oss-update-bot] source RPM filtering on Hummingbird [#3410 @willmurphyscode] Bug Fixes use relatedVulnerabilities description as fallback in SARIF output [#3271 @axidex] improve platform CPE determination logic [#3470 @westonsteimel] normalize uppercase V in semantic version comparison [#3461 @immanuwell] purl handling in cgr maven libs [#3420 @willmurphyscode] Treat uppercase V prefixes the same as lowercase v prefixes in fuzzy version comparison [#3037 #3089 @wasup-yash] Add Runtime Warnings When TLS Verification Is Disabled or HTTP Is Enabled [#3101 #3396 @Dashtid] Add support for the aarch64 architecture when parsing the version of Ruby gems in lockfiles [#3442 #3475 @msnandhis] zsh completion fails [#2933 #3433 @brandtkeller] (Full Changelog)

First reported Jun 03, 2026 14:19 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.119.0

Added Features Expose distro-fixed dropped matches via ignoredMatches so --show-suppressed can surface them [Issue #3450] [PR #3705 @philroche] Licensing: copyright owner missing, needed for Debian packaging [Issue #3501] Bug Fixes fixes typo in cpe example input for cpe-direct scan [PR #3679 @zhill] --by-cve: which advisory record survives the merge varies between runs [Issue #3630] Additional Changes OpenVEX transformer drops the namespace from Go module PURLs [Issue #3680] [PR #3683 @arpitjain099] Docs missing for include-aliases [Issue #3663] [PR #3671 @dev-rehaann] Dependencies 54 dependency changes (54 updated). 6 vulnerabilities remediated. 🟒 Remediated (6) GHSA-2v4p-qf9q-27wj (High) β€” google.golang.org/grpc GHSA-7jxh-36q5-gcqv (Medium) β€” github.com/containerd/containerd/v2 GHSA-qc2q-p7wx-3px3 (Medium) β€” google.golang.org/grpc GHSA-vp52-pcj8-j9qc (High) β€” google.golang.org/grpc GO-2026-6354 (High) β€” golang.org/x/crypto GO-2026-6355 (High) β€” golang.org/x/crypto Updated (54 packages) cloud.google.com/go/auth v0.22.0 β†’ v0.23.2 cloud.google.com/go/iam v1.11.0 β†’ v1.12.0 cloud.google.com/go/logging v1.18.0 β†’ v1.19.0 cloud.google.com/go/monitoring v1.29.0 β†’ v1.30.0 cloud.google.com/go/storage v1.64.0 β†’ v1.65.1 github.com/CycloneDX/cyclonedx-go v0.11.0 β†’ v0.12.0 github.com/anchore/go-sync v0.1.1 β†’ v0.1.2 github.com/anchore/stereoscope v0.3.1 β†’ v0.3.2 github.com/anchore/syft v1.51.1 β†’ v1.52.0 github.com/aws/aws-sdk-go-v2 v1.43.4 β†’ v1.44.0 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 β†’ v1.7.20 github.com/aws/aws-sdk-go-v2/config v1.32.35 β†’ v1.32.40 github.com/aws/aws-sdk-go-v2/credentials v1.19.34 β†’ v1.19.39 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.35 β†’ v1.18.40 github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.35 β†’ v1.4.40 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.35 β†’ v2.7.40 github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.36 β†’ v1.4.41 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 β†’ v1.13.19 github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.28 β†’ v1.10.0 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.35 β†’ v1.13.40 github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.36 β†’ v1.19.41 github.com/aws/aws-sdk-go-v2/service/s3 v1.106.5 β†’ v1.108.0 github.com/aws/aws-sdk-go-v2/service/signin v1.5.4 β†’ v1.6.0 github.com/aws/aws-sdk-go-v2/service/sso v1.33.4 β†’ v1.34.0 github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 β†’ v1.39.0 github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 β†’ v1.46.0 github.com/aws/smithy-go v1.27.6 β†’ v1.28.1 github.com/containerd/containerd/v2 v2.3.4 β†’ v2.3.5 (🟒 remediated GHSA-7jxh-36q5-gcqv) github.com/docker/cli v29.7.2+incompatible β†’ v29.8.0+incompatible github.com/google/go-containerregistry v0.21.9 β†’ v0.22.1 github.com/googleapis/enterprise-certificate-proxy v0.3.19 β†’ v0.3.20 github.com/googleapis/gax-go/v2 v2.23.0 β†’ v2.24.0 github.com/gpustack/gguf-parser-go v0.25.0 β†’ v0.26.3 github.com/hashicorp/go-getter v1.8.8 β†’ v1.8.9 github.com/klauspost/compress v1.19.2 β†’ v1.20.0 github.com/moby/moby/api v1.55.0 β†’ v1.56.0 github.com/moby/moby/client v0.5.1 β†’ v0.6.0 github.com/pandatix/go-cvss v0.6.2 β†’ v0.6.4 github.com/terminalstatic/go-xsd-validate v0.1.6 β†’ v0.1.8 golang.org/x/crypto v0.55.0 β†’ v0.56.0 (🟒 remediated GO-2026-6354, GO-2026-6355) golang.org/x/mod v0.40.0 β†’ v0.41.0 golang.org/x/time v0.15.0 β†’ v0.16.0 google.golang.org/api v0.292.0 β†’ v0.294.0 google.golang.org/genproto v0.0.0-aa98bba β†’ v0.0.0-e75dac1 google.golang.org/genproto/googleapis/api v0.0.0-925bb5d β†’ v0.0.0-e75dac1 google.golang.org/genproto/googleapis/rpc v0.0.0-6ac0973 β†’ v0.0.0-08b0e42 google.golang.org/grpc v1.83.0 β†’ v1.83.2 (🟒 remediated GHSA-2v4p-qf9q-27wj, GHSA-qc2q-p7wx-3px3, GHSA-vp52-pcj8-j9qc) google.golang.org/protobuf v1.36.12-0.f2248ac β†’ v1.36.12 modernc.org/cc/v4 v4.29.1 β†’ v4.29.2 modernc.org/ccgo/v4 v4

First reported Sep 17, 2026 16:45 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.117.0

Added Features Include vulnerable ranges in CycloneDX output format [Issue #3512] [PR #3519 @somaz94] Bug Fixes honor match.rust.using-cpes configuration [PR #3611 @Dashtid] Dependencies 11 dependency changes (11 updated). 2 vulnerabilities remediated. 🟒 Remediated (2) GHSA-hc8v-wwc9-vgxm (High) β€” github.com/go-git/go-git/v5 GHSA-qgq7-7hm3-q39j (Medium) β€” github.com/go-git/go-git/v5 Updated (11 packages) github.com/anchore/syft v1.50.0 β†’ v1.51.0 github.com/diskfs/go-diskfs v1.9.3 β†’ v1.9.4 github.com/gabriel-vasile/mimetype v1.4.13 β†’ v1.4.15 github.com/go-git/go-billy/v5 v5.9.0 β†’ v5.9.1 github.com/go-git/go-git/v5 v5.19.1 β†’ v5.19.2 (🟒 remediated GHSA-hc8v-wwc9-vgxm, GHSA-qgq7-7hm3-q39j) github.com/klauspost/compress v1.19.0 β†’ v1.19.1 github.com/magiconair/properties v1.8.10 β†’ v1.18.11 github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 β†’ v6.0.3 github.com/ulikunitz/xz v0.5.15 β†’ v0.5.16 go.yaml.in/yaml/v3 v3.0.4 β†’ v3.0.5 modernc.org/sqlite v1.54.0 β†’ v1.55.0 (Full Changelog)

First reported Aug 10, 2026 16:54 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.118.0

Added Features apk matcher does alias aware aggregation [PR #3634 @crosleyzack] Bug Fixes prevent panic on portage versions without digits [PR #3655 @ashvinctrl] grype vex does not match oci purl with repository_url [Issue #3657] [PR #3659 @spiffcs] Old JVM version comparisons sometimes incorrect [Issue #2701] [PR #3583 @Eljees] CVSSv4 calculation can produce incorrect vulnerability severity [Issue #3656] Grype 0.90.0 DB update failed [Issue #3629] Dependencies 72 dependency changes (70 updated, 1 added, 1 removed). 3 vulnerabilities remediated. 🟒 Remediated (3) GO-2026-5158 (Medium) β€” go.opentelemetry.io/otel GO-2026-6179 (High) β€” golang.org/x/mod GO-2026-6180 (High) β€” golang.org/x/mod Updated (70 packages) cel.dev/expr v0.25.1 β†’ v0.25.2 cloud.google.com/go/auth v0.18.2 β†’ v0.22.0 cloud.google.com/go/iam v1.5.3 β†’ v1.11.0 cloud.google.com/go/logging v1.13.1 β†’ v1.18.0 cloud.google.com/go/longrunning v0.8.0 β†’ v1.2.0 cloud.google.com/go/monitoring v1.24.3 β†’ v1.29.0 cloud.google.com/go/storage v1.61.3 β†’ v1.64.0 cloud.google.com/go/trace v1.11.7 β†’ v1.16.0 github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 β†’ v1.33.0 github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0 β†’ v0.57.0 github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.55.0 β†’ v0.57.0 github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.55.0 β†’ v0.57.0 github.com/anchore/stereoscope v0.3.0 β†’ v0.3.1 github.com/anchore/syft v1.51.0 β†’ v1.51.1 github.com/aws/aws-sdk-go-v2 v1.41.5 β†’ v1.43.4 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 β†’ v1.7.16 github.com/aws/aws-sdk-go-v2/config v1.32.12 β†’ v1.32.35 github.com/aws/aws-sdk-go-v2/credentials v1.19.12 β†’ v1.19.34 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 β†’ v1.18.35 github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21 β†’ v1.4.35 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21 β†’ v2.7.35 github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.22 β†’ v1.4.36 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 β†’ v1.13.15 github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.13 β†’ v1.9.28 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21 β†’ v1.13.35 github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.21 β†’ v1.19.36 github.com/aws/aws-sdk-go-v2/service/s3 v1.97.3 β†’ v1.106.5 github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 β†’ v1.5.4 github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 β†’ v1.33.4 github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 β†’ v1.38.4 github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 β†’ v1.45.4 github.com/aws/smithy-go v1.24.2 β†’ v1.27.6 github.com/containerd/containerd/v2 v2.3.3 β†’ v2.3.4 github.com/containerd/platforms v1.0.0-rc.4 β†’ v1.0.0-rc.5 github.com/docker/cli v29.6.1+incompatible β†’ v29.7.2+incompatible github.com/docker/go-connections v0.7.0 β†’ v0.8.1 github.com/fatih/color v1.18.0 β†’ v1.19.0 github.com/google/go-containerregistry v0.21.7 β†’ v0.21.9 github.com/google/pprof v0.0.0-6e76a2b β†’ v0.0.0-ef3492d github.com/googleapis/enterprise-certificate-proxy v0.3.14 β†’ v0.3.19 github.com/googleapis/gax-go/v2 v2.17.0 β†’ v2.23.0 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.72 β†’ v2.0.0-beta.74 github.com/hashicorp/go-getter v1.8.6 β†’ v1.8.8 github.com/hashicorp/go-version v1.8.0 β†’ v1.9.0 github.com/klauspost/compress v1.19.1 β†’ v1.19.2 github.com/mattn/go-isatty v0.0.20 β†’ v0.0.24 github.com/moby/moby/client v0.5.0 β†’ v0.5.1 github.com/spiffe/go-spiffe/v2 v2.6.0 β†’ v2.7.0 github.com/stretchr/objx v0.5.2 β†’ v0.5.3 github.com/stretchr/testify v1.11.1 β†’ v1.12.1 go.opentelemetry.io/contrib/detectors/gcp v1.43.0 β†’ v1.44.0 go.opentelemetry.io/otel v1.43.0 β†’ v1.44.0 (🟒 remediated GO-2026-5158) go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.40.0 β†’ v1.44.0 go.opentelemetry.io/otel/metric v1.43.0 β†’

First reported Aug 27, 2026 20:04 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.120.1

Bug Fixes run unit tests on windows and fix the handle leaks it surfaced [PR #3766 @wagoodman] Table presenter appends a spurious ", ..." to the FIX column when all fix versions are already shown [Issue #3760] [PR #3770 @arpitjain099] Dependencies 9 dependency changes (9 updated). Updated (9 packages) github.com/anchore/go-rpmdb v0.2.1 β†’ v0.2.2 github.com/anchore/stereoscope v0.3.3 β†’ v0.3.4 github.com/anchore/syft v1.54.0 β†’ v1.54.1 github.com/docker/cli v29.8.1+incompatible β†’ v29.8.2+incompatible github.com/klauspost/compress v1.20.0 β†’ v1.20.1 github.com/secure-systems-lab/go-securesystemslib v0.11.0 β†’ v0.11.1 github.com/sigstore/protobuf-specs v0.5.1 β†’ v0.5.2 github.com/sigstore/sigstore v1.10.8 β†’ v1.10.11 github.com/sylabs/sif/v2 v2.24.1 β†’ v2.24.2 (Full Changelog)

First reported Oct 06, 2026 20:46 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.115.0

Added Features emit golang.org/x/net vulns from govlundb [PR #3534 @willmurphyscode] Merge Go vuln matches with GHSA matches [Issue #3515] Bug Fixes only emit records for stdlib [PR #3527 @willmurphyscode] mark hummingbird distro as rolling [PR #3521 @willmurphyscode] disable go stdlib CPE matching by default [PR #3517 @willmurphyscode] merge in custom ranges when applicable [PR #3514 @willmurphyscode] exclude linux-kbuild deb indirect matches by default [PR #3506 @westonsteimel] avoid panic on invalid RHEL version IDs [PR #3490 @jspilman] Support reading CycloneDX 1.7 SBOMs [Issue #3373] Grype cannot read mariadb version correctly [Issue #3452] grype hangs when downloading certain images using registry client [Issue #3492] Can we get a fix for these Critical findings reported for grype [Issue #3484] Additional Changes Security: bump golang.org/x/crypto to v0.52.0 to resolve multiple CVEs [Issue #3493] Security: bump golang.org/x/net to v0.55.0 to resolve CVEs [Issue #3494] Dependencies 35 dependency changes (31 updated, 3 added, 1 removed). 5 vulnerabilities remediated. 🟒 Remediated (5) GHSA-33vj-92qq-66hc (High) β€” github.com/containerd/containerd/v2 GHSA-cvxm-645q-p574 (Medium) β€” github.com/containerd/containerd/v2 GHSA-jpcc-p29g-p8mq (Medium) β€” github.com/containerd/containerd/v2 GHSA-rgh6-rfwx-v388 (High) β€” github.com/containerd/containerd/v2 GHSA-xhf5-7wjv-pqxp (High) β€” github.com/containerd/containerd/v2 Updated (31 packages) github.com/ProtonMail/go-crypto v1.4.0 β†’ v1.4.1 github.com/anchore/bubbly v0.2.0 β†’ v0.2.1 github.com/anchore/clio v0.1.0 β†’ v0.1.1 github.com/anchore/fangs v0.1.0 β†’ v0.1.1 github.com/anchore/go-collections v0.1.0 β†’ v0.1.1 github.com/anchore/go-homedir v0.1.0 β†’ v0.1.1 github.com/anchore/go-logger v0.1.0 β†’ v0.1.1 github.com/anchore/go-lzo v0.1.0 β†’ v0.1.1 github.com/anchore/go-macholibre v0.1.0 β†’ v0.1.1 github.com/anchore/go-make v0.5.0 β†’ v0.8.0 github.com/anchore/go-struct-converter v0.1.0 β†’ v0.2.0-rc2 github.com/anchore/go-sync v0.1.0 β†’ v0.1.1 github.com/anchore/stereoscope v0.2.1 β†’ v0.2.2 github.com/anchore/syft v1.45.1 β†’ v1.46.0 github.com/charmbracelet/colorprofile v0.4.1 β†’ v0.4.3 github.com/clipperhouse/displaywidth v0.10.0 β†’ v0.11.0 github.com/clipperhouse/uax29/v2 v2.6.0 β†’ v2.7.0 github.com/containerd/containerd/v2 v2.3.1 β†’ v2.3.2 (🟒 remediated GHSA-33vj-92qq-66hc, GHSA-cvxm-645q-p574, GHSA-jpcc-p29g-p8mq, GHSA-rgh6-rfwx-v388, GHSA-xhf5-7wjv-pqxp) github.com/docker/cli v29.4.3+incompatible β†’ v29.5.3+incompatible github.com/google/go-containerregistry v0.21.6 β†’ v0.21.7 github.com/mattn/go-runewidth v0.0.19 β†’ v0.0.21 github.com/spdx/tools-golang v0.5.7 β†’ v0.6.0-rc4 github.com/sylabs/sif/v2 v2.24.0 β†’ v2.24.1 golang.org/x/crypto v0.52.0 β†’ v0.53.0 golang.org/x/mod v0.36.0 β†’ v0.37.0 golang.org/x/net v0.55.0 β†’ v0.56.0 golang.org/x/sync v0.20.0 β†’ v0.21.0 golang.org/x/sys v0.45.0 β†’ v0.46.0 golang.org/x/term v0.43.0 β†’ v0.44.0 golang.org/x/text v0.37.0 β†’ v0.38.0 golang.org/x/tools v0.45.0 β†’ v0.46.0 Added (3 packages) github.com/piprate/json-gold v0.7.0 github.com/pquerna/cachecontrol v0.0.0-1555304 github.com/tailscale/hujson v0.0.0-ecc657c Removed (1 package) github.com/google/osv-scanner v1.9.2 (Full Changelog)

First reported Jun 26, 2026 11:42 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.114.0

Added Features Add ability to scan zarf packages [#3329 #3366 @brandtkeller] Additional Changes respect withdrawn status of Go Vuln DB OSV records [#3495 @willmurphyscode] Govulndb OSV transformer [#3485 @willmurphyscode] (Full Changelog)

First reported Jun 05, 2026 16:17 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.116.1

Bug Fixes Ensure channel parsing is consistent [PR #3603 @wagoodman] Scope Go GHSA twins by shared CVE [PR #3592 @wagoodman] do not cache a comparator that failed to build [PR #3567 @arpitjain099] Add fix date to rhel minor records created from rhsa [PR #3585 @wagoodman] grype reporting CVE-64091 as critical - redhat says it is not affected [Issue #3591] panic: index out of range in distro.parseVersion for VERSION_ID=v [Issue #3588] [PR #3589 @matiasinsaurralde] False Positive: GO-2026-5932 [Issue #3573] Dependencies 30 dependency changes (30 updated). 1 vulnerability remediated. 🟒 Remediated (1) GHSA-hrxh-6v49-42gf (High) β€” google.golang.org/grpc Updated (30 packages) github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 β†’ v1.32.0 github.com/anchore/stereoscope v0.2.2 β†’ v0.3.0 github.com/anchore/syft v1.48.0 β†’ v1.50.0 github.com/cncf/xds/go v0.0.0-ee656c7 β†’ v0.0.0-dba9d58 github.com/containerd/containerd/v2 v2.3.2 β†’ v2.3.3 github.com/docker/cli v29.5.3+incompatible β†’ v29.6.1+incompatible github.com/envoyproxy/go-control-plane/envoy v1.36.0 β†’ v1.37.0 github.com/envoyproxy/protoc-gen-validate v1.3.0 β†’ v1.3.3 github.com/gkampitakis/go-snaps v0.5.22 β†’ v0.5.23 github.com/gpustack/gguf-parser-go v0.24.1 β†’ v0.25.0 github.com/moby/moby/api v1.54.2 β†’ v1.55.0 github.com/moby/moby/client v0.4.1 β†’ v0.5.0 github.com/pelletier/go-toml/v2 v2.3.1 β†’ v2.4.3 go.opentelemetry.io/contrib/detectors/gcp v1.39.0 β†’ v1.43.0 golang.org/x/crypto v0.53.0 β†’ v0.54.0 golang.org/x/mod v0.37.0 β†’ v0.38.0 golang.org/x/net v0.56.0 β†’ v0.57.0 golang.org/x/sync v0.21.0 β†’ v0.22.0 golang.org/x/sys v0.46.0 β†’ v0.47.0 golang.org/x/term v0.44.0 β†’ v0.45.0 golang.org/x/text v0.39.0 β†’ v0.40.0 golang.org/x/tools v0.47.0 β†’ v0.48.0 google.golang.org/genproto/googleapis/api v0.0.0-9d38bb4 β†’ v0.0.0-afd174a google.golang.org/genproto/googleapis/rpc v0.0.0-6f92a3b β†’ v0.0.0-afd174a google.golang.org/grpc v1.80.0 β†’ v1.82.1 (🟒 remediated GHSA-hrxh-6v49-42gf) modernc.org/cc/v4 v4.28.4 β†’ v4.29.0 modernc.org/ccgo/v4 v4.34.4 β†’ v4.34.6 modernc.org/gc/v3 v3.1.3 β†’ v3.1.4 modernc.org/libc v1.73.4 β†’ v1.74.1 modernc.org/sqlite v1.53.0 β†’ v1.54.0 (Full Changelog)

First reported Jul 28, 2026 21:45 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.120.0

Added Features Mark SLES as a comprehensive distro [PR #3732 @willmurphyscode] Store NVD SSVC decision points in a new v6 decorator table [PR #3725 @wagoodman] Adding Locations column to html template which help with triaging [PR #3092 @santrancisco] Bug Fixes sign release checksums with a sigstore bundle [PR #3759 @wagoodman] chainguard osv package ecosystem should be package type [PR #3758 @kzantow] include qualifiers for unaffected packages [PR #3734 @kzantow] render TUI log lines on their own rows, with colors and a small header [PR #3735 @wagoodman] match.dpkg.using-cpes (and match.rpm.using-cpes) is accepted but has no effect [Issue #3746] [PR #3747 @amitschendel] embedded spaces in bin location breaks install.sh [Issue #2809] [PR #3738 @bIackr0se] False positives: --add-cpes-if-none maps tomcat-embed-el to apache:tomcat CPE [Issue #3730] match.rpm.using-cpes has no effect [Issue #3752] [PR #3753 @amitschendel] Import metadata digest is not in the expected format [Issue #3388] Issue Pulling DB update [Issue #3586] Dependencies 88 dependency changes (59 updated, 27 added, 2 removed). 2 vulnerabilities remediated. 🟒 Remediated (2) GHSA-8wmf-6v46-5gfg (Low) β€” go.opentelemetry.io/otel/exporters/otlp/otlptrace, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp, go.opentelemetry.io/otel/sdk GHSA-pg57-6jwg-q645 (Medium) β€” github.com/containerd/containerd/v2 Toolchains (1) Go minimum version: 1.26.3 β†’ 1.26.8 Updated (59 packages) github.com/Microsoft/hcsshim v0.15.0-rc.1 β†’ v0.15.0-rc.4 github.com/anchore/bubbly v0.2.1 β†’ v0.2.2 github.com/anchore/go-logger v0.1.1 β†’ v0.2.0 github.com/anchore/go-rpmdb v0.2.0 β†’ v0.2.1 github.com/anchore/stereoscope v0.3.2 β†’ v0.3.3 github.com/anchore/syft v1.52.0 β†’ v1.54.0 github.com/bmatcuk/doublestar/v4 v4.10.0 β†’ v4.10.2 github.com/containerd/containerd/api v1.11.1 β†’ v1.12.0 github.com/containerd/containerd/v2 v2.3.5 β†’ v2.4.1 (🟒 remediated GHSA-pg57-6jwg-q645) github.com/containerd/log v0.1.0 β†’ v0.2.0 github.com/containerd/ttrpc v1.2.8 β†’ v1.2.9 github.com/containerd/typeurl/v2 v2.2.3 β†’ v2.3.0 github.com/cyphar/filepath-securejoin v0.6.1 β†’ v0.7.0 github.com/docker/cli v29.8.0+incompatible β†’ v29.8.1+incompatible github.com/docker/docker-credential-helpers v0.9.5 β†’ v0.9.8 github.com/dustin/go-humanize v1.0.1 β†’ v1.1.0 github.com/erofs/go-erofs v0.3.0 β†’ v0.3.1 github.com/felixge/httpsnoop v1.0.4 β†’ v1.1.0 github.com/fsnotify/fsnotify v1.9.0 β†’ v1.10.1 github.com/glebarez/go-sqlite v1.22.0 β†’ v1.23.0 github.com/go-jose/go-jose/v4 v4.1.4 β†’ v4.1.5 github.com/go-logr/logr v1.4.3 β†’ v1.4.4 github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 β†’ v2.30.0 github.com/hashicorp/hcl/v2 v2.24.0 β†’ v2.25.0 github.com/magiconair/properties v1.18.11 β†’ v1.18.12 github.com/mattn/go-runewidth v0.0.21 β†’ v0.0.27 github.com/mattn/go-sqlite3 v1.14.23 β†’ v1.14.48 github.com/moby/sys/user v0.4.0 β†’ v0.4.1 github.com/moby/sys/userns v0.1.0 β†’ v0.2.1 github.com/nwaples/rardecode/v2 v2.2.0 β†’ v2.4.1 github.com/olekukonko/tablewriter v1.1.4 β†’ v1.1.5 github.com/openvex/go-vex v0.2.8 β†’ v0.2.9 github.com/package-url/packageurl-go v0.1.5 β†’ v0.1.7 github.com/sirupsen/logrus v1.9.4 β†’ v1.10.2 github.com/ulikunitz/xz v0.5.16 β†’ v0.5.17 github.com/zclconf/go-cty v1.16.3 β†’ v1.19.0 go.etcd.io/bbolt v1.4.3 β†’ v1.5.0 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 β†’ v0.71.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 β†’ v0.71.0 go.opentelemetry.io/otel v1.44.0 β†’ v1.46.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 β†’ v1.46.0 (🟒 remediated GHSA-8wmf-6v46-5gfg) go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 β†’ v1.46.0 (🟒 remediated GHSA-8wmf-6v46-5gfg) go.opentelemetry.io/otel/metric v1.44.0 β†’ v1.46.0 go.opentelemetry.io/otel/metric/x v0.66.0 β†’ v0.68.0 go.opentelemetry.io/otel/sdk v1.44.0 β†’ v1.46.0 (🟒 remediated GHSA-8wmf-6v46-5gfg)

First reported Oct 02, 2026 14:23 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

v0.116.0

Added Features duplicate RHSAs to all applicable RHEL minor versions [PR #3542 @willmurphyscode] add chainguard osv transformer [PR #3474 @crosleyzack] populate package architecture for matching [PR #3504 @willmurphyscode] lightweight reachability analysis to reduce Golang false positives [Issue #2960] [PR #3509 @spiffcs] Deduplicate Go matches that are aliases of each other (same CVE reported under both a govulndb GO-* ID and its GHSA) [Issue #3511] [PR #3509 @spiffcs] Support Ubuntu ESM [Issue #3544] [PR #3546 @wagoodman] Bug Fixes regenerate v6.1.8 blob and sql schemas [PR #3574 @spiffcs] rhel version streams [PR #3572 @kzantow] Grype doesn't match u-boot in SBOM if type is set to firmware [Issue #2537] Ignore Go compiler affecting CVE when Docker image only contains a binary compiled with Go [Issue #1782] Zarf scans emit warnings for consistently unreadable files (i.e., included non-SBOMs) [Issue #3516] [PR #3545 @brandtkeller] Fail parsing github actions [Issue #3220] Go vulnerability returned when installed version is greater than fixed version [Issue #3520] Dependencies 14 dependency changes (11 updated, 3 added). Updated (11 packages) github.com/anchore/go-rpmdb v0.1.0 β†’ v0.2.0 github.com/anchore/syft v1.46.0 β†’ v1.48.0 github.com/klauspost/compress v1.18.6 β†’ v1.19.0 golang.org/x/text v0.38.0 β†’ v0.39.0 golang.org/x/tools v0.46.0 β†’ v0.47.0 gorm.io/gorm v1.31.1 β†’ v1.31.2 modernc.org/cc/v4 v4.28.2 β†’ v4.28.4 modernc.org/ccgo/v4 v4.34.0 β†’ v4.34.4 modernc.org/gc/v3 v3.1.2 β†’ v3.1.3 modernc.org/libc v1.72.3 β†’ v1.73.4 modernc.org/sqlite v1.51.0 β†’ v1.53.0 Added (3 packages) github.com/mattn/go-sqlite3 v1.14.23 gorm.io/driver/sqlite v1.6.0 howett.net/plist v1.0.1 (Full Changelog)

First reported Jul 16, 2026 16:52 UTCCatalog metadata updated Oct 14, 2026 12:20 UTCOpen evidence record
REPORT1 SOURCE

Preparing to Issue 200 Million Certificates in 24 Hours

On a normal day Let’s Encrypt issues nearly two million certificates. When we think about what essential infrastructure for the Internet needs to be prepared for though, we’re not thinking about normal days. We want to be prepared to respond as best we can to the most difficult situations that might arise. In some of the worst scenarios, we might want to re-issue all of our certificates in a 24 hour period in order to avoid widespread disruptions. That means being prepared to issue 200 million certificates in a day, something no publicly trusted CA has ever done. We recently completed most of the work and investments needed to issue 200 million certificates in a day and we thought we’d let people know what was involved. All of this was made possible by our sponsors and funders, including major hardware contributions from Cisco, Thales, and Fortinet. Scenarios Security and compliance events are a certainty in our industry. We obviously try to minimize them, but since we anticipate they will happen, we spend a lot of time preparing to respond in the best ways possible. In February of 2020 a bug affecting our compliance caused us to need to revoke and replace three million active certificates. That was approximately 2.6% of all active certificates. What if that bug had affected all of our certificates? That’s more than 150 million certificates covering more than 240 million domains. What if it had also been a more serious bug, requiring us to revoke and replace all certificates within 24 hours? That’s the kind of worst case scenario we need to be prepared for. To make matters worse, during an incident it takes some time to evaluate the problem and make decisions, so we would be starting revocation and reissuance somewhat after the beginning of the 24-hour clock. That means we would actually have less time once the momentous decision has been made to revoke and replace 150 million or more certificates. Infrastructure Improvements After reviewing our systems, we determined that there were four primary bottlenecks that would prevent us from replacing 200 million certificates in a day. Database performance, internal networking speed, cryptographic signing module (HSM) performance, and bandwidth. Database Performance Let’s Encrypt has a primary certificate authority database at the heart of the service we offer. This tracks the status of certificate issuance and the associated accounts. It is write heavy, with plenty of reads as well. At any given time a single database server is the writer, with some reads directed at identical machines with replicas. The single writer non-clustered strategy helps with consistency and reduces complexity, but it means that writes and some reads must operate within the performance constraints of a single machine. Our previous generation of database servers had dual Intel Xeon E5-2650 v4 CPUs, 24 physical cores in total. They had 1TB memory with 24 3.8TB SSDs connected via SATA in a RAID 10 configuration. These worked fine for daily issuance but would not be able to handle replacing all of our certificates in a single day. We have replaced them with a new generation of database server from Dell featuring dual AMD EPYC 7542 CPUs, 64 physical cores in total. These machines have 2TB of faster RAM. Much faster CPUs and double the memory is great, but the really interesting thing about these machines is that the EPYC CPUs provide 128 PCIe4 lanes each. This means we could pack in 24 6.4TB NVME drives for massive I/O performance. There is no viable hardware RAID for NVME, so we’ve switched to ZFS to provide the data protection we need. Internal Networking Let’s Encrypt infrastructure was originally built with 1G copper networking. Between bonding multiple connections for 2G performance, and use of the very limited number of 10G ports available on our switches, it served us pretty well until 2020. By 2020 the volume of data we were moving around internally was too much to handle efficiently with

First reported Feb 10, 2021 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

ISRG’s 10th Anniversary

It’s hard to believe 10 years have passed since Eric Rescorla, Alex Halderman, Peter Eckersley and I founded ISRG as a nonprofit home for public benefit digital infrastructure. We had an ambitious vision, but we couldn’t have known then the extent to which that vision would become shared and leveraged by so much of the Internet. Since its founding in 2013, ISRG’s Let’s Encrypt certificate authority has come to serve hundreds of millions of websites and protect just about everyone who uses the Web. Our Prossimo project has brought the urgent issue of memory safety to the fore, and Divvi Up is set to revolutionize the way apps collect metrics while preserving user privacy. I’ve tried to comprehend how much data about people’s lives our work has and will protect, and tried even harder to comprehend what that means if one could quantify privacy. It’s simply beyond my ability. Some of the highlights from the past ten years include: May 24, 2013: ISRG is incorporated, intending to build Let’s Encrypt November 18, 2014: The Let’s Encrypt project is announced publicly September 14, 2015: Let’s Encrypt issues its first certificate October 19, 2015: Let’s Encrypt becomes publicly trusted December 3, 2015: Let’s Encrypt becomes generally available March 8, 2016: Let’s Encrypt issues its millionth certificate June 28, 2017: Let’s Encrypt issues its 100 millionth certificate March 11, 2019: The ACME protocol becomes an IETF standard February 27, 2020: Let’s Encrypt issues its billionth certificate October 26, 2020: ISRG board approves a privacy preserving metrics project, now Divvi Up December 9, 2020: ISRG board approves a memory safety project, now Prossimo December 18, 2020: Divvi Up starts servicing COVID exposure notification October 3, 2022: Support for Rust is merged into the Linux kernel All this wouldn’t be possible without our staff, community, donors, funders, and other partners, all of whom I’d like to thank wholeheartedly. I feel so fortunate that we’ve been able to thrive. We’re fortunate primarily because great people got involved and funders stepped up, but there’s also just a bit of good fortune involved in any success story. The world is a complicated place, there is complex context that one can’t control around every effort. Despite our best efforts, fortune has a role to play in terms of the degree to which the context swirling around us helps or hinders. We have been fortunate in every sense of the word and for that I am grateful. Our work is far from over. Each of our three projects has challenges and opportunities ahead. For Let’s Encrypt, which is more critical than ever and relatively mature, our focus over the next few years will be on long-term sustainability. More and more people working with certificates can’t recall a time when Let’s Encrypt didn’t exist, and most people who benefit from our service don’t need to know it exists at all (by design!). Let’s Encrypt is just part of how the Internet works now, which is great for many reasons, but it also means it’s at risk of being taken for granted. We are making sure that doesn’t happen so we can keep Let’s Encrypt running reliably and make investments in its future. Prossimo is making a huge amount of progress moving critical software infrastructure to memory safe code, from the Linux kernel to NTP, TLS, media codecs, and even sudo/su. We have two major challenges ahead of us here. The first is to raise the money we need to complete development work. The second is to get the safer software we’ve been building adopted widely. We feel pretty good about our plans but it’s not going to be easy. Things worth doing rarely are. Divvi Up is exciting technology with a bright future. Our biggest challenge here, like most things involving cryptography, is t

First reported May 24, 2023 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Intent to End OCSP Service

Today we are announcing our intent to end Online Certificate Status Protocol (OCSP) support in favor of Certificate Revocation Lists (CRLs) as soon as possible. OCSP and CRLs are both mechanisms by which CAs can communicate certificate revocation information, but CRLs have significant advantages over OCSP. Let’s Encrypt has been providing an OCSP responder since our launch nearly ten years ago. We added support for CRLs in 2022. Websites and people who visit them will not be affected by this change, but some non-browser software might be. We plan to end support for OCSP primarily because it represents a considerable risk to privacy on the Internet. When someone visits a website using a browser or other software that checks for certificate revocation via OCSP, the Certificate Authority (CA) operating the OCSP responder immediately becomes aware of which website is being visited from that visitor’s particular IP address. Even when a CA intentionally does not retain this information, as is the case with Let’s Encrypt, CAs could be legally compelled to collect it. CRLs do not have this issue. We are also taking this step because keeping our CA infrastructure as simple as possible is critical for the continuity of compliance, reliability, and efficiency at Let’s Encrypt. For every year that we have existed, operating OCSP services has taken up considerable resources that can soon be better spent on other aspects of our operations. Now that we support CRLs, our OCSP service has become unnecessary. In August of 2023 the CA/Browser Forum passed a ballot to make providing OCSP services optional for publicly trusted CAs like Let’s Encrypt. With one exception, Microsoft, the root programs themselves no longer require OCSP. As soon as the Microsoft Root Program also makes OCSP optional, which we are optimistic will happen within the next six to twelve months, Let’s Encrypt intends to announce a specific and rapid timeline for shutting down our OCSP services. We hope to serve our last OCSP response between three and six months after that announcement. The best way to stay apprised of updates on these plans is to subscribe to our API Announcements category on Discourse. We recommend that anyone relying on OCSP services today start the process of ending that reliance as soon as possible. If you use Let’s Encrypt certificates to secure non-browser communications such as a VPN, you should ensure that your software operates correctly if certificates contain no OCSP URL. Fortunately, most OCSP implementations “fail open” which means that an inability to fetch an OCSP response will not break the system. Internet Security Research Group (ISRG) is the parent organization of Let’s Encrypt, Prossimo, and Divvi Up. ISRG is a 501(c)(3) nonprofit. If you’d like to support our work, please consider getting involved, donating, or encouraging your company to become a sponsor.

First reported Jul 23, 2024 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

New Name, New Home for the Let's Encrypt Client Software

Update: Added clarification that only the Let’s Encrypt client software is changing its name and host. The Let’s Encrypt certificate authority and associated services are not changing names or relocating. Over the next few months the Let’s Encrypt client software will transition to a new name, soon to be announced, and a new home at the Electronic Frontier Foundation (EFF). This change does not affect the Let’s Encrypt certificate authority (CA) or associated services, which will retain the Let’s Encrypt name and continue to be hosted by the Internet Security Research Group. The goal of Let’s Encrypt is to make turning on HTTPS as easy as possible. To accomplish that, it’s not enough to fully automate certificate issuance on the certificate authority (CA) side - we have to fully automate on the client side as well. The Let’s Encrypt client is now being used by hundreds of thousands of websites and we expect it to continue to be a popular choice for sites that are run from a single server or VPS. That said, the web server ecosystem is complex, and it would be impossible for any particular client to serve everyone well. As a result, the Let’s Encrypt community has created dozens of clients to meet many diverse needs. Moving forward, we feel it would be best for Let’s Encrypt to focus on promoting a generally healthy client and protocol ecosystem and for our client to move to the EFF. This will also allow us to focus our engineering efforts on running a reliable and rapidly growing CA server infrastructure. The Let’s Encrypt client goes further than most other clients in terms of end-to-end automation and extensibility, both getting certificates and in many cases installing them. This is an important strategy since major servers don’t yet have built-in support, and we want to make sure it’s given a proper chance to thrive. The EFF has led development of the Let’s Encrypt client from the beginning, and they are well-qualified to continue pursuing this strategy. The rename is happening for reasons that go beyond the move to the EFF. One additional reason for the rename is that we want the client to be distributable and customizable without having to create a complex process for deciding whether customized variants are appropriate for use with Let’s Encrypt trademarks. Another reason is that we want it to be clear that the client can work with any ACME-enabled CA in the future, not just Let’s Encrypt. We expect the client to do well at the EFF and continue to be used by many people to get certificates from Let’s Encrypt.

First reported Mar 09, 2016 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Extending Android Device Compatibility for Let's Encrypt Certificates

Update, May 13, 2021 Please visit this post on our community forum for the latest information about chain changes as some information about the changes and dates in this blog post is outdated. We’re happy to announce that we have developed a way for older Android devices to retain their ability to visit sites that use Let’s Encrypt certificates after our cross-signed intermediates expire. We are no longer planning any changes in January that may cause compatibility issues for Let’s Encrypt subscribers. A recurring theme in our posts about our upcoming chain switch has been our concern over the effects on users of Android operating systems prior to 7.1.1, whose devices don’t trust our ISRG Root X1. Thanks to some innovative thinking from our community and our wonderful partners at IdenTrust, we now have a solution that allows us to maintain wide compatibility. Critical to our mission as a nonprofit is to help create a more secure and privacy-respecting Web for as many people as possible. This work brings us closer to that goal. IdenTrust has agreed to issue a 3-year cross-sign for our ISRG Root X1 from their DST Root CA X3. The new cross-sign will be somewhat novel because it extends beyond the expiration of DST Root CA X3. This solution works because Android intentionally does not enforce the expiration dates of certificates used as trust anchors. ISRG and IdenTrust reached out to our auditors and root programs to review this plan and ensure there weren’t any compliance concerns. As such, we will be able to provide subscribers with a chain which contains both ISRG Root X1 and DST Root CA X3, ensuring uninterrupted service to all users and avoiding the potential breakage we have been concerned about. We will not be performing our previously-planned chain switch on January 11th, 2021. Instead, we will be switching to provide this new chain by default in late January or early February. The transition should have no impact on Let’s Encrypt subscribers, much like our switch to our R3 intermediate earlier this month. Some additional technical details follow. I’m an ACME client developer, what do I need to do? If your client handled the X3 to R3 transition smoothly, then you shouldn’t need to take action. Ensure that your client correctly uses the intermediate certificate provided by the ACME API at the end of issuance, and doesn’t retrieve intermediates by other means (e.g. hardcoding them, reusing what is on disk already, or fetching from AIA URLs). I’m a Let’s Encrypt subscriber, what do I need to do? In the vast majority of cases, nothing. If you want to double check, please ensure that your ACME client is up-to-date. I use an old Android device, what do I need to do? Nothing! We’re trying to ensure that this change is completely invisible to end-users. What exactly is changing? Today, when a subscriber fetches their certificate from our API, we provide the following chain by default: Subscriber Certificate < – R3 < – DST Root CA X3 After this change, we will instead provide this chain by default: Subscriber Certificate < – R3 < – ISRG Root X1 < – DST Root CA X3 This does mean that the default chain we provide to subscribers will be larger than before, because it contains two intermediates instead of just one. This will make TLS handshakes larger and slightly less efficient, but the tradeoff is worthwhile for the extra compatibility. But isn’t DST Root CA X3 expiring? The self-signed certificate which represents the DST Root CA X3 keypair is expiring. But browser and OS root stores don’t contain certificates per se, they contain β€œtrust anchors”, and the standards for verifying certificates allow implementations to choose whether or not to use fields on trust anchors. Android has intentionally chosen not to use the notAfter field of trust anchors. Just as our ISRG Root X1 hasn’t been added to older Android trust stores, DST Root CA X3 hasn’t bee

First reported Dec 21, 2020 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Let's Encrypt Root Trusted By All Major Root Programs

As of the end of July 2018, the Let’s Encrypt root, ISRG Root X1, is directly trusted by Microsoft products. Our root is now trusted by all major root programs, including Microsoft, Google, Apple, Mozilla, Oracle, and Blackberry. Today’s announcement that we’re trusted by all major root programs represents a major milestone for us, but it’s not the conclusion of our journey towards being directly trusted everywhere. Certificates from Let’s Encrypt have been widely trusted since our first issuance because of a cross-signature from another CA called IdenTrust. Browsers and operating systems have not, by default, directly trusted Let’s Encrypt certificates, but they trust IdenTrust, and IdenTrust trusts us, so we are trusted indirectly. IdenTrust is a critical partner in our effort to secure the Web, as they have allowed us to provide widely trusted certificates from day one. While Let’s Encrypt is now directly trusted by almost all newer versions of operating systems, browsers, and devices, there are still many older versions in the world that do not directly trust Let’s Encrypt. Some of those older systems will eventually be updated to trust Let’s Encrypt directly. Some will not, and we’ll need to wait for the vast majority of those to cycle out of the Web ecosystem. We expect this will take at least five more years, so we plan to use a cross signature until then. As a subscriber of Let’s Encrypt, today’s milestone does not require any action on your part. Just continue to use best practices, including making sure that your ACME client (e.g. Certbot or an alternative) is regularly receiving software updates. Let’s Encrypt is currently providing certificates for more than 115 million websites. We look forward to being able to serve even more websites as efforts like this make deploying HTTPS with Let’s Encrypt even easier. If you’re as excited about the potential for a 100% HTTPS Web as we are, please consider getting involved, making a donation, or sponsoring Let’s Encrypt.

First reported Aug 06, 2018 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

How We Reduced the Impact of Zombie Clients

Every night, right around midnight (mainly UTC), a horde of zombies wakes up and clamors for … digital certificates! The zombies in question are abandoned or misconfigured Internet servers and ACME clients that have been set to request certificates from Let’s Encrypt. As our certificates last for at most 90 days, these zombie clients’ software knows that their certificates are out-of-date and need to be replaced. What they don’t realize is that their quest for new certificates is doomed! These devices are cursed to seek certificates again and again, never receiving them. But they do use up a lot of certificate authority resources in the process. The Zombie Client Problem Unlike a human being, software doesn’t give up in frustration, or try to modify its approach, when it repeatedly fails at the same task. Our emphasis on automation means that the vast majority of Let’s Encrypt certificate renewals are performed by automated software. This is great when those renewals succeed, but it also means that forgotten clients and devices can continue requesting renewals unsuccessfully for months, or even years. How might that happen? Most often, it happens when a device no longer has a domain name pointed to it. The device itself doesn’t know that this has changed, so it treats renewal failures as transient even though they are actually permanent. For instance: An organization may have allowed a domain name registration to lapse because it is no longer needed, but its servers are still configured to request certs for it. Or, a home user stopped using a particular dynamic-DNS domain with a network-attached storage device, but is still using that device at home. The device doesn’t realize that the user no longer expects to use the name, so it keeps requesting certs for it. Or, a web hosting or CDN customer migrated to a different service provider, but never informed the old service provider. The old service provider’s servers keep requesting certs unsuccessfully. If the customer was in a free service tier, there might not be invoices or charges reminding the customer to cancel the service. Or any number of other, subtler changes in a subscriber’s infrastructure, such as changing a firewall rule or some webserver configuration. At the scale of Let’s Encrypt, which now covers hundreds of millions of names, scenarios like these have become common, and their impact has become substantial. In 2024, we noticed that about half of all certificate requests to the Let’s Encrypt ACME API came from about a million accounts that never successfully complete any validations. Many of these had completed validations and issued certificates sometime in the past, but nowadays every single one of their validation attempts fails, and they show no signs that this will change anytime soon. Unfortunately, trying to validate those futile requests still uses resources. Our CA software has to generate challenges, reach out and attempt to validate them over the Internet, detect and report failures, and record all of the associated information in our databases and audit logs. And over time, we’ve seen more and more recurring failures: accounts that always fail their issuance requests have been growing at around 18% per year. In January, we mentioned that we had been addressing the zombie client problem through our rate limit system. This post provides more detail on that progress.Β  Our Rate Limit Philosophy If you’ve used Let’s Encrypt as a subscriber, you may have run into one of our rate limits at some point, maybe during your initial setup process. We have eight different kinds of rate limits in place now; as our January post describes, they’ve become more algorithmically sophisticated and grown to address a wider range of problems. A key principle for Let’s Encrypt is that our rate limiting is not a punishment. We don’t think of rate limits as a way of

First reported Jun 04, 2025 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

DNS-PERSIST-01: A New Model for DNS-based Challenge Validation

When you request a certificate from Let’s Encrypt, our servers validate that you control the hostnames in that certificate using ACME challenges. For subscribers who need wildcard certificates or who prefer not to expose infrastructure to the public Internet, the DNS-01 challenge type has long been the only choice. DNS-01 works well. It is widely supported and battle-tested, but it comes with operational costs: DNS propagation delays, recurring DNS updates at renewal time, and automation that often requires distributing DNS credentials throughout your infrastructure. We are implementing support for a new ACME challenge type, DNS-PERSIST-01, based on a new IETF draft specification. As the name implies, it uses DNS as the validation mechanism, but replaces repeated demonstrations of control with a persistent authorization record bound to a specific ACME account and CA. The draft describes this method as being “particularly suited for environments where traditional challenge methods are impractical, such as IoT deployments, multi-tenant platforms, and scenarios requiring batch certificate operations”. DNS-01 Proves Control Repeatedly With DNS-01, validation relies on a one-time token generated by us. Your ACME client publishes a TXT record containing that token at _acme-challenge.<YOUR_DOMAIN>, and we query DNS to confirm that it matches the expected value. Because each authorization requires a new token, DNS updates become part of the issuance workflow. The benefit is that each successful validation provides fresh proof that you currently control DNS for the name being issued. In practice, this often means DNS API credentials live somewhere in your issuance pipeline, validation attempts involve waiting for DNS propagation, and DNS changes happen frequently β€” sometimes many times per day in large deployments. Many subscribers accept these tradeoffs, but others would prefer to keep DNS updates and sensitive credentials out of their issuance path. DNS-PERSIST-01 Authorizes Persistently DNS-PERSIST-01 approaches validation differently. Instead of publishing a new challenge record for each issuance, you publish a standing authorization in the form of a TXT record that identifies both the CA and the specific ACME account you authorize to issue for this domain. For the hostname example.com, the record would live at _validation-persist.example.com: _validation-persist.example.com. IN TXT ( "letsencrypt.org;" " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890" ) Once this record exists, it can be reused for new issuance and all subsequent renewals. Operationally, this removes DNS changes from the critical path. Security and Operational Tradeoffs With DNS-01, the sensitive asset is DNS write access. In many deployments, DNS API credentials are distributed throughout issuance and renewal pipelines, increasing the number of places an attacker might compromise them. DNS-PERSIST-01 instead binds authorization directly to an ACME account, allowing DNS write access to remain more tightly controlled after initial setup. The tradeoff is that, because the authorization record persists over time, protecting the ACME account key becomes the central concern. Controlling Scope and Lifetime DNS-PERSIST-01 also introduces explicit scope controls. Without additional parameters, authorization applies only to the validated Fully Qualified Domain Name (FQDN) and remains valid indefinitely. Wildcard Certificates Adding policy=wildcard broadens the authorization scope to include the validated FQDN, wildcard certificates such as *.example.com, and subdomains whose suffix matches the validated FQDN: _validation-persist.example.com. IN TXT ( "letsencrypt.org;" " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890;" " policy=wildcard" ) Optional Expiration Subscribers who aren’t comfortable with authorization persisting indefinitely can include a

First reported Feb 18, 2026 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Draft Let's Encrypt Subscriber Agreement

Update 2015-10-12: These documents are now out of date. Please visit our Policy and Legal Repository for up-to-date documents. Today we’re publishing the first public draft of the Let’s Encrypt Subscriber Agreement. We’ve attempted to create terms that are sensible for both our organization and our subscribers, and we want to give people a chance to review them before we start issuing certificates. Please let us know if you have any questions or comments.

First reported May 21, 2015 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Progress Towards 100% HTTPS, June 2016

Our goal with Let’s Encrypt is to get the Web to 100% HTTPS. We’d like to give a quick progress update. Let’s Encrypt has issued more than 5 million certificates in total since we launched to the general public on December 3, 2015. Approximately 3.8 million of those are active, meaning unexpired and unrevoked. Our active certificates cover more than 7 million unique domains. A couple of different factors have contributed heavily to this growth. The first is large-scale deployments from companies such as OVH, WordPress.com, Akamai, Shopify, Dreamhost, and Bitly. The second is our ability to serve individual sites globally with a focus on ease-of-use. If we’re going to get to 100% HTTPS we need to reach the β€œlong tail” of the Web, which is in many ways more challenging due to the number of parties involved and widely varying degrees of technical competency. Our progress is accelerating the growth of HTTPS on the Web in general. When we launched in December of 2015, 39.5% of page loads on the Web used HTTPS (as measured by Firefox Telemetry). By mid-April 2016 that number was up to 42% and today it stands at 45%. This is an incredible rate of change for the Web. We’re really excited about our early progress. Getting to 50% HTTPS page loads in 2016 used to seem like an overly ambitious goal but now it seems within reach. Let’s get there! Let’s Encrypt depends on industry and community support. Please consider getting involved, and if your company or organization would like to sponsor Let’s Encrypt please email us at sponsor@letsencrypt.org.

First reported Jun 22, 2016 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

How Pebble Supports ACME Client Developers

How Pebble Supports ACME Client Developers Together with the IETF community, we created the ACME standard to support completely automated certificate issuance. This open standard is now supported by dozens of clients. On the server side, did you know that we have not one but two open-source ACME server implementations? The big implementation, which we use ourselves in production, is called Boulder. Boulder handles all of the facets and details needed for a production certificate authority, including policy compliance, database interfaces, challenge verifications, and logging. You can adapt and use Boulder yourself if you need to run a real certificate authority, including an internal, non-publicly-trusted ACME certificate authority within an organization. The small implementation is called Pebble. It’s meant entirely for testing, not for use as a real certificate authority, and we and ACME client developers use it for various automated and manual testing purposes. For example, Certbot has used Pebble in its development process for years in order to perform a series of basic but realistic checks of the ability to request and obtain certificates from an ACME server. Pebble is Easy to Use for ACME Client Testing For any developer or team creating an ACME client application, Pebble solves a range of problems along the lines of “how do I check whether I’ve implemented ACME correctly, so that I could actually get certificates from a CA, without necessarily using a real domain name, and without running into CA rate limits during my routine testing?” Pebble is quick and easy to set up if you need to test an ACME client’s functionality. It runs in RAM without dependencies or persistence; you won’t need to set up a database or a configuration for it. You can get Pebble running with a single golang command in just a few seconds, and immediately start making local ACME requests. That’s suitable for inclusion in a client’s integration test suite, making much more realistic integration tests possible without needing to worry about real domains, CA rate limits, or network outages. We see Pebble getting used in the official test suites for ACME clients including getssl, Lego, Certbot, simp_le, and others. In many cases, every change committed to the ACME client’s code base is automatically tested against Pebble. Pebble is Intentionally Different From Boulder Pebble is also deliberately different from Boulder in some places in order to provide clients with an opportunity to interoperate with slightly different ACME implementations. The Pebble code explains that [I]n places where the ACME specification allows customization/CA choice Pebble aims to make choices different from Boulder. For instance, Pebble changes the path structures for its resources and directory endpoints to differ from Boulder. The goal is to emphasize client specification compatibility and to avoid "over-fitting" on Boulder and the Let's Encrypt production service. For instance, the Let’s Encrypt service currently offers its newAccount resource at the path /acme/new-acct, whereas Pebble uses a different name /sign-me-up, so clients will be reminded to check the directory rather than assuming a specific path. Other substantive differences include: Pebble rejects 5% of all requests as having an invalid nonce, even if the nonce was otherwise valid, so clients can test how they respond to this error condition Pebble only reuses valid authorizations 50% of the time, so clients can check their ability to perform validations when they might not have expected to Pebble truncates timestamps to a different degree of precision than Boulder Unlike Boulder, Pebble respects the notBefore and notAfter fields of new-order requests The ability of ACME clients to work with both versions is a good test of their conformance to the ACME specification, rather than making assumptions about the current behavi

First reported Apr 30, 2025 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Our First Certificate Is Now Live

Let’s Encrypt passed another major milestone by issuing our first certificate. You can see it in action here. Our cross signature is not yet in place, however this certificate is fully functional for clients with the ISRG root in their trust store. When we are cross signed, approximately a month from now, our certificates will work just about anywhere while our root propagates. We submitted initial applications to the root programs for Mozilla, Google, Microsoft, and Apple today. We’re thrilled to finally be a live CA. We’ll be working towards general availability over the next couple of months by issuing certificates to domains participating in our beta program. You can request that your domain be included in our beta program by clicking here. If you want to get involved with Let’s Encrypt, please visit this page.

First reported Sep 14, 2015 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record
REPORT1 SOURCE

Updated Let's Encrypt Launch Schedule

We can’t wait to see websites turn on TLS with Let’s Encrypt. Trust is our most important asset, however, and we need to take the necessary time to make sure our systems are secure and stable. We’ve decided to push our launch schedule back a bit to give us time to further improve our systems. Our new schedule is: First certificate: Week of September 7, 2015 General availability: Week of November 16, 2015 In the ten weeks between these two dates we’ll gradually issue more and more certificates. We’ll start by issuing a small number of certs to whitelisted domains and expand our issuance as we gain confidence in our systems (stay tuned for instructions on getting your domains added to our early-access whitelist). When it’s time for general availability we will open up our systems to all requests. A cross-signature will be in place before general availability. This will allow certificates from Let’s Encrypt to validate automatically for the vast majority of consumers. Prior to cross-signing, browsers will not accept our certificates as valid unless a user has installed our root as trusted. I want to thank our staff, partners, sponsors, and contributors. We’re making great progress, despite this delay, and it’s all possible due to their hard work.

First reported Aug 07, 2015 00:00 UTCCatalog metadata updated Oct 14, 2026 12:12 UTCOpen evidence record

The public shared-host view reaches the newest 2,400 matching records. Narrow the filters or search an exact MD5, SHA-1, or SHA-256 value to reach a specific record.

A filename, label, or report mention alone does not establish maliciousness. Observation dates describe cited sources; collection dates describe this local metadata catalog. No malware samples are stored, fetched, or executed by these pages.