This document describes the security testing tooling integrated for issue #236.
The security tooling integration provides:
- Static analysis using
cargo-audit(dependency vulnerability scan). - Linting / code quality using
cargo clippy(with warnings reported in CI). - Automated CI integration via GitHub Actions (
.github/workflows/security-scan.yml).
The workflow runs on every push and pull request to main and performs:
-
Dependency vulnerability scan
- Installs
cargo-audit. - Runs
cargo auditagainst the workspace to detect known CVEs and insecure dependencies.
- Installs
-
Static analysis (Clippy)
- Runs
cargo clippy --all-targets --all-features. - Reports lints and warnings; can be tightened to
-D warningsonce the codebase is fully clean.
- Runs
-
Summary step
- Emits a short summary so logs clearly show scan completion.
- CI: The scans run automatically on GitHub Actions for pushes and pull requests.
- Local: Developers can run the same tools locally:
cargo install cargo-audit --locked
cargo audit
cargo clippy --all-targets --all-features- Tools like Slither/Mythril primarily target EVM/Solidity; for this Rust/Soroban codebase,
cargo-auditandclippyare used as the primary static security analyzers. - Dynamic security behavior is exercised via the existing
cargo testsuites, including dedicated tests for disputes, grace periods, and reentrancy behavior.