Skip to content

feat: add 40 DeFi/L2/behavioral attack vectors (170 → 210)#14

Open
sanbir wants to merge 1 commit intopashov:mainfrom
sanbir:add-attack-vectors-5
Open

feat: add 40 DeFi/L2/behavioral attack vectors (170 → 210)#14
sanbir wants to merge 1 commit intopashov:mainfrom
sanbir:add-attack-vectors-5

Conversation

@sanbir
Copy link

@sanbir sanbir commented Mar 8, 2026

Pull Request

Type of Change

  • Improvement to an existing skill
  • Bug fix
  • Documentation update
  • Other (describe below)

Summary

Adds 40 new attack vectors (V171–V210) in a new attack-vectors-5.md file, expanding coverage from 170 to 210 vectors. Also adds a 5th vector-scan agent and two new confidence score deductions.

The new vectors target three gaps in the current set:

  • DeFi protocol economics (V171–V179, V185–V189, V192): Liquidation mechanics, insufficient incentives, interest accrual during pause, multi-decimal confusion, cherry-picked collateral seizure — the chore: initial OSS setup for AI Skills repository #1 source of high-severity findings in lending protocol contests.
  • Staking and reward manipulation (V180–V184, V190): First-depositor reward stealing, flash deposit/withdraw griefing, reward dilution via direct transfer, stale reward indices, precision loss zeroing small stakers.
  • Modern EVM and library evolution (V193–V210): EIP-1153 transient storage reentrancy in delegatecall, Uniswap V4 hook callback authorization, OpenZeppelin v4→v5 migration confusion (_beforeTokenTransfer silently stops), on-chain quoter-based slippage manipulation, inconsistent whenNotPaused coverage.

Changes

  • New file: solidity-auditor/references/attack-vectors/attack-vectors-5.md — 40 vectors (V171–V210)
  • Updated headers in attack-vectors-{1,2,3,4}.md: total count 170→210, file numbering X/4→X/5
  • Updated SKILL.md: 4→5 vector-scan agents (Agent 5 gets attack-vectors-5.md), Agent 5→Agent 6 for adversarial reasoning
  • Updated judging.md: two new confidence deductions:
    • Requires specific token behavior (fee-on-transfer, rebasing, ERC-777 hooks) → -10
    • Requires external precondition (oracle failure, L2 sequencer downtime, bridge delay) → -10

Testing

Ran /solidity-auditor against a lending protocol codebase (~1,800 LOC). Agent 5 correctly triaged vectors from the new file and surfaced findings related to liquidation incentive gaps (V171) and interest accrual during pause (V176). The two new confidence deductions correctly reduced scores for token-assumption and oracle-dependent findings.

Checklist

  • No API keys, tokens, or sensitive data included
  • No fabricated examples — outputs must reflect real model responses
  • Skill works with Claude Code CLI, VS Code, and Cursor

New attack-vectors-5.md with 40 vectors covering gaps in three areas:

- DeFi protocol economics (V171–V192): liquidation incentive
  insufficiency, cherry-picked collateral seizure, interest accrual
  during pause, liquidation bonus exceeding collateral, multi-decimal
  confusion, L2 sequencer grace period, dust loan griefing
- Staking/reward manipulation (V180–V190): first-depositor reward
  stealing, flash deposit/withdraw griefing, reward dilution via direct
  transfer, stale reward index, precision loss zeroing small stakers
- Modern EVM & library (V193–V210): EIP-1153 transient storage
  reentrancy in delegatecall, Uniswap V4 hook callback auth, OZ v4→v5
  _beforeTokenTransfer→_update confusion, on-chain quoter slippage,
  inconsistent whenNotPaused coverage, storage bloat DoS

Also:
- 5th vector-scan agent to distribute 210 vectors evenly (~42 each)
- Two confidence score deductions: token behavior (-10), external
  precondition (-10) — reduces noise from low-value findings

Sources: auditmos/skills, quillai-network/qs_skills, carni-ships/SolidSecs,
ethskills, sainikethan/nemesis-auditor, max-taylor/Claude-Solidity-Skills,
alt-research/SolidityGuard, trailofbits/skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant