🔒 安全工具 全难度 📦 TrailOfBits

entry-point-analyzer

找出所有可改状态的入口点(审计重中之重)。

8.8 /10 ★★★★☆
📅 2026-06-15 · 🕒 5 分钟阅读 · 最后更新 2026-06-15 · 来源: TrailOfBits · 分析测评
#smart-contract#audit#permissions
📄 相关文章

📊 评分明细

功能完备度
9.1 核心功能齐全
🎯 易用性
8.5 安装即用
🔧 可扩展性
9.4 支持定制和 fork
🔗 生态协同
8.7 可链式调用
🛡️ 稳定性
9.4 CI 集成验证

🎯 适用场景

smart-contractauditpermissions

entry-point-analyzer 快速入门

智能合约被黑前,先找到所有可能被攻击的入口。

这是什么?解决什么问题?

智能合约一旦部署到区块链,就再也改不了。这意味着上线前必须把每个”门”都检查清楚——哪些函数能让用户改余额?哪些函数能让管理员升级合约?哪些函数在某些条件下会让所有资金归零?

传统的人工审计靠经验,审计师一行一行读代码。但一个稍微复杂的 DeFi 协议可能有几百个函数、几十个合约文件,人工漏看几乎是必然的。entry-point-analyzer 是 Trail of Bits 出品的自动化审计 Skill,它会用 AI 把所有”可改状态”的入口点(state-mutating entry points)都列出来,并按风险等级排序。

这个 Skill 的最大价值不是”找出漏洞”,而是”列全入口”。审计师拿到这个清单后,可以集中精力分析每个入口的访问控制是否符合预期。这是 Trail of Bits 在无数次真实审计中沉淀下来的工作流。

准备工作

  • 已安装 Python 3.10+ 和 pip
  • 一个支持 Agent Skill 的 AI 客户端
  • 目标合约源码(Solidity、Vyper、Move 都可以,Solana 的 Rust 也支持)
  • Slither 静态分析器(可选,但强烈推荐配合使用)

3 步快速上手

第 1 步:克隆 Trail of Bits 的 skills 仓库

git clone https://github.com/trailofbits/skills.git
cd skills
ls entry-point-analyzer/

你会看到 SKILL.mdscripts/prompts/ 等。SKILL.md 详细描述了入口点的分类和审计关注点。

第 2 步:准备目标合约

随便找一个开源的 DeFi 项目作为练习对象,比如 Uniswap V2 的简化版:

git clone https://github.com/Uniswap/v2-core.git
cd v2-core/contracts
ls

你应该看到 UniswapV2Pair.solUniswapV2Factory.sol 等文件。

第 3 步:让 AI 加载 Skill 并执行

在 Claude Code 里:

claude --skill entry-point-analyzer

然后输入:

“请分析 /path/to/v2-core/contracts/UniswapV2Pair.sol,列出所有可改状态的入口点,并标注每个入口的访问控制要求。”

AI 会运行 Slither 等工具,然后输出类似这样的报告:

[PUBLIC] mint() - line 87 - 无访问控制,任何人可调用
[PUBLIC] burn() - line 113 - 无访问控制,需先调用 transfer
[PUBLIC] swap() - line 142 - 需通过 UniswapV2Router 调用
[EXTERNAL] skim() - anyone,anyone - 紧急提款函数,管理员可触发
...

常见踩坑

  1. 只看 public 函数,忽略 internal 调用链:很多漏洞在 _transfer 这种内部函数里,虽然外部入口是 public,但调用路径上可能引入重入风险。
  2. 不区分”view/pure”和真正可改状态的函数:getter 函数虽然也是 public,但不会改状态。Skill 会自动过滤,但你心里要有数。
  3. 遗漏 proxy 模式的 delegatecall:升级合约通过 delegatecall 转发调用,如果不识别 proxy,会漏掉大量真实入口。
  4. 忽略 constructor 和 initializer:合约部署那一刻的初始化函数权限设置不当,也是常见漏洞入口。
  5. 只关注 EVM 链,忽略 Solana/Cosmos:不同链的合约模型差异很大,Skill 虽然支持,但你需要告诉 AI 目标链。
  6. 没有结合业务逻辑:Skill 列出了入口,但”哪些入口不该被普通用户调用”还得靠审计师结合业务判断。

初级用法

  • 新合约审计第一步:每接手一个新项目,先用这个 Skill 跑一遍,生成入口清单,然后再深入读代码。
  • 对比新版本:升级合约前,跑一次 Skill,对比新旧版本入口点变化,确认没有意外暴露。
  • 配合 Slither:让 AI 先用 Slither 跑一遍,把结果和 Skill 的清单交叉对照,形成完整审计地图。

高级玩法

  • 集成到 CI:每次 PR 合并前自动跑入口分析,生成 entry-points-diff.md,如果新增了未授权的 public 函数,CI 直接失败。
  • 权限矩阵输出:让 AI 把所有入口画成一个权限矩阵图(谁可以调什么),给团队做权限评审会议用。
  • 与 fix-review 联动:用 Skill 找出入口后,用 fix-review Skill 验证每个修复 PR 是否真的堵住了对应入口。

小技巧

  • 报告里重点关注 [EXTERNAL] 和 [PUBLIC-UNPROTECTED] 标签,这两个最危险。
  • 入口点数量突然增加(比如从 20 个变成 80 个)往往是设计变更的信号,值得追问。
  • 把 Skill 输出保存为 audit/entry-points.md,作为后续审计的基线,以后每次升级都 diff。
  • 配合 building-secure-contracts Skill 使用,效果会更好,因为它知道每种链的常见攻击模式。
  • 不要跳过 access control 检查:90% 的真实合约漏洞都是访问控制没做对。

常见问题 FAQ

Q1: 这个 Skill 跟 entry-point-analyzer 有什么关系?必须装吗?

A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。

Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?

A: entry-point-analyzer 来自 TrailOfBits,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。

Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?

A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。

Q4: 怎么验证 Skill 装对了?

A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。

Q5: 这个 Skill 有许可证吗?能商用吗?

A: 取决于 entry-point-analyzer 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。

进阶学习建议

如果想进一步用好 entry-point-analyzer,建议按以下路径学习:

第 1 周:熟练使用

  • 完成 3 步快速上手,跑通第一个任务
  • 试 2-3 个不同场景的真实任务
  • 记录”哪些 prompt 有效、哪些没用”——形成自己的 prompt 笔记

第 2 周:理解机制

  • 阅读 Skill 的官方文档(README、SKILL.md)
  • 了解 Skill 的”触发关键词”和”输出格式”
  • 学习”如何用更具体的描述触发 Skill”

第 3-4 周:组合使用

  • 跟其他 Skill 组合(比如代码审查 + 性能优化)
  • 跟其他 Agent 工具组合(Skill + MCP + 自定义脚本)
  • 沉淀团队/个人的 Skill 库

长期:贡献社区

  • 把自定义的 Skill 开源到 GitHub
  • 提 PR 改进现有 Skill
  • 写使用心得分享到 CSDN/掘金/知乎

推荐资源:

避免的坑:

  • 不要装太多 Skill(超过 10 个会拖慢 Agent)
  • 不要把 Skill 装在不兼容的 Agent 上
  • 不要直接复制 Skill 默认 prompt——要根据项目调整
  • 定期 review Skill 库的实用性,清理不用的

参考链接


本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。

entry-point-analyzer Skill 多维度简评

类别:安全工具 来源:trailofbits/skills 定位:智能合约入口点分析——找出所有可改变状态的函数。


一、核心定位与价值

entry-point-analyzer 是 Trail of Bits 安全公司发布的 Claude Code 技能之一。Trail of Bits 是一家知名的网络安全研究和咨询公司,其客户包括 Uniswap、OpenZeppelin、Solana 等顶级区块链项目。该技能仓库(trailofbits/skills)拥有超过 5,700 个 GitHub Star。

该 Skill 的核心功能是分析智能合约代码,自动识别所有可修改区块链状态的函数(即”入口点”),并构建权限矩阵,帮助安全审计人员快速定位潜在的攻击面。


二、核心能力清单

能力说明
自动枚举入口点扫描合约代码,识别所有 public 和 external 函数
状态修改标记区分 view/pure 函数与可修改状态的函数
权限矩阵生成分析每个入口点的访问控制(onlyOwner、role-based 等)
调用图分析追踪函数调用链,识别间接的状态修改路径
结构化报告输出生成包含风险评级和修复建议的审计报告

三、与 Trail of Bits 审计流程的关系

Trail of Bits 将安全审计分为四个阶段:

Phase 1: 自动化扫描 → static-analysis + semgrep + codeql
Phase 2: 重点审查 → differential-review + variant-analysis
Phase 3: 深度分析 → constant-time / zeroize / entry-point
Phase 4: 修复验证 → fix-review + property-based-testing

entry-point-analyzer 属于 Phase 3(深度分析)阶段,专注于智能合约的权限和状态修改路径分析。


四、安装与配置

# 通过 Claude Code 插件市场
/plugin marketplace add trailofbits/skills

# 通过 npx
npx skills add trailofbits/skills --skill entry-point-analyzer

五、适用场景

  • 智能合约审计:在审计初期快速识别所有需要审查的状态修改函数
  • 权限模型验证:检查合约的访问控制是否正确配置
  • 升级迁移审查:在合约升级前分析新旧版本的入口点差异
  • DeFi 协议安全:分析 DeFi 协议中潜在的特权操作入口

六、注意事项

  • 该 Skill 专注于智能合约(Solidity)代码,不适用于其他编程语言
  • 自动化分析不能替代专业安全审计——发现的入口点需要审计人员进一步分析
  • Trail of Bits 的技能仓库提供的是指令文件而非可执行安全工具
  • 本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测

参考资料

📦 快速安装

1 Git Clone
git clone https://github.com/trailofbits/skills.git
cd skills
ls entry-point-analyzer/
2 Git Clone
git clone https://github.com/Uniswap/v2-core.git
cd v2-core/contracts
ls