aiken-dex-security-audit
When to use
- Auditing Plutus V3 Aiken contracts for a DEX (validators + minting policies)
- You need a rigorous report: threat model, invariants, findings, and reproducible exploit tx shapes
Non-negotiable rules
- No hallucinations. If something isn't in the repo or inputs, say unknown and list exactly what's missing.
- Assume a hostile attacker can craft arbitrary transactions: multi-input, multi-action, weird datums, weird token bundles.
- Never ask for or handle seed phrases / private keys.
- Prefer evidence over vibes: minimal tx shape + failing test + fix + passing test.
Required inputs (ask for anything missing)
- Script list + purpose (spend/mint/reward/cert) and which are critical path for swaps/liquidity
- Datum/redeemer schemas (Aiken types + encoding expectations)
- Parameters/config: policy IDs, script hashes, upgrade/admin controls, oracle deps (if any)
- Off-chain tx builder(s) in scope (where swaps/liquidity txs are constructed)
- Network assumptions (mainnet/preprod) + constraints (tx size, exunits, reference scripts, inline datums)
Audit workflow (do ALL)
- Build a system model
- Map state UTxOs, assets, script addresses, and transitions (inputs/outputs/mint/burn/signees/time).
- Extract explicit invariants (testable)
- Value conservation, LP supply rules, fee bounds/rounding, auth rules, "exactly-one state UTxO", bounded datum/value growth.
- Threat model & attack surface
- Attacker capabilities in eUTxO; trusted roles; upgrade/emergency keys; oracles; economic/griefing vectors.
- Manual on-chain review
- For each validator/policy branch: what must be true about inputs/outputs/minted/signers/time?
- Hunt: double satisfaction, fake-state UTxOs, asset-class mismatches, optional datum gotchas, unbounded growth, time-range bugs, division/rounding/negative amounts, "exactly one" enforcement bugs.
- For each issue: minimal exploitable tx shape + why it works (use tx-shapes template).
- Off-chain review (if in scope)
- Ensure builder cannot construct valid-but-unsafe txs or mis-hash datums or mis-handle mint fields.
- Evidence suite (Aiken-first)
- Add unit tests + property tests for each invariant + each exploit regression test.
- Budget & DoS analysis
- Identify evaluation hotspots and griefing paths; recommend safe refactors.
- Report
- Use
templates/audit-report.mdand include: scope, assumptions, invariants, findings table, patches, tests, deployment checklist.
- Use
Files to use
- Full framework prompt:
references/audit-framework.md - Report template:
templates/audit-report.md - Invariants checklist:
templates/invariants-checklist.md - Minimal exploit tx shapes:
templates/tx-shapes.md