A Claude skill for systematically identifying state-changing entry points in smart contract codebases to guide security audits.
When auditing smart contracts, examining each file or function individually is inefficient. What auditors need is to start from entry points—the externally callable functions that represent the attack surface. This skill automates the identification and classification of state-changing entry points, excluding view/pure/read-only functions that cannot directly cause loss of funds or state corruption.
| Language | File Extensions | Framework Support |
|---|---|---|
| Solidity | .sol |
OpenZeppelin, custom modifiers |
| Vyper | .vy |
Native patterns |
| Solana | .rs |
Anchor, Native |
| Move | .move |
Aptos, Sui |
| TON | .fc, .func, .tact |
FunC, Tact |
| CosmWasm | .rs |
cw-ownable, cw-controllers |
The skill categorizes entry points into four levels:
- Public (Unrestricted) — Callable by anyone; highest audit priority
- Role-Restricted — Limited to specific roles (admin, governance, guardian, etc.)
- Review Required — Ambiguous access patterns needing manual verification
- Contract-Only — Internal integration points (callbacks, hooks)
Generates a structured markdown report with:
- Summary table of entry point counts by category
- Detailed tables for each access level
- Function signatures with file:line references
- Restriction patterns and role assignments
- List of analyzed files
Trigger the skill with requests like:
- "Analyze the entry points in this codebase"
- "Find all external functions and access levels"
- "List audit flows for src/core/"
- "What privileged operations exist in this project?"
Specify a subdirectory to limit scope:
- "Analyze only
src/core/" - "Find entry points in
contracts/protocol/"
The skill infers roles from common patterns:
| Pattern | Detected Role |
|---|---|
onlyOwner, msg.sender == owner |
Owner |
onlyAdmin, ADMIN_ROLE |
Admin |
onlyGovernance, governance |
Governance |
onlyGuardian, onlyPauser |
Guardian |
onlyKeeper, onlyRelayer |
Keeper/Relayer |
onlyStrategy, strategist |
Strategist |
Dynamic checks (authorized[msg.sender]) |
Review Required |
/plugin install trailofbits/skills/plugins/entry-point-analyzer
See LICENSE.txt for terms.