1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# cargo-deny configuration — supply-chain policy for the workspace.
# Run locally with: cargo deny check
# Docs: https://embarkstudios.github.io/cargo-deny/
[]
# Evaluate the full dependency graph across all feature flags.
= true
[]
# Fail on any crate with a known security advisory or that has been yanked.
= "deny"
# Add advisory IDs here (with a justification) only to consciously accept a risk.
= [
# `paste` is unmaintained (not vulnerable). Compile-time-only proc-macro
# pulled in via ct2rs -> tokenizers -> macro_rules_attribute for the
# optional `translation-offline` feature; no fixed upstream release exists.
# Revisit when tokenizers migrates off paste.
"RUSTSEC-2024-0436",
# `bincode` 1.x is unmaintained (not vulnerable). Dev-only: pulled in solely
# by the `iai-callgrind` benchmark harness (the regression gate); never
# compiled into the published crate or any shipped binary. Revisit when
# iai-callgrind moves to bincode 2.x.
"RUSTSEC-2025-0141",
# `proc-macro-error2` is unmaintained (not vulnerable). Dev-only: pulled in
# solely by `iai-callgrind-macros`; a compile-time proc-macro for the
# benchmark harness, never shipped. Revisit when iai-callgrind drops it.
"RUSTSEC-2026-0173",
]
[]
# Duplicate versions bloat the tree and widen the attack surface; warn for now.
= "warn"
# Wildcard ("*") version requirements are a supply-chain risk — disallow them.
= "deny"
= true
# Explicitly banned crates go here, e.g. { crate = "openssl", reason = "..." }.
= []
[]
# Allow-list of licenses acceptable for an MIT-licensed project.
# A dependency whose license is not listed here fails the check.
= [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"MPL-2.0",
"Unicode-DFS-2016",
"Unicode-3.0",
"CC0-1.0",
"BSL-1.0",
"Unlicense",
"OpenSSL",
"CDLA-Permissive-2.0",
]
= 0.8
# Keep a forward-looking allow-list without warning about not-yet-used entries.
= "allow"
# Per-crate license exceptions go here when a crate needs a license not in `allow`.
= []
[]
# Only allow crates from the official crates.io registry; reject unknown
# registries and git sources
= "deny"
= "deny"
= ["https://github.com/rust-lang/crates.io-index"]