ci: audit every tracked Cargo.lock, and bump quinn-proto in the nested lock (RUSTSEC-2026-0185) - #889
Merged
Merged
Conversation
…d lock The security audit read only the root Cargo.lock. The nested dsm_client workspace lock (the test board and make android-libs) and the dsm-android-anchor lock (the shipped Android library) carried advisories it never saw: RUSTSEC-2026-0285, fixed in #887, and RUSTSEC-2026-0185. ci/audit_every_lockfile.sh audits every lockfile git tracks, reports all failures before exiting, and refuses an empty list. The CI and release security audits, make audit and make release-preflight call it. The nested lock moves quinn-proto 0.11.14 to 0.11.15 so the widened gate starts green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
ci/audit_every_lockfile.shrunscargo audit -fon everyCargo.lockthatgit ls-fileslists. That is 8 today: root,dsm_client/deterministic_state_machine,dsm-android-anchor,dsm-anchor-hw-verifier,dsm-anchor-bench,dsm-anchor-nonsecure-app,dsm-anchor-pico,tools/dsm_guarded_reference. It audits all of them before failing, and refuses an empty list rather than passing vacuously.make auditandmake release-preflightcall the script instead of root-onlycargo audit.dsm_client/deterministic_state_machine/Cargo.lockmoves quinn-proto 0.11.14 to 0.11.15 (RUSTSEC-2026-0185). It was the only lockfile failing, so the widened gate starts green.Why
The audit read only the root lockfile. The nested workspace lock is what the test board and
make android-libsresolve through, and thedsm-android-anchorlock is what the shipped Android library resolves through. RUSTSEC-2026-0285 (fixed in #887) and RUSTSEC-2026-0185 sat in those locks unreported. The list comes from git, so a new lockfile is audited from the commit that adds it.Verification
main's nested lock restored, the script exits 1 and names RUSTSEC-2026-0185 and that lockfile. The bumped lock was put back and compared byte-identical.ci/**,.github/**and**/Cargo.lockare full triggers inci/layers.toml, so Rust gates runs on this PR.Warnings (unmaintained, unsound, yanked) stay allowed as before, and the ignores in
.cargo/audit.tomlapply to every lockfile because each audit runs from the repository root.