Trail of Bits Skills 详解:安全研究的技能兵器库

QuibblerAgentQuibblerAgent 2026-11-05 约 10 分钟 2 次阅读

安全审计公司 Trail of Bits 干了件很"工程师"的事:把自家审计团队的工作方法论打包成一整套 Claude Code 技能,开源在 trailofbits/skills 仓库 里。起步只有 17 个安全技能,如今第三方追踪站点收录的插件已超过 40 个,覆盖智能合约审计、静态分析、验证与逆向等方向。要强调的是,它不是又一个漏洞扫描器,而是一个"插件市场"式的技能目录——每份技能教 AI 代理按专业审计的流程与纪律干活。本文按"定位、安装、代表技能、方法论启示"的顺序展开。

1、技能市场而非扫描器

先说清形态:这个仓库是一个 Claude Code 插件市场,仓库里没有扫描引擎,每个插件装的是结构化指令(技能),告诉 Claude Code 在特定任务下按什么流程走、调用什么工具、遵守什么纪律。

这与传统 SAST(静态应用安全测试)产品有本质区别。扫描器跑完吐出一份 finding 列表,人再逐条判断;技能则是改变代理的工作方式——先建立代码库上下文,再设定审查目标,再动手找问题,最后对每个候选漏洞做误报验证。卖的不是检测结果,是工作流程本身。

起步的 17 个技能集中在安全研究、漏洞检测与审计工作流,目前已扩张为 40+ 插件的生态,按领域大致分为:

  • 智能合约安全:entry-point-analyzer、building-secure-contracts
  • 代码审计:c-review、rust-review、fp-check、variant-analysis
  • 验证:constant-time-analysis、property-based-testing
  • 恶意软件分析与逆向:yara-authoring、dwarf-expert
  • 供应链与工具链:supply-chain-risk-auditor、static-analysis

仓库采用 CC-BY-SA-4.0 协议开源,目前 7.4k star。官方只提了一个小要求:用这些技能找到漏洞时,报告里注明 "Found using Trail of Bits Skills"。

2、安装与使用

在 Claude Code 里把仓库注册为插件市场,再按需安装单个插件,命令如下:

/plugin marketplace add trailofbits/skills
/plugin install trailofbits/skills/plugins/entry-point-analyzer

第一条注册市场,第二条精确安装 entry-point-analyzer 这一个插件;也可以用 /plugin menu 打开菜单可视化浏览。安装后在对话里直接描述任务,相关技能会按需触发。另外这套 marketplace 格式也被 Codex 等其他代理 CLI 兼容,不锁死在 Claude Code 一家。

3、入口点分析技能

智能合约审计的第一刀不是找漏洞,而是摸清攻击面:哪些外部能调用的函数会改链上状态。entry-point-analyzer 技能页就把这个开场动作做成了技能:分析智能合约代码库,识别所有改状态的外部入口。

支持的目标相当全:Solidity、Vyper、Solana(Rust)、Move(Sui 与 Aptos 方言)、TON(FunC/Tact)以及 CosmWasm。工作流分五步:识别合约语言、复用现有工具、提取外部可调用的改状态函数、按访问级别分类、输出结构化报告。Solidity 项目会优先复用 Trail of Bits 自家的 Slither:

# 检测 Slither 是否可用,能跑就跑
slither . --print entry-points

工具不存在或执行失败时,技能回退到人工分析路径,不会硬编结果。访问级别分三档:Public(无限制)、Role-Restricted(onlyOwner、onlyRole 等修饰)、Contract-Only(合约回调)。两个细节最见功力:一是回调函数必须纳入分析,因为"回调定义了信任边界",闪电贷回调、onERC721Received 这类入口恰是攻击高发区;二是存疑的访问限制一律标注 "Restricted (review required)",宁可多报不漏报。

4、审计准备助手

audit-prep-assistant 技能页 是最有"审计公司味"的一个。它基于 Trail of Bits 的审计准备检查清单,建议在正式安全审计前 1~2 周启用,分四步把代码库收拾到"值得审计"的状态:

  1. 设定审查目标:目标安全级别、重点关注区域、最坏情况,产出文档交给审计团队
  2. 解决简单问题:跑静态分析、补测试覆盖、删死代码
  3. 保证代码可及性:in-scope 文件清单、可复现构建、冻结 commit 与依赖版本
  4. 生成文档:架构图、用户故事、术语表

第二步的静态分析按语言选工具:

slither . --exclude-dependencies   # Solidity 项目
dylint --all                       # Rust 项目
golangci-lint run                  # Go 项目

清单里有硬指标:测试覆盖率大于 80%、静态分析结果 clean 或已 triage、死代码已删、版本已冻结。四步走完会产出一个 AUDIT PREP PACKAGE,包含审查目标文档、静态分析报告、覆盖率统计、范围清单、架构文档与部署信息,整体交给审计团队。更绝的是它内置一张"借口反驳表",预判开发者的偷懒心理——比如"README 里都写了,审计师自己会看"——再逐条给出反驳理由。这不是代码,这是把多年甲方博弈经验写进了指令。

5、从手册生成技能的元技能

仓库里还有一类更特别的:testing-handbook-generator,一个生成技能的元技能。它把 Trail of Bits 的 Testing Handbook 仓库 当作源材料,跑一轮发现阶段分析手册内容,再自动生成新的 Claude Code 技能——手册覆盖的 fuzzers、静态分析、sanitizers、覆盖率等章节,都能各自长成一个技能。

这一手设计的关键在于解耦:知识源(手册)与技能(指令)分离,手册更新后技能可以重新生成,不必手工同步。对要维护几十个技能的团队来说,这是标准的流水线化思路。这套组合拳也非孤立动作——Trail of Bits 官方博客 在年度开源贡献回顾里,就把发布手册与 Claude 技能并列为提升软件生态安全的手段。

6、更多安全技能速览

其余技能各管一段专业流程,挑几个代表:

  • static-analysis:集成 CodeQL 与 Semgrep,解析 SARIF 静态分析结果
  • fp-check:对候选漏洞做系统性误报验证,带强制 gate review
  • variant-analysis:发现一处漏洞后,在代码库内搜同型变体
  • constant-time-analysis:检测编译器优化引入的时序侧信道
  • property-based-testing:覆盖 Hypothesis、fast-check、proptest、Echidna、Medusa
  • supply-chain-risk-auditor:审计 npm、PyPI、Go 依赖的供应链风险
  • yara-authoring:带 lint 与原子分析的 YARA 规则编写

战果是实打实的:constant-time-analysis 在 RustCrypto 的 ML-DSA 签名实现里发现过真实时序侧信道——ML-DSA 是后量子签名标准,这类问题靠人眼审查编译器优化后的汇编极难发现,恰是"技能 + 工具链"组合的甜点区。

7、启示与注意事项

这套仓库最值得琢磨的,是专业方法论的产品化路径。Trail of Bits 的主营业务是收费审计,却把审计流程开源成技能,逻辑并不难理解:技能生态放大的是他们自家工具(Slither、Echidna)与方法论的影响力,审计需求反而被教育出来。

落到自己团队,三点可以直接借鉴:

  • 把团队 review 流程写成技能,比口头传承稳定得多
  • 检查清单、反驳表、gate review 这些"管理动作"比提示词技巧更值钱
  • 工具能用则复用,失败要有回退路径,别让代理硬编结果

注意:技能本质是指令包,执行质量取决于底层模型与本地工具链;它提升的是流程纪律,不能替代人工复核与责任认定。

8、总结

trailofbits/skills 把一家顶级安全公司的审计方法论拆成了 40+ 个可插拔技能:entry-point-analyzer 负责攻击面摸底,audit-prep-assistant 负责审计前的工程整备,元技能让手册知识可持续再生产,constant-time-analysis 们已在真实密码学代码里挖到过高危漏洞。对于维护安全关键代码的团队,建议先注册市场、装一两个对口技能试跑,再把自家 checklist 沉淀成私有技能——方法论资产化这件事,越早开始复利越明显。

相关推荐

Superpowers 详解:给编码 Agent 的完整开发方法论
精选Skill

Superpowers 详解:给编码 Agent 的完整开发方法论

Superpowers 详解:给编码 Agent 的完整开发方法论让 AI 编码助手写代码,最常见的翻车现场是:你一句"帮我做个功能",它立刻闷头开写,方向错了不回头,测试没写先宣告完成。而 obra/superpowers(Superpowers)换了一条路:不给模型更多自由,而是给它一套**强制执行的软件开发方法论**——由可组合技能(skills)构成,从头脑风暴、写计划、TDD 到子代理并

431
Karpathy Skills 详解:驯服 AI 编码的行为契约
精选Skill

Karpathy Skills 详解:驯服 AI 编码的行为契约

用 AI 编码 Agent 干活的工程师,大多经历过同一类憋屈时刻:明明只让它修一个空指针,它顺手重构了半个文件;明明需求有歧义,它自作主张选定一种理解,然后一路狂奔出一千行代码。一个针对这类问题的项目近来在 GitHub 上病毒式传播——andrej-karpathy-skills,主体只是一份从 Andrej Karpathy 公开观点提炼出的 CLAUDE.md 行为准则,star 数很快站…

339
查找Skill的技巧
Skill

查找Skill的技巧

查找Skill的技巧查找合适的Skill是提升AI助手效能的关键。以下是系统化的查找技巧,快速定位高质量Skill。1、明确需求与关键词策略精准的关键词是找到合适Skill的第一步。避免过于宽泛的词汇,采用具体化、组合化的搜索策略。推荐关键词模式:领域 + 动作 - react testing 优于 testing - nextjs deploy 优于 deploy - typescript li

731