- 385
- Merged PRs
- 91
- Projects
- 16
- Engineers
2025 by month


Each square is one PR we merged into a project outside Trail of Bits, stacked in a column for each month and colored by category. Click a category to show only its PRs, click a month to see it day by day, or click a square to see the PR and the rest of that project's PRs.
2025 by month
These seven milestones come from our work with the Python Packaging Authority, PyPI and Sigstore. Drag the slider, use the arrows or click a card to move through them, and open any milestone to read the post or proposal behind it.
OIDC-based publishing for PyPI replaces long-lived API tokens with short-lived tokens scoped to a CI identity. Google's Open Source Security Team funded this work.
Adoption
By November 2024, 19,578 PyPI projects had registered a Trusted Publisher, and about 447,000 files had been published through it.
We implemented PEP 740 index-hosted attestations using Sigstore, and they are enabled by default in the official PyPI publish action.
Reach
About 20,000 packages could publish attestations by default when the feature launched.
Maintainers can now mark a project as archived to show downstream users that it no longer receives updates. Alpha-Omega funded this work.
Funding
Alpha-Omega funded this work as part of our long-running collaboration with PyPI.
This post explains the trust assumptions behind package installs and how build provenance and signing address them.
Covers
The post connects Trusted Publishing, PEP 740 attestations and Homebrew build provenance, and introduces our It-Depends and Deptective tools.
We made rekor-monitor ready for production use, so PyPI and npm maintainers are alerted when their signing identity is misused. OpenSSF funded this work.
Scale
We merged 39 PRs into rekor-monitor during 2025, with funding from OpenSSF.
We replaced hard-coded algorithms with configurable algorithm suites across Fulcio, Rekor, Cosign and sigstore-go, which prepares Sigstore for post-quantum signing.
Funding
Google, OpenSSF and Hewlett-Packard funded parts of this two-year effort, which also produced our lms-go and ml-dsa Go libraries.
We have written a draft PEP and run a test log that records every PyPI artifact and its publishing identity in a tamper-evident log.
Estimate
The proposal estimates about 4 GB of log data and about 40 GB of proofs to cover 22 million PyPI entries.
We publicly release nearly all of our internal tooling. The full catalog on the Open Source tools page groups each tool by the problem it solves.
Slither
Slither runs static analysis on Solidity and Vyper code, with built-in detectors and an API for custom checks.
View toolEchidna
Echidna is a property-based fuzzer that generates grammar-based inputs to test the invariants of Ethereum contracts.
View toolButtercup
Buttercup is our AIxCC cyber reasoning system, which finds and patches vulnerabilities in open-source code.
View toolSkills
Our security research and audit workflows are published as skills for AI coding agents.
View toolYou can fork our repositories, file issues and send pull requests. Most of what we build is public.
Patch the Planet
Patch the Planet gives selected maintainers a week of dedicated security engineering, including patches.