Files
aitbc/docs/12_issues/audit-gap-checklist.md
AITBC System b033923756 chore: normalize file permissions across repository
- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore)
- Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md)
- Remove executable permissions from web assets (HTML, CSS, JS files)
- Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt)
- Remove executable permissions from source code files across all apps
- Add executable permissions to Python
2026-03-08 11:26:18 +01:00

46 lines
1.5 KiB
Markdown

# Smart Contract Audit Gap Checklist
## Status
- **Coverage**: 4% (insufficient for mainnet)
- **Critical Gap**: No formal verification or audit for escrow, GPU rental payments, DAO governance
## Immediate Actions (Blockers for Mainnet)
### 1. Static Analysis
- [ ] Run Slither on all contracts (`npm run slither`)
- [ ] Review and remediate all high/medium findings
### 2. Fuzz Testing
- [ ] Add Foundry invariant fuzz tests for critical contracts
- [ ] Target contracts: AIPowerRental, EscrowService, DynamicPricing, DAO Governor
- [ ] Achieve >1000 runs per invariant with no failures
### 3. Formal Verification (Optional but Recommended)
- [ ] Specify key invariants (e.g., escrow balance never exceeds total deposits)
- [ ] Use SMT solvers or formal verification tools
### 4. External Audit
- [ ] Engage a reputable audit firm
- [ ] Provide full spec and threat model
- [ ] Address all audit findings before mainnet
## CI Integration
- Slither step added to `.github/workflows/contracts-ci.yml`
- Fuzz tests added in `contracts/test/fuzz/`
- Foundry config in `contracts/foundry.toml`
## Documentation
- Document all assumptions and invariants
- Maintain audit trail of fixes
- Update security policy post-audit
## Risk Until Complete
- **High**: Escrow and payment flows unaudited
- **Medium**: DAO governance unaudited
- **Medium**: Dynamic pricing logic unaudited
## Next Steps
1. Run CI and review Slither findings
2. Add more invariant tests
3. Schedule external audit