This repository documents how we handle security advisories and tracked exceptions for third-party crates.
- Advisory ID: RUSTSEC-2024-0436
- Crate:
paste(proc-macro) - Why it appears:
pasteis a transitive dependency pulled in byratatui(a terminal UI crate used byrfgrepfor TUI features).
Why we have an exception
pasteis not a direct dependency ofrfgrep.- We currently use
ratatuifor optional TUI features;pasteis pulled in as a proc-macro build-time dependency by that crate. - We assessed the risk as acceptable for the following reasons:
pasteis used at build time as a proc-macro to produce code forratatuiand does not run in production runtimes (no network or persistence access in our shipped binary beyond normal codegen).- The crate is transitive and we do not directly invoke
pastein our code. - We have pinned
ratatuiinCargo.lockand monitor upstream changes.
Where it's recorded
-
We have an allow rule in
.cargo/config.tomlto ignore the advisory during automated checks:[advisories] ignore = ["RUSTSEC-2024-0436", "RUSTSEC-2024-0375", "RUSTSEC-2021-0145"]
-
The advisory was also noted in our
CHANGELOG.md
What we did now
- Documented the advisory and rationale here.
- Preserved the
.cargo/config.tomlallow rule (existing in repo) so automated tooling does not fail CI for this advisory.
How to review further
- Run
cargo auditin your environment to see the advisory and verify the allow rule behaves as expected. - To remove the exception proactively, try updating
ratatuiinCargo.tomlto a newer minor/.x release and runcargo update -p ratatuiandcargo tree -i pasteto verify the transitive dependency was removed.