Skip to content

feat: add cargo audit CI pipeline [ENG-5667]#550

Open
pistomat wants to merge 2 commits intomainfrom
mp/add-cargo-audit-ci
Open

feat: add cargo audit CI pipeline [ENG-5667]#550
pistomat wants to merge 2 commits intomainfrom
mp/add-cargo-audit-ci

Conversation

@pistomat
Copy link
Copy Markdown
Contributor

@pistomat pistomat commented Mar 10, 2026

Summary

  • Add .github/workflows/security.yml running cargo audit and cargo machete on push to main and PRs
  • Add minimum version constraints in Cargo.toml for vulnerable transitive deps:
    • ruint >= 1.17.1 (RUSTSEC-2025-0137)
    • alloy-dyn-abi >= 1.4.1 (existing)
    • bytes >= 1.11.1 (RUSTSEC-2026-0007)
    • quinn-proto >= 0.11.14 (RUSTSEC-2026-0037)
    • time >= 0.3.47 (RUSTSEC-2026-0009)
  • Add .cargo/audit.toml to ignore unfixable advisories:
    • RUSTSEC-2025-0020 (pyo3 0.19.2): requires major version jump to >=0.24.1
    • RUSTSEC-2025-0055 (tracing-subscriber 0.2.25): transitive dep via ark-relations → revm, not part of compiled binary
  • Remove unused dependencies detected by cargo-machete across workspace members
  • Add [package.metadata.cargo-machete] ignore entries for false positives

Test plan

  • cargo audit passes locally with 0 vulnerabilities
  • cargo machete passes locally
  • cargo check --workspace passes
  • Security audit CI passes on this PR

Related: ENG-5667

🤖 Generated with Claude Code

pistomat and others added 2 commits March 11, 2026 10:50
Add security.yml workflow running cargo audit on push to main and PRs.

Update vulnerable dependencies:
- bytes 1.10.1 → 1.11.1 (RUSTSEC-2026-0007)
- quinn-proto 0.11.13 → 0.11.14 (RUSTSEC-2026-0037)
- ruint 1.17.0 → 1.17.2 (RUSTSEC-2025-0137)
- time 0.3.44 → 0.3.47 (RUSTSEC-2026-0009)

Ignore unfixable advisories via .cargo/audit.toml:
- RUSTSEC-2025-0020: pyo3 0.19.2 (needs >=0.24.1, major version jump)
- RUSTSEC-2025-0055: tracing-subscriber 0.2.25 (transitive via ark-relations → revm)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove genuinely unused dependencies detected by cargo-machete:
- mini-moka, uuid from root crate
- dotenv, futures, itertools, lru, num-traits, rand, tracing-subscriber,
  tycho-client from tycho-test
- alloy-chains, colored, serde, serde_json from tycho-integration-test
- tokio from tycho_simulation_py

Add cargo-machete ignore entries for false positives (ruint version floor,
strum used via strum_macros derive).

Add detect-unused-dependencies job to security.yml CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@pistomat pistomat force-pushed the mp/add-cargo-audit-ci branch from b036f24 to 17769f3 Compare March 11, 2026 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant