-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdeny.toml
More file actions
96 lines (90 loc) · 5.85 KB
/
Copy pathdeny.toml
File metadata and controls
96 lines (90 loc) · 5.85 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[graph]
targets = [
"x86_64-pc-windows-msvc",
"aarch64-pc-windows-msvc",
"x86_64-apple-darwin",
"aarch64-apple-darwin",
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
]
all-features = false
[advisories]
ignore = [
{ id = "RUSTSEC-2023-0071", reason = "The RSA crate is used for JWT signature verification and test key generation, not RSA decryption; the Marvin attack applies to decryption operations." },
{ id = "RUSTSEC-2024-0320", reason = "Transitive through syntect; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2024-0384", reason = "Transitive through async-openai/backoff; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2024-0436", reason = "Transitive through ratatui 0.29; migration is deferred until the TUI supports a newer ratatui release." },
{ id = "RUSTSEC-2025-0012", reason = "Transitive through async-openai; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2025-0052", reason = "Linux-only transitive dependency of dark-light; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2025-0057", reason = "Transitive through bm25; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2025-0141", reason = "Transitive through syntect; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2026-0192", reason = "Transitive font parser used by the current PDF rendering stack; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2026-0206", reason = "Transitive text shaping dependency of the current PDF rendering stack; no maintained compatible replacement is currently available." },
{ id = "RUSTSEC-2026-0194", reason = "quick-xml 0.39 is build-time-only through wayland-scanner and processes trusted bundled protocol XML, not user input." },
# Arrived with the 1.0.0 re-base. None has a patched release, so none can be
# closed by a bump. Each reason is a reachability check that was run: `grep`
# the tree for the affected API, and where the answer is "we never call it",
# say so rather than asserting the crate is fine.
{ id = "RUSTSEC-2026-0190", reason = "Unsoundness in anyhow's Error::downcast_mut(). We never call it: the three downcast_mut call sites in this tree are std::any::Any on Box<dyn Any> inside typed maps (xai-grok-tools resources, xai-tool-types ext), not anyhow::Error. No patched release exists." },
{ id = "RUSTSEC-2026-0204", reason = "crossbeam-epoch dereferences an invalid pointer in the fmt::Pointer impl for Atomic and Shared. Reachable only by formatting one of those with {:p}; there is no {:p} anywhere in this tree, and the two crates depending on crossbeam (xai-codebase-graph, xai-fast-worktree) name neither type. No patched release exists." },
{ id = "RUSTSEC-2026-0183", reason = "Potential UB in git2's Remote::list(). Zero call sites in this tree. No patched release exists; 0.20.4 does not fix it." },
{ id = "RUSTSEC-2026-0184", reason = "Potential UB in git2 with a Signature from a buffer-created BlameHunk. We call no git2 blame API — the four 'blame' matches are a test name, a comment, and two string literals naming the `git blame` subcommand in permission policy. No patched release exists." },
{ id = "RUSTSEC-2026-0097", reason = "rand is unsound when a custom logger itself calls rand::rng(), which re-enters the thread RNG. Our logging stack does not: xai-grok-telemetry and xai-grok-shared do not depend on rand, and no tracing layer references it. The two rand::rng() calls in this tree pick a random announcement index in the pager. No patched release exists." },
{ id = "RUSTSEC-2026-0195", reason = "quick-xml 0.39 is build-time-only through wayland-scanner and processes trusted bundled protocol XML, not user input." },
{ id = "RUSTSEC-2026-0249", reason = "smartstring is unmaintained (repository archived 2026-05-03), not vulnerable — there is no affected API to avoid. It reaches us only as a non-optional dependency of rhai, the workflow scripting engine, and we are already on rhai's latest stable (1.25.1), so no bump closes it and nothing but dropping rhai would. Its own recommended alternatives (compact_str, smol_str) are rhai's migration to make." },
]
[licenses]
allow = [
"0BSD",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"CDLA-Permissive-2.0",
"ISC",
"MIT",
"MIT-0",
"MPL-2.0",
"Unicode-3.0",
"Unlicense",
"Zlib",
]
confidence-threshold = 0.8
[licenses.private]
ignore = false
[bans]
multiple-versions = "warn"
# Workspace path dependencies intentionally omit registry versions and are
# reported as wildcard requirements by cargo-deny.
wildcards = "allow"
highlight = "simplest-path"
workspace-default-features = "allow"
external-default-features = "allow"
allow = []
allow-workspace = true
deny = []
skip = []
skip-tree = []
[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = [
"https://github.com/helix-editor/nucleo.git",
# Upstream's own fork of async-openai, pinned to a revision, and the client the
# sampler speaks to Chutes' OpenAI-compatible inference API through. It carries
# patches for tool types the published crate cannot deserialize, so the crates.io
# release is not a drop-in substitute.
#
# This is a supply-chain decision, and worth naming as one: `our-forks` is an
# organisation this project does not control. What limits the exposure is the
# `rev` pin in the root manifest — the revision cannot change under us, and
# `Cargo.lock` records its hash. Re-examine on any change to that pin.
"https://github.com/our-forks/async-openai.git",
]
[sources.allow-org]
github = []
gitlab = []
bitbucket = []