Description
The CI pipeline runs linting, tests, builds, bundle-size budget checks, WASM size monitoring, and benchmarks, but includes zero dependency auditing. There is no cargo audit or cargo deny step for Rust dependencies (which include cryptographic and serialization libraries), and no npm audit for the web frontend.
A security-audit.yml workflow exists in the repo but is not triggered on push or pull_request — it requires manual dispatch. A transitive dependency vulnerability in either the smart contract or the web app would ship to production undetected.
Proposed Fix
- Add
cargo audit step to the contract CI job
- Add
npm audit --audit-level=high step to the web CI job
- Or trigger
security-audit.yml on push/PR instead of manual-only
Acceptance Criteria
Affected Files
.github/workflows/ci.yml
.github/workflows/security-audit.yml
Description
The CI pipeline runs linting, tests, builds, bundle-size budget checks, WASM size monitoring, and benchmarks, but includes zero dependency auditing. There is no
cargo auditorcargo denystep for Rust dependencies (which include cryptographic and serialization libraries), and nonpm auditfor the web frontend.A
security-audit.ymlworkflow exists in the repo but is not triggered on push or pull_request — it requires manual dispatch. A transitive dependency vulnerability in either the smart contract or the web app would ship to production undetected.Proposed Fix
cargo auditstep to the contract CI jobnpm audit --audit-level=highstep to the web CI jobsecurity-audit.ymlon push/PR instead of manual-onlyAcceptance Criteria
security-audit.ymlruns on push/PRAffected Files
.github/workflows/ci.yml.github/workflows/security-audit.yml