Skip to content

chore: add cargo-deny supply-chain audit gate (#53) - #59

Merged
abayomicornelius merged 1 commit into
StellarSend:mainfrom
OluRemiFour:chore/add-deny-toml-supply-chain-audit
Aug 16, 2026
Merged

chore: add cargo-deny supply-chain audit gate (#53)#59
abayomicornelius merged 1 commit into
StellarSend:mainfrom
OluRemiFour:chore/add-deny-toml-supply-chain-audit

Conversation

@OluRemiFour

Copy link
Copy Markdown
Contributor

Adds a cargo-deny supply-chain audit gate to the project. Fixes #53.

Motivation

This service holds a live Stellar signing key and parses issuer-provided (untrusted) XDR, so the dependency tree is a direct attack surface:

  • one unmaintained crate was previously resolved (dotenv) — swapped for dotenvy (same API, maintained fork)
  • three unused crates (once_cell, base64, validator) removed
  • the crate itself was unlicensed

What this adds

  • deny.toml — advisories (deny yanked, flag unmaintained as informational), licenses (permissive-only allow list), bans (wildcards denied, duplicates warned), sources (filesystem/git/unknown-registries denied)
  • CI workflow running cargo-deny-action on push to main and every PR

Known remaining advisories (ignored with removal path)

All require a coordinated major upgrade of the TLS stack: upgrading sqlx 0.7 -> 0.8 is blocked on reqwest 0.11 -> 0.12 (rusqlite/rustls edition). Each ignore entry in deny.toml documents the exact fix and follows RUSTSEC-2024-0363, RUSTSEC-2026-0098/0099/0104, RUSTSEC-2024-0436, RUSTSEC-2025-0134.

Verification

Local runs: advisories ok, bans ok, licenses ok, sources ok.

@abayomicornelius
abayomicornelius merged commit 6e5065f into StellarSend:main Aug 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No cargo-deny/supply-chain audit configuration despite holding a live signing key and parsing untrusted XDR

2 participants