Root docs
Repository viewer
Legacy docs parity surface
Back to repository viewer
Repository document

Security Coverage Map

security-coverage-map.md

Boundary

This route preserves legacy markdown access inside the Next.js surface. The raw repository file remains authoritative.

Open raw file

Security Coverage Map

This table is a scenario map, not a measured >80% coverage report. It shows where threat classes already have explicit regression scenarios. Measured baselines currently live in security-audit-workstream-2026-04-18.md.

Threat ClassMitigationTest FileScenario Status
Lifecycle bypassstatus and timing guards on commit, reveal, finalize, executetests/full-flow-test.ts, tests/private-dao.tsCovered
ReplayAlreadyCommitted, AlreadyRevealed, AlreadyFinalized, AlreadyExecuted checkstests/private-dao.ts, tests/full-flow-test.tsCovered
Duplicate executionis_executed gate and execute-twice rejectiontests/full-flow-test.tsCovered
Signer misusereveal signer authorization and delegated signer bindingtests/private-dao.tsCovered
Authority misuseauthority-only cancel/veto paths via has_one = authority; permissionless finalize/execute still seed-boundtests/private-dao.ts, tests/full-flow-test.tsPartially Covered
PDA misuseseed-bound proposal, vote, delegation, and treasury relationstests/private-dao.ts, tests/full-flow-test.tsCovered
Account confusionwrong DAO/proposal, wrong proposal/delegation, wrong treasury/DAO pairings rejectedtests/private-dao.ts, tests/full-flow-test.tsCovered
Treasury miswiringrecipient, mint, ownership, duplicate token-account, and treasury-PDA checkstests/full-flow-test.tsCovered
Invalid revealwrong salt, wrong vote payload, wrong signer, wrong timingtests/private-dao.ts, tests/full-flow-test.tsCovered
Timing boundary misusebefore/at/after commit, reveal, finalize, execute boundariestests/full-flow-test.tsCovered
Delegation misuseself-delegation rejection, non-delegatee rejection, cross-proposal delegation rejectiontests/private-dao.tsCovered
Execution invariantsfailed execute leaves is_executed and balances unchanged; successful execute moves exact amounttests/full-flow-test.tsCovered
Partial state mutationfailed finalize/execute preserve critical fields and lifecycle statustests/full-flow-test.tsCovered
State regressionfailed paths do not regress passed/failed proposals into earlier statestests/full-flow-test.tsCovered
Commit-reveal bindingvoter record binds commitment to voter and proposaltests/private-dao.ts, tests/full-flow-test.tsCovered
Direct/delegated overlapproposal-bound vote/delegation marker accounts reject overlap on-chain; scripts/frontend still mirror the same guardrailstests/private-dao.ts, scripts/commit-vote.ts, scripts/delegate-vote.ts, docs/index.htmlCovered
External validator environmentthis host does not expose AVX2, so local-validator Anchor suites must run on an AVX2-capable machine; portable core checks remain green herenpm run verify:local-validator, npm run test:core, npm run test:core:anchor, npm run test:full:anchor, npm run demo operational evidenceResidual Risk