Analyzes smart contract codebases to identify state-changing entry points for security auditing. Detects externally callable functions that modify state, categorizes them by access level (public, admin, role-restricted, contract-only), and generates structured audit reports. Excludes view/pure/read-only functions.
SkillScore68Maintained
Automatic
◆Security & AppSec pack
Last verified 8/7/2026
What it changes
Passed 14 of 21 test cases with the skill, and 7 of 21 without it.
Without skill32%
With skill68%
Checks it passed that the model alone missed
The function is categorized as Restricted (Review Required).
The output specifies the command `slither . --print entry-points`.
The `pause` function is placed under the Guardian / Pauser section.
and 10 more in the full report
10 fixed5 passed either way5 still failing2 broke
Pass-rate lift
+36 pp
Tokens
+69%
Agent turns
0%
Response time
-38%
Model gemini-3.6-flashMeasured 8/7/2026v115 of 22 cases passed with skill · 21 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
We found a function `execute(bytes memory data) external` that checks `require(customResolver.isTrusted(msg.sender))`. The access control relies on a dynamic external contract query rather than a standard role modifier. How should this entry point be categorized?
What was checked, without and with the skill
Checked
Without skill
With skill
The function is categorized as Restricted (Review Required).
Missed
Passed
The report explains that review is required due to the dynamic external trust check.
Missed
Passed
case-15 · gemini-3.6-flash · 8/7/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md241 lines9 files
Entry Point Analyzer
Systematically identify all state-changing entry points in a smart contract codebase to guide security audits.
When to Use
Use this skill when:
Starting a smart contract security audit to map the attack surface
Asked to find entry points, external functions, or audit flows
Analyzing access control patterns across a codebase
Identifying privileged operations and role-restricted functions
Building an understanding of which functions can modify contract state
When NOT to Use
Do NOT use this skill for:
Vulnerability detection (use audit-context-building or domain-specific-audits)
This skill focuses exclusively on functions that can modify state. Excluded:
Language
Excluded Patterns
Solidity
view, pure functions
Vyper
@view, @pure functions
Solana
Functions without mut account references
Move
Non-entry public fun (module-callable only)
TON
get methods (FunC), read-only receivers (Tact)
CosmWasm
query entry point and its handlers
Why exclude read-only functions? They cannot directly cause loss of funds or state corruption. While they may leak information, the primary audit focus is on functions that can change state.
Workflow
Detect Language - Identify contract language(s) from file extensions and syntax
Graph-informed mutation testing triage. Parses codebases with Trailmark, runs mutation testing and necessist, then uses survived mutants, unnecessary test statements, and call graph data to identify false positives, missing test coverage, and fuzzing targets. Use when triaging survived mutants, analyzing mutation testing results, identifying test gaps, finding fuzzing targets from weak tests, running mutation frameworks (including circomvent and cairo-mutants), or using necessist.