CI runs dependency audits for all three packages on every pull request and push to main:
| Package | Tool | Command | Audit Level |
|---|---|---|---|
backend |
npm audit | npm audit --audit-level=high |
high |
frontend |
npm audit | npm audit --audit-level=high |
high |
contracts |
cargo-audit | cargo audit |
all |
The audit steps currently run with continue-on-error: true (non-blocking) because the dependency trees contain pre-existing findings that require triage. Once triaged and resolved or accepted, the steps will be made blocking by removing continue-on-error.
Tightening path:
- Resolve or override all current findings (see Triage Process below).
- Remove
continue-on-error: truefrom the audit steps in.github/workflows/ci.yml. - Optionally raise
--audit-leveltomoderateover time.
When an audit finding appears in CI:
| Question | Action |
|---|---|
| Is it in a production dependency? | Prioritize — these ship to users. |
| Is it in a dev dependency (build tool, etc.)? | Lower priority — not present in production artifacts. |
| Is the vulnerable code path reachable? | If not reachable, document and accept the risk. |
| Is there a patch available? | Run npm audit fix or update the Cargo dependency. |
-
Patch available: Update the dependency immediately.
# Node.js packages npm audit fix # or manually update in package.json and npm install # Rust crates cargo update -p <crate>
-
No patch available: Evaluate whether the vulnerable code path is reachable. If not, add an npm
overridesentry (Node.js) or a[patch]section (Cargo) with a note explaining the accepted risk. -
False positive / Not applicable: Document the finding in the "Accepted Risks" section below with a justification and review date.
After remediation, re-run the audit locally to confirm:
# Backend / Frontend
cd backend && npm audit --audit-level=high
cd frontend && npm audit --audit-level=high
# Contracts
cd contracts && cargo auditOnce all current findings are resolved or formally accepted:
- Remove
continue-on-error: truefrom the audit steps in.github/workflows/ci.yml. - From that point forward, any newly introduced high/critical vulnerability will fail CI.
| Package | Advisory | Severity | Justification | Review Date |
|---|---|---|---|---|
| none yet |
Populate this table as findings are triaged. Review accepted risks quarterly.
To report a security vulnerability in the application itself (not a dependency), please email the maintainers directly. Do not open a public issue for security vulnerabilities.