You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All workflows are manual-only (workflow_dispatch). Never auto-triggered.
Quick Start
# Run the full audit suite (all 4 tools in parallel)
gh workflow run full-audit.yml
# Run individual tools
gh workflow run slither.yml
gh workflow run aderyn.yml
gh workflow run mythril.yml
gh workflow run halmos.yml
# Run against a specific branch/commit
gh workflow run slither.yml -f ref=task/fix-escrow
# Run Mythril on specific contracts only
gh workflow run mythril.yml -f contracts="RemitEscrow,RemitTab"
Reports are uploaded as workflow artifacts (90-day retention).
Fee oracle: MockFeeCalculator returns exactly 1% for all amounts
FeeCalculator
Active
Recommended New Proofs
These cover the remaining fund-holding contracts added/modified in V14:
ID
Property
Contract
Priority
S1
Stream fund conservation: withdrawn + refund + fee == maxTotal
Stream
High
S2
No double-withdrawal on same accrued amount
Stream
Medium
S3
Fee never exceeds pending accrued amount
Stream
Medium
B1
No double-award: only one payout per bounty
Bounty
High
B2
Bond conservation: amount + bond == winner + fee + returned
Bounty
High
B3
Dispute window enforced: 24h gating on disputeRejection
Bounty
Medium
D1
Exact amount locking: no fees on deposits
Deposit
Medium
D2
No double-settlement: return XOR forfeit XOR claimExpired
Deposit
Medium
D3
Expiry gating: claimExpiredDeposit only after expiry
Deposit
Low
Configuration
Setting
Value
Solidity version
0.8.24
EVM version
cancun
Optimizer
enabled, 200 runs
via-IR
enabled
Foundry profile
default
Notes
Private repo: SARIF upload to GitHub Security tab requires GitHub Advanced Security (GHAS). The Slither workflow has continue-on-error: true on the SARIF upload step.
Mythril timeout: Default 300s per contract. The full suite (11 contracts) may take up to 60 minutes. Use the contracts input to run specific contracts.
Halmos OOM: Symbolic proofs with complex state (Stream, Bounty) may hit memory limits. Increase runner size or reduce solver timeout if needed.
Aderyn: Uses binary installer (not cargo install) for fast CI runs (~10s install vs ~15min compile).
About
Security audit workflows for remit-md/protocol (Slither, Aderyn, Mythril, Halmos)