Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 4 additions & 27 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/bashkit-bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ tempfile.workspace = true

# Terminal output
colored = "3"
tabled = "0.21"
tabled = "0.22"
4 changes: 0 additions & 4 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ ignore = [
# atomic-polyfill: transitive via monty -> postcard -> heapless
# Unmaintained but no security vulnerability; upstream dep we can't control
"RUSTSEC-2023-0089",
# proc-macro-error2: transitive via bashkit-bench -> tabled -> tabled_derive
# Unmaintained build-time proc-macro in the bench harness only (not shipped
# library code); no upgrade available (tabled 0.21 is latest)
"RUSTSEC-2026-0173",
]

[bans]
Expand Down
10 changes: 8 additions & 2 deletions knowledge/security/threat-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -1574,8 +1574,7 @@ the two lists in sync so a local `cargo deny check advisories` matches CI.
| Advisory | Crate | Why suppressed | Remove when |
|----------|-------|----------------|-------------|
| RUSTSEC-2023-0071 | `rsa` | Marvin timing sidechannel (TM-CRY-002). No patched version exists; reachable only via the opt-in `ssh` feature | `rsa` ships a constant-time release |
| RUSTSEC-2023-0089 | `atomic-polyfill` | Unmaintained, no known vulnerability; transitive via `monty` → `postcard` → `heapless` | Upstream drops the dependency |
| RUSTSEC-2026-0173 | `proc-macro-error2` | Unmaintained build-time proc-macro, bench harness only (not shipped library code); transitive via `tabled` | `tabled` releases a version without it |
| RUSTSEC-2023-0089 | `atomic-polyfill` | Unmaintained, no known vulnerability; transitive via `monty` → `postcard` → `heapless` (pinned at 0.7, which still requires it) | Upstream drops the dependency |

A suppression that stops matching is not evidence that it can be dropped.
`cargo deny check advisories` currently warns `advisory-not-detected` for
Expand All @@ -1586,6 +1585,13 @@ matching resumes as soon as `rsa` ships a stable release. Before removing any
entry above, check the advisory's own `patched` list rather than the scanner's
silence.

Retired: RUSTSEC-2026-0173 (`proc-macro-error2`, unmaintained). Its recorded
removal condition — "`tabled` releases a version without it" — was met by
`tabled` 0.22 / `tabled_derive` 0.12, which drops the dependency. The bench
harness was moved to 0.22 and the crate is gone from `Cargo.lock`, so the
suppression was deleted rather than left to rot. This is the shape a removal
should take: the dependency is actually gone, not merely unmatched.

### Fuzzing Targets

The following components are fuzz-tested for robustness:
Expand Down
4 changes: 2 additions & 2 deletions supply-chain/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1937,11 +1937,11 @@ version = "1.0.2"
criteria = "safe-to-deploy"

[[exemptions.tabled]]
version = "0.21.0"
version = "0.22.0"
criteria = "safe-to-deploy"

[[exemptions.tabled_derive]]
version = "0.11.0"
version = "0.12.0"
criteria = "safe-to-deploy"

[[exemptions.tap]]
Expand Down