Context
The Dependency audit job in security-scan.yml had never actually run. Its dtolnay/rust-toolchain pin resolved to a commit that exists in no ref of that repo, and that action silently skips its steps rather than failing — so the job died later with a misleading sccache: command not found and never reached cargo audit. See #371.
With the toolchain pin fixed in #372, the job ran for the first time and reported 10 advisories across 465 dependencies. These are all pre-existing and were simply invisible until now — nothing in #372 introduced them.
To keep #372 mergeable, cargo audit is set continue-on-error: true there: it reports without blocking. Restore blocking once this backlog is cleared (remove continue-on-error from the cargo audit (Rust workspace) step).
Advisories
Plus: crate spin is yanked.
Suggested approach
cargo update for everything that resolves without a semver-major bump; re-run cargo audit to see what is left.
- For the remainder, decide per advisory whether the vulnerable path is actually reachable from our code — several of these are in transitive deps we never call into on the affected path. Record the reasoning.
- RUSTSEC-2024-0363 (sqlx) deserves its own look: the workspace pins sqlx 0.7 across four crates, and moving off it is a real upgrade rather than a lockfile bump. Note the CI
sqlx-cli version is coupled to this — see the pinning note in ci.yml.
- Anything genuinely unfixable and unreachable belongs in an
ignore list in audit.toml with a written justification and a review date, mirroring the process .trivyignore already documents.
- Remove
continue-on-error from the audit step so the job blocks again.
Related
Context
The
Dependency auditjob insecurity-scan.ymlhad never actually run. Itsdtolnay/rust-toolchainpin resolved to a commit that exists in no ref of that repo, and that action silently skips its steps rather than failing — so the job died later with a misleadingsccache: command not foundand never reachedcargo audit. See #371.With the toolchain pin fixed in #372, the job ran for the first time and reported 10 advisories across 465 dependencies. These are all pre-existing and were simply invisible until now — nothing in #372 introduced them.
To keep #372 mergeable,
cargo auditis setcontinue-on-error: truethere: it reports without blocking. Restore blocking once this backlog is cleared (removecontinue-on-errorfrom thecargo audit (Rust workspace)step).Advisories
crossbeam-epoch— invalid pointer dereference in thefmt::Pointerimpl forAtomic/Sharedwhen the underlying pointer is null. Only affectsfmt::Display;fmt::Debugis unaffected.sqlxcaused by truncating casts. Directly relevant — the workspace is on sqlx 0.7.pasteunmaintained.Plus: crate
spinis yanked.Suggested approach
cargo updatefor everything that resolves without a semver-major bump; re-runcargo auditto see what is left.sqlx-cliversion is coupled to this — see the pinning note inci.yml.ignorelist inaudit.tomlwith a written justification and a review date, mirroring the process.trivyignorealready documents.continue-on-errorfrom the audit step so the job blocks again.Related