1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | cosmos-vulnerability-scanner-trailofbits-skills |
| 作者/维护者 | Trail of Bits(Omar Inuwa、Paweł Płatek) |
| 来源链接 | https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/cosmos-vulnerability-scanner |
| 许可证 | CC-BY-SA-4.0(GitHub API 获取) |
| GitHub Stars / Forks | 所属仓库整体 6,411 / 554(GitHub API 获取;该数字属整个 trailofbits/skills 市场仓库,不代表本子技能自身热度) |
| 所属插件版本 | building-secure-contracts v1.1.2(插件清单获取) |
| 安装方式 | Claude Code / Codex 插件市场(/plugin marketplace add trailofbits/skills) |
2. 功能介绍与亮点
Cosmos Vulnerability Scanner 是 Trail of Bits「Building Secure Contracts」安全工具箱中专门针对 Cosmos 生态的静态审计技能,覆盖 Cosmos SDK 自定义模块(x/)与 CosmWasm 合约。它把该公司多年积累的“Not So Smart Contracts”漏洞知识库编码为可执行的扫描流程,能识别导致链停摆、状态分叉、资金损失的共识关键路径缺陷。
核心能力:
- 54 条漏洞模式,分四组——25 条核心模式(签名者校验、非确定性、ABCI 生命周期、算术溢出等)、16 条 IBC 跨链模式、10 条 EVM/Cosmos 双栈桥接模式、3 条 CosmWasm 合约模式;
- 多子代理并行扫描架构:先用一个发现子代理生成代码库技术清单,再按平台特征并行派生 core / state / advanced / evm / ibc / cosmwasm 多个专职扫描子代理,每个子代理独立核对匹配代码是否真正位于共识关键路径,减少误报;
- 版本感知:随 Cosmos SDK v0.53.x 的接口变更(如
GetSigners移除、ABCI 2.0 引入)逐条重新校验规则,README 更新记录中标注了每条模式对应的源码文件与行号证据; - 真实事故对照:多条模式引用了已公开的链上事故(如 Osmosis、Dragonfruit、Gravity Bridge 等真实漏洞案例)作为检测依据,而非纯理论推演。
主要亮点:出自安全研究机构 Trail of Bits 官方出品;纯静态分析、只读不改代码;扫描结果落地为结构化 Markdown 发现文件,便于审计留痕。
3. 适用场景
所属分类:安全与合规(产出物是安全漏洞发现清单,属安全审计范畴)。
适用人群:正在开发 Cosmos SDK 自定义模块或 CosmWasm 合约的团队,在准备上线前的安全评估、集成 IBC 跨链功能后的复查、或排查链停摆/共识异常事故根因时使用。也适合外部审计人员在拿到 Cosmos 相关代码库后快速生成初步发现清单,为后续人工复核提供起点。
4. 跨 Agent 兼容性
- Claude Code:原生支持,通过插件市场安装即可使用。
- Codex:README 明确说明 Codex 可直接读取 Claude 插件市场协议安装本插件,判断依据为仓库官方文档中的专门安装章节。
- OpenClaw / Hermes Agent:未在抓取材料中找到相关说明,未验证。
5. 推荐理由
多数通用代码审查工具不理解区块链特有的共识语义(如“哪些代码在 BeginBlock/EndBlock 里执行才算共识关键路径”),容易把测试代码里的问题当成严重漏洞,也容易漏掉跨模块交互类问题。这个技能把 Trail of Bits 审计团队的实战经验固化成结构化扫描流程,附带明确的“何时不要用”边界说明和误报拒绝清单,能让不熟悉 Cosmos SDK 内部机制的开发者在提交审计前先做一轮系统性自查,把明显问题挡在人工审计之前。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | 出自安全研究机构 Trail of Bits 官方仓库;该插件被 Snyk 网络安全类 Claude Skills 评测文章列为第 6 名并专门介绍其 6 个区块链扫描器,另有多个第三方 Skill 目录站收录 |
| 可用性 | 9 | SKILL.md 含清晰的适用/不适用边界、扫描工作流与验收标准;随 Cosmos SDK v0.53.x 多次重新校验并有详细更新记录,近两个月内仍有实质性维护提交;无需付费依赖,安装后按插件菜单调用即可 |
| 安全性 | 9 | 见下方安全检查清单 |
安全检查清单:
① 执行 shell 命令及权限范围:不执行 shell 命令,仅用 Read/Grep/Glob 只读检索目标代码库,扫描结果以 Write 落地为本地 Markdown 发现文件(默认 .bughunt_cosmos/ 目录),不修改源代码。
② 运行时联网外发:无,全程本地静态分析,未见任何网络请求。
③ API key/凭据:不需要任何凭据。
④ 可疑指令:未发现 prompt injection 或隐蔽指令迹象,全部指令与安全扫描目的一致。
⑤ 作者信誉:Trail of Bits 为知名安全研究机构,无刷量或自我造假迹象。
⑥ License:CC-BY-SA-4.0,明确。
⑦ 维护时间:2026 年内有多轮实质更新,最近一次提交距今在两个月以内。
7. 跟同类 Skills 相比的优势
| 名称 | 定位 | 与本技能的差异 |
|---|---|---|
| solana-vulnerability-scanner(同插件) | 针对 Solana/Anchor 程序的 6 类漏洞扫描 | 聚焦跨程序调用与 PDA 校验等 Solana 账户模型特有问题,与 Cosmos 的模块化架构完全不同技术栈 |
| token-integration-analyzer(同插件) | 通用 ERC20/721 代币集成与非标准代币风险分析 | 面向以太坊系代币接入场景,不覆盖 Cosmos SDK 模块或 IBC 跨链问题 |
| guidelines-advisor(同插件) | 智能合约开发全流程顾问(文档、架构、可升级性等) | 覆盖面更广但不做具体漏洞模式匹配,偏开发指导而非扫描 |
| SecSkills Web3 Pentesting(第三方) | 面向 DeFi 的攻击性渗透测试技能,覆盖重入攻击、闪电贷、MEV 操纵等 | 站在攻击者视角教学利用手法,而 Cosmos Vulnerability Scanner 是防御性质的静态扫描,产出可直接对照代码位置的发现清单而非攻击教程 |
8. 用户评价
Snyk 发布的《Top 9 Claude Skills for Cybersecurity, Hacking, and Vulnerability Scanning》一文将 Trail of Bits 的 Building Secure Contracts 插件列为第 6 位,评价其“是一个高度专业化的领域,漏掉一个漏洞的代价常常以百万美元计”,并单独点出该插件包含“6 个平台专属漏洞扫描器:Algorand/TEAL、StarkNet/Cairo、Cosmos SDK、Solana/Anchor、Substrate 与 TON”。该技能目前在第三方平台尚无具名开发者使用体验评价。
9. 其他补充
该子技能在 2026 年内经历了三轮有记录的实质性更新:首轮针对 Cosmos SDK v0.47–v0.53 的破坏性接口变更逐条重写检测模式;第二轮针对 v0.53.x 重新校验全部既有模式并新增 4 条;第三轮新增 8 类此前遗漏的漏洞(含 IBC 重入、Merkle 证明伪造等),每轮都附带对照真实源码文件路径与行号的验证记录。
10. 安装使用方式
- 在 Claude Code 或 Codex 中执行:
/plugin marketplace add trailofbits/skills - 执行
/plugin menu,从列表中选择并安装building-secure-contracts插件(该插件内含本技能及其余 10 个智能合约安全子技能)。 - 安装完成后,在需要扫描的 Cosmos SDK / CosmWasm 代码库目录下向 Agent 提出审计相关请求(如“审计这个 Cosmos 模块的安全性”),技能会按描述中的关键词自动触发;也可按插件内命名直接指定调用该子技能。
- 扫描完成后查看目标代码库根目录下生成的
.bughunt_cosmos/发现文件目录。
11. 注意事项
- 该技能仅覆盖 Cosmos SDK 模块与 CosmWasm 合约的共识关键路径问题,不包含 CometBFT 共识引擎内部实现审计、纯 Solidity/EVM 审计(应使用同插件的 EVM 相关工具)、以及与共识无关的普通业务逻辑(如 CLI 命令、REST 接口)。
- 属于静态模式匹配类工具,扫描结果仍需人工复核确认是否为真实可利用漏洞,不能替代专业安全审计。
- 该技能与所属插件的其余 10 个子技能共享同一套安装入口,无法单独安装,需要通过安装整个 building-secure-contracts 插件后调用。