deny.toml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Supply-chain gates for the OAuth 2.1 authorization server (task 42).
  2. #
  3. # Ring-only TLS: `openssl-sys`, `aws-lc-sys`, and `native-tls` must never enter
  4. # the graph (see the `bans` deny list below). `cargo deny check` runs in CI.
  5. [advisories]
  6. db-urls = ["https://github.com/rustsec/advisory-db"]
  7. yanked = "deny"
  8. # RUSTSEC-2023-0071 (rsa Marvin timing): no patched release exists upstream
  9. # ("No safe upgrade is available"); this crate uses RSA for signature
  10. # verification only (JWK-selected `DecodingKey`), never RSA decryption, so
  11. # the padding-timing oracle does not apply. Re-evaluate when rsa ships a fix.
  12. ignore = [
  13. { id = "RUSTSEC-2023-0071", reason = "unpatched upstream; RSA verify-only, never decryption" },
  14. { id = "RUSTSEC-2026-0374", reason = "unmaintained (no safe upgrade); basic-toml is a compile-time-only dep of the askama_derive proc macro, never in the runtime graph" },
  15. ]
  16. [bans]
  17. multiple-versions = "warn"
  18. wildcards = "deny"
  19. highlight = "all"
  20. # Ring-only TLS policy: no OpenSSL, no AWS-LC, no platform TLS anywhere in
  21. # the graph (main or dev). A duplicated dependency that pulls one of these
  22. # in fails CI until the duplicate is removed.
  23. deny = [
  24. { crate = "openssl-sys", reason = "ring-only TLS: no OpenSSL anywhere in the graph" },
  25. { crate = "aws-lc-sys", reason = "ring-only TLS: no AWS-LC anywhere in the graph" },
  26. { crate = "native-tls", reason = "ring-only TLS: no platform TLS anywhere in the graph" },
  27. ]
  28. [licenses]
  29. confidence-threshold = 0.93
  30. allow = [
  31. "MIT",
  32. "Apache-2.0",
  33. "ISC",
  34. "BSD-2-Clause",
  35. "BSD-3-Clause",
  36. "CC0-1.0",
  37. "BSL-1.0",
  38. "Zlib",
  39. "OpenSSL",
  40. "Unicode-3.0",
  41. "Unicode-DFS-2016",
  42. "MPL-2.0",
  43. # Mozilla root-store data (via webpki-roots); OSI-approved data license.
  44. "CDLA-Permissive-2.0",
  45. ]
  46. exceptions = []
  47. [sources]
  48. unknown-registry = "deny"
  49. unknown-git = "deny"
  50. allow-registry = ["https://github.com/rust-lang/crates.io-index"]