Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/0xendale/evm-agent-toolkit/vulnerability-scanningnpx skills add 0xendale/evm-agent-toolkit --skill vulnerability-scanninggit clone --depth 1 https://github.com/0xendale/evm-agent-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/0xendale/evm-agent-toolkit/vulnerability-scanning)<a href="https://agentmods.dev/skills/0xendale/evm-agent-toolkit/vulnerability-scanning"><img src="https://agentmods.dev/badge/skills/0xendale/evm-agent-toolkit/vulnerability-scanning.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00067 | $0.01163 |
| Opus 5 | $0.00034 | $0.00581 |
| Sonnet 5 | $0.00013 | $0.00233 |
| Haiku 4.5 | $0.00007 | $0.00116 |
Grade A, and why
vulnerability-scanning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vulnerability Scanning
Overview
Find security vulnerabilities in an EVM contract and return a severity-rated finding set. A pattern match is a hypothesis, not a finding. Every candidate must be confirmed reachable and un-neutralized before it is reported.
The Iron Rule: never report an unconfirmed candidate as a confirmed vulnerability. A false positive that triggers a needless rewrite is its own kind of harm; an unconfirmed-but-flagged item must be labeled as such.
When to Use
- Security-auditing Solidity/Vyper/bytecode before deployment or review
- Symptoms: "is this safe?", "audit this", suspected reentrancy, access-control,
tx.origin,delegatecall,selfdestruct, unchecked calls - Producing a severity-rated report for a contract or PR
Do NOT use for: gas optimization (use gas-optimization) or arbitrage/economic analysis (use arbitrage-analysis).
Workflow
Four reasoning steps, in order. You perform them; they are not scripts.
- Seek — Read the contract and match it against
reference/patterns.md. List every candidate with file:line and its SWC id. - Innovate — Beyond the library, reason about contract-specific risks (storage-layout collisions in proxies, oracle manipulation, integer edges). Propose a remediation per candidate.
- Execute — Confirm each candidate per
reference/severity-model.md: check reachability and existing guards. Utilize Action-State Differential Verification (taking pre- and post-trigger state snapshots in a local fork like Foundry) to definitively prove exploitability. Corroborate with tools (Slither, Aderyn, Echidna) if available. Assign final severity; drop neutralized candidates. - Manage — Emit the report: each confirmed finding with severity, location, SWC id, impact, and remediation. List dropped candidates and why. State explicitly if Slither was unavailable.
Verification
- Use Bug-Context Extraction (BCE) to isolate focused function-level slices before executing complex tests.
- For static analysis, prefer the MCP tool
evm_scan_vulnerabilities(schema-validated findings with code snippets; supportsseverityFilteranddetectorsfor focused scans). Fall back to rawslither <path>oraderynonly when the MCP server is unavailable. Reconcile findings either way. - To confirm reachability of a candidate on a local fork, prefer
evm_trace_call— the structured call tree shows whether the vulnerable frame executes, what it calls, and where it reverts. - For proxy storage-collision candidates, use
evm_inspect_storage_layouton both implementations and diff the slot assignments. - For dynamic verification, leverage Foundry/Echidna in a Generate-Repair-Execute (GRE) loop to compile and test Proofs of Concept — the MCP tools
evm_compile_and_diagnoseandevm_run_tests(structured failures with fuzz counterexamples) drive this loop; fall back to rawforgewhen the MCP server is unavailable. - When tools/Foundry are absent, explicitly state so, fall back to manual review, and mark findings as manual review, not tool-confirmed. Never present manual review as tool-confirmed.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 75 lines · 67 tokens per session scan A abf63479b97c
vulnerability-scanning is a skill published in the GitHub repository 0xendale/evm-agent-toolkit (1 stars, last pushed 1mo ago), licensed MIT. It adds 67 tokens to every session and 1,163 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ethereum-development
Production-grade Ethereum/EVM development workflow for smart contracts, dApps, transactions, clients, gas optimization, testing, security review, deployment, verification, monitoring, and incident response across Foundry, Hardhat, Solidity, TypeScript, viem, ethers, wagmi, and common EVM networks.
Gas Optimizer
Advanced gas optimization tool for Ethereum and EVM-compatible chains. Analyzes transactions, simulates gas usage, suggests optimal gas prices, batches transactions, and implements gas-saving patterns for smart contract interactions.
evm-bytecode-analysis
Analyze supplied deployed EVM runtime bytecode with EVMole or guide a separate application in integrating a published EVMole Rust, Go, Python, or JavaScript binding. Use for unverified-contract inspection, ABI reconstruction from runtime code, selector discovery, storage-access analysis, EVM control-flow inspection…
web3-bug-classes
Complete reference for all 10 DeFi smart contract bug classes. Use this when hunting for specific vulnerability types, need attack patterns for accounting desync, access control, incomplete path, off-by-one, oracle manipulation, ERC4626 vaults, reentrancy, flash loans, signature replay, or proxy/upgrade bugs.
web3-methodology-research
External research synthesis from Trail of Bits, SlowMist, ConsenSys, Immunefi, and Cyfrin. Use this for advanced audit methodology, Echidna/Medusa fuzzing setup, Slither custom detector writing, attack pattern deep dives, or the 4-phase learning roadmap.
web3-poc-foundry
Complete Foundry PoC writing guide + all cheatcodes + DeFiHackLabs reproduction patterns. Use this when building a proof of concept exploit, setting up a fork test, using Foundry cheatcodes, or reproducing a known DeFi hack for learning.