Skip to content

Commit 5377875

Browse files
committed
fix(ci): add daily full audit job to track when ignored advisories get fixes
The audit-full job runs daily without --ignore flags so we are notified when RUSTSEC-2023-0071 (or any future ignored advisory) gets a fix. It uses continue-on-error so it does not block PRs.
1 parent f0818de commit 5377875

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

.github/workflows/security-audit.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
runs-on: ubuntu-latest
2222
steps:
2323
- name: Checkout repository
24+
# yamllint disable-line rule:line-length
2425
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2526

2627
- name: Setup Rust with caching
@@ -41,3 +42,30 @@ jobs:
4142
run: >-
4243
cargo audit --deny warnings
4344
--ignore RUSTSEC-2023-0071
45+
46+
# Separate job: run audit WITHOUT ignores to surface when
47+
# fixes become available. Failures here are informational
48+
# (do not block PRs).
49+
audit-full:
50+
name: Full Audit (informational)
51+
runs-on: ubuntu-latest
52+
if: github.event_name == 'schedule'
53+
continue-on-error: true
54+
steps:
55+
- name: Checkout repository
56+
# yamllint disable-line rule:line-length
57+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
58+
59+
- name: Setup Rust with caching
60+
uses: ./.github/actions/setup-rust-cached
61+
with:
62+
toolchain: stable
63+
cache-key: audit-full
64+
65+
- name: Install cargo-audit
66+
uses: ./.github/actions/install-cargo-tool
67+
with:
68+
tool: cargo-audit
69+
70+
- name: Run full audit (no ignores)
71+
run: cargo audit --deny warnings

deny.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ version = 2
2323
# All advisory types (vulnerability, unmaintained, unsound, notice, yanked) default to deny
2424
ignore = [
2525
# rsa crate timing side-channel — we only use HMAC-SHA256 via jsonwebtoken,
26-
# never RSA. Transitive dep from rust_crypto feature.
27-
"RUSTSEC-2023-0071",
26+
# never RSA. Transitive dep from rust_crypto feature. No upstream fix yet.
27+
# Tracked by: daily audit-full job (runs without ignores, surfaces when fix lands)
28+
# Review: remove this ignore when rsa >= 0.10 or jsonwebtoken drops rsa dep
29+
{ id = "RUSTSEC-2023-0071", reason = "transitive dep; we only use HMAC-SHA256, never RSA" },
2830
]
2931

3032
[licenses]

0 commit comments

Comments
 (0)