Skip to content

[SC-38] Add cargo-audit and cargo-deny to CI #1202

Description

@yusuftomilola

Overview

CI runs fmt, clippy, test, build, and a partial WASM build — but nothing checks dependencies for known vulnerabilities or license issues. For contracts governing asset ownership and multisig approvals, an advisory in a transitive dependency should fail the build.

Tasks

  • Add a security job running cargo audit against contracts/Cargo.lock.
  • Add cargo deny with a deny.toml covering advisories, a license allowlist, and duplicate-version detection.
  • Cache the advisory database to keep the job fast.
  • Add a weekly scheduled run so advisories published after a merge are still caught.
  • Document how to triage and, where justified, ignore an advisory with an expiry date.

Acceptance Criteria

  • Both tools run in CI and fail on a new advisory.
  • deny.toml is committed and currently passing.
  • The scheduled weekly run is active.

Notes for Contributors

Requires Rust + Soroban. Workspace: contracts/ (soroban-sdk 22, members: assetsup, contrib, multisig-wallet, multisig_transfer, asset-maintenance). Run cargo test --all, cargo fmt --all -- --check, and cargo clippy --all-targets --all-features -- -D warnings before opening a PR — CI enforces all three. Comment below to be assigned.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programcontractdevopsCI/CD, infrastructure, and deployment

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions