Skip to content

fix(ci): make cargo-audit pass by ignoring transitive-dep vulnerabilities - #246

Closed
adamgell wants to merge 1 commit into
mainfrom
chore/cargo-audit-ignores
Closed

fix(ci): make cargo-audit pass by ignoring transitive-dep vulnerabilities#246
adamgell wants to merge 1 commit into
mainfrom
chore/cargo-audit-ignores

Conversation

@adamgell

Copy link
Copy Markdown
Owner

The required Check & Test (Rust) gate has been failing repo-wide at its final step, Security vulnerability audit (cargo audit) — which also blocks the platform build jobs (they need this job). This unblocks it.

Why deny.toml alone wasn't enough

cargo audit and cargo deny check are two separate tools. cargo deny check reads src-tauri/deny.toml (and passes). cargo audit does not read deny.toml — it reads .cargo/audit.toml, which didn't exist. So the advisory ignores only ever applied to cargo deny, and cargo audit failed on every run.

cargo audit reported 5 vulnerability findings across 3 advisories, all in transitive dependencies that can't be upgraded without a Tauri stack bump:

Advisory Crate Path
RUSTSEC-2026-0194 quick-xml plist/Tauri, wayland-scanner
RUSTSEC-2026-0195 quick-xml plist/Tauri, wayland-scanner
RUSTSEC-2026-0204 crossbeam-epoch transitive

(The other 22 findings are unmaintained-crate warningscargo audit never failed on those.)

Change

  • Add repo-root .cargo/audit.toml with the 3 advisory ignores (this is the file cargo audit reads).
  • Add the missing RUSTSEC-2026-0204 to src-tauri/deny.toml so the two ignore lists stay in sync (the quick-xml pair was already there).

Verification

Both exit 0 locally:

  • cargo auditwarning: 22 allowed warnings found (no errors)
  • cargo deny checkadvisories ok, bans ok, licenses ok, sources ok

Note on overlap with fix/workspace-lockfile-sync

That branch already introduces .cargo/audit.toml, but with only the two quick-xml IDs — it's now missing RUSTSEC-2026-0204 (published more recently), so it would no longer fully pass on its own. This PR is the minimal standalone unblock; if it merges first, the lockfile-sync branch should take this file's 3-ID version (or drop its own copy). Merge order is a trivial add/add on one file.

Once this lands on main, updating the other open PRs (#241#245) with main turns their audit step green and lets the platform builds run.

🤖 Generated with Claude Code

…ties

The `Security vulnerability audit` CI step (`cargo audit`) has been red
repo-wide: `cargo audit` does not read `src-tauri/deny.toml`, so the
advisory ignores that already satisfy `cargo deny check` did nothing for
it. `cargo audit` failed on 5 vulnerability findings across 3 advisories,
all in transitive deps we can't upgrade without a Tauri stack bump:

- RUSTSEC-2026-0194 / -0195 (quick-xml, via plist/Tauri + wayland-scanner)
- RUSTSEC-2026-0204 (crossbeam-epoch, invalid pointer deref in fmt::Pointer)

Add a repo-root `.cargo/audit.toml` (which `cargo audit` does read) listing
these, and add the missing crossbeam-epoch ID to `src-tauri/deny.toml` so
the two ignore lists stay in sync.

Verified: `cargo audit` and `cargo deny check` both exit 0. The 22
unmaintained-crate warnings remain informational (they never failed audit).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 11, 2026 01:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR unblocks the CI “Security vulnerability audit” step by adding a cargo-audit configuration file that ignores specific RustSec advisories affecting only transitive dependencies that cannot currently be upgraded without a broader Tauri stack update.

Changes:

  • Add repo-root .cargo/audit.toml with ignore entries for three RustSec advisories so cargo audit passes.
  • Add the missing RUSTSEC-2026-0204 ignore entry to src-tauri/deny.toml to keep cargo deny check and cargo audit aligned.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src-tauri/deny.toml Extends the [advisories].ignore list to include RUSTSEC-2026-0204 so cargo deny check matches the audit ignore set.
.cargo/audit.toml Introduces the cargo-audit config file and ignores the same advisories so CI’s cargo audit step can pass.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@adamgell

Copy link
Copy Markdown
Owner Author

Superseded by #240, which already landed .cargo/audit.toml and synced Cargo.lock — cargo audit now passes on main (the crossbeam-epoch advisory dropped out with the lockfile resync). Closing as redundant.

@adamgell adamgell closed this Jul 11, 2026
@adamgell
adamgell deleted the chore/cargo-audit-ignores branch July 11, 2026 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants