ci: declare cachekit-core first-party for cargo-vet (end self-audit treadmill)#47
Merged
Conversation
…readmill) The weekly Security gate's "Cargo Vet (Supply Chain)" job has been red since the 0.2.1 release. The sole unvetted "dependency" was cachekit-core itself: [policy.cachekit-core] set audit-as-crates-io = true, forcing cargo-vet to audit the crate as a third-party crates.io download — satisfied only by [[exemptions.cachekit-core]] pinned to 0.2.0. Every version bump leaves that exemption stale and re-reds the gate until someone hand-runs `cargo vet certify`. A pure treadmill with zero security value. cachekit-core is the first-party crate of this repo: the local source IS the crate, so auditing it against crates.io is circular. Declaring audit-as-crates-io = false (and dropping the now-unused self-exemption) fixes it permanently with no loss of vetting over genuine third-party deps. Verified: `cargo vet --locked` -> "Vetting Succeeded (83 fully audited, 5 partially audited, 97 exempted)".
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughIn Changescargo-vet Supply Chain Config
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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.
Problem
The weekly Security workflow's
Cargo Vet (Supply Chain)job has been red since the 0.2.1 release (run 27465817162, 2026-06-13). Everything else in that run is green — all 11 Kani proofs and all 16 deep-fuzz targets (1h each) pass. The only failure:The sole "unvetted dependency" is cachekit-core itself.
config.tomlhad:[policy.cachekit-core] audit-as-crates-io = true— forces cargo-vet to audit the crate as if it were a third-party crates.io download[[exemptions.cachekit-core]] version = "0.2.0"— the matching self-exemptionWhen
0.2.1published, the exemption stayed pinned to0.2.0, so cargo-vet demanded a self-audit of the bump. This re-reds the gate on every release until someone hand-runscargo vet certify— a treadmill with zero security value.Fix
cachekit-core is the first-party crate of this repo — the local source is the crate, so auditing it against crates.io is circular. Declare it first-party:
audit-as-crates-io = false[[exemptions.cachekit-core]]No loss of supply-chain coverage over genuine third-party deps; permanently ends the per-release re-red.
Verification
Diff is 1 insertion / 5 deletions in
supply-chain/config.toml(canonicalized viacargo vet fmt).Summary by CodeRabbit