CI004-no-cargo-deny-job
Dimension: ci_release
Default severity: Low
Languages: Rust (project-level)
CWE: (none)
What it detects
Fires when CI configuration exists and no workflow file mentions cargo deny or EmbarkStudios/cargo-deny-action.
Why it matters
cargo deny enforces:
- License compliance — ensures all dependencies use approved licenses.
- Dependency bans — blocks unwanted or vulnerable packages.
- Security advisories — checks against the RustSec advisory database.
- Source restrictions — limits where dependencies come from.
Without a CI job running cargo deny, these checks can silently regress as the dependency tree changes.
Example — flagged
CI exists but only runs cargo test and cargo clippy.
Example — not flagged
- run: cargo deny check
Or:
- uses: EmbarkStudios/cargo-deny-action@v1
Fix guidance
Add cargo deny to your CI workflow:
- name: cargo deny
run: cargo deny check
Or use the managed action:
- uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check
arguments: --all-features
Install cargo deny with:
cargo install cargo-deny --locked