--- name: avax-audit description: Review Avalanche vulnerabilities with scoped trust boundaries, executable counterexamples and regressions. --- # Evidence-driven contract review 1. Fix scope: source revision, addresses, chain/VM, compiler, proxy implementations, libraries and dependencies. Read [Architecture](../architecture/SKILL.md) and [Upgrades](../upgrades/SKILL.md). Identify unavailable components; verified source is not an audit. 2. Map entry points/callers, assets, liabilities, privileged setters, upgrades and callbacks. Include sovereign validators, ICM messenger/origin, precompile privileges and native AVAX versus wrappers. Write invariants per transition. 3. Review relevant failure domains: access/initialization; reentrancy/callbacks; token returns/decimals; share/debt rounding and inflation; oracle freshness/manipulation; allowance/spender; signature domain/nonce/replay; pause/upgrade/storage; liquidity/caps/liquidation; cross-chain origin/duplicates/destination execution. Explain omissions instead of padding checklist counts. 4. Turn plausible issues into executable counterexamples. Record attacker prerequisites, violated invariant, affected source and concrete state/asset impact. Use isolated mocks for logic and forks when dependencies determine behavior. Suspicious patterns alone do not prove exploitability. 5. Decode protocol-specific errors and returns. DEX tests prove minimum-output and Blackhole receiver rejection; BENQI checks nonzero error returns/Failure events. Silo/Euler previews do not add minShares to native APIs. Test the actual failure semantics. 6. Repair the root cause and rerun exploit plus intended behavior. Check authorization and conservation across sequences; reinspect changed implementations. Preserve external dependency/oracle assumptions. 7. Report severity from impact and feasible prerequisites, locations/evidence, remediation and regression status. Label a scoped internal review, not a third-party audit or unknown-vulnerability guarantee. ## Concrete regressions Commands resolve from the executable bundle root: - `node --test examples/protocols/*/recipe.test.mjs`: ABI and planner failures. - `node research/parity-dexes/fork-execution.mjs`: real minimum-output failures, exact allowance consumption and Blackhole final-recipient binding. - `node examples/core/verify.mjs`: custody contract regressions and local integration. - `node examples/privacy/verify.mjs`: root/issuer rejection, recipient/domain binding, tampered proof and replay using a real verifier. Inspect each core adversarial-token test's invariant and coverage. A fuzz test must assert a meaningful property over generated inputs; one hardcoded happy path is not invariant testing. These demonstrations do not audit all upstream protocols. **Finding record:** title; scope/version; prerequisites; failing invariant; reproduction; impact; fix; regression; residual assumptions. Label local hashes separately from public transactions. Sources: [Solidity security](https://docs.soliditylang.org/en/latest/security-considerations.html), [OpenZeppelin proxies](https://docs.openzeppelin.com/contracts/5.x/api/proxy), [EIP-712](https://eips.ethereum.org/EIPS/eip-712), pinned protocol sources.