1. 基本信息
| 字段 | 内容 |
|---|---|
| 名称 | solana-vulnerability-scanner-trailofbits-skills |
| 作者/维护者 | Omar Inuwa、Paweł Płatek(Trail of Bits) |
| 来源链接 | https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/solana-vulnerability-scanner |
| 许可证 | CC-BY-SA-4.0(GitHub API 获取) |
| GitHub Stars | 6,416(trailofbits/skills 合集仓库整体,GitHub API 获取;该数字不代表本技能个体热度,详见第 6 章说明) |
| Forks | 555(GitHub API 获取) |
| 最新版本 | 所属插件 building-secure-contracts v1.1.2(.claude-plugin/plugin.json) |
| 安装方式 | Claude Code / Codex 插件市场(见第 10 章) |
2. 功能介绍与亮点
solana-vulnerability-scanner 是 Trail of Bits 官方安全工具箱 building-secure-contracts 插件中的一个子技能,专门针对 Solana 账户模型编码了 6 类平台特有漏洞模式:
- 任意 CPI(跨程序调用)——CRITICAL,调用前未校验目标程序 ID,攻击者可伪造程序窃取权限;
- PDA(程序派生地址)校验不当——CRITICAL,未用规范化 bump 导致地址可被伪造;
- 缺失所有权校验——HIGH,反序列化账户前未检查 owner;
- 缺失签名者校验——CRITICAL,权限操作未检查 is_signer;
- sysvar 欺骗——HIGH,Solana 1.8.1 之前版本的系统变量账户可被伪造;
- 指令自省滥用——MEDIUM,绝对索引导致指令可被重复利用。
扫描流程为:平台识别(原生 Rust / Anchor 框架)→ CPI 安全复查 → PDA 校验检查 → 账户校验扫描 → 指令自省复查 → 可选接入 Trail of Bits Solana Lints 静态检测;每步都附带可直接运行的 rg 检索命令用于定位可疑代码。输出报告按 CRITICAL/HIGH/MEDIUM 分级,每条发现都配代码定位、攻击场景叙述与修复前后代码对比(如从原生 invoke() 切换到 Anchor 的 Program<'info, Token> 类型)。核心亮点:官方安全机构出品,聚焦 EVM 通用审计工具覆盖不到的 Solana 账户模型特有攻击面,且每类漏洞都有完整代码示例而非泛泛清单。
3. 适用场景
所属分类:安全与合规
面向 Solana(原生 Rust 或 Anchor 框架)智能合约/程序开发者,尤其适合:上线前对 CPI 调用、PDA 使用与账户权限校验做系统性复查的团队;准备接受第三方审计、希望先自查缩小审计范围的项目方;安全顾问在初步复查阶段用它快速定位 Solana 特有的高危模式。
4. 跨 Agent 兼容性
- Claude Code:原生支持,通过官方插件市场一条命令安装。
- Codex:官方明确支持——仓库 README 写明“Codex supports Claude plugin marketplaces directly”;本技能目录下另有专属的
agents/openai.yaml(图标与品牌色 UI 适配元数据),显示官方为 Codex 侧单独维护过展示层适配。 - OpenClaw:未验证(仓库文档未提及)。
- Hermes Agent:未验证(仓库文档未提及)。
5. 推荐理由
顶级智能合约安全机构 Trail of Bits 官方出品,把“Solana 账户模型”这一通用 EVM 审计工具覆盖不到的特有攻击面(CPI、PDA、sysvar)编码成 6 类可复用检测模式;社区曾有用户认真读完全文并提交文档缺陷 issue,48 小时内即被官方合并修复,是持续维护、真实被使用的信号。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | 官方 Trail of Bits 出品;安全媒体 Snyk 2026 年评测文章逐一点名 building-secure-contracts 全部 11 个子技能,明确描述本技能覆盖“arbitrary CPI、improper PDA validation、missing signer/ownership checks、sysvar spoofing”;第三方安装统计站 skills.sh 显示本技能安装量在同插件 11 个子技能中排名第三 |
| 可用性 | 9 | SKILL.md 完整覆盖平台识别、6 类漏洞模式详解(附独立的 VULNERABILITY_PATTERNS.md 参考文档)、逐步扫描工作流与报告模板;除官方推荐的 Trail of Bits Solana Lints(可选)外无付费依赖;近期有专属维护提交(issue #159 报告文档章节编号重复,48 小时内合并修复),非弃置项目 |
| 安全性 | 9 | 纯提示词与静态文档,配套资源(漏洞模式说明、品牌图标、Codex UI 元数据)均为文本/图标文件,无脚本、无强制 shell 执行、无联网外发;引导的 rg 检索命令仅对用户自己代码只读扫描;License(CC-BY-SA-4.0)明确;作者信誉良好,无造假迹象 |
安全检查清单:
① Shell 命令:无强制执行,仅引导对用户自身代码做只读 rg/grep 检索,无写入、无越权;
② 联网外发:无,全部分析基于用户提供的本地代码;
③ API Key / 凭据:不要求,也不涉及存储;
④ 可疑指令:未发现 prompt injection 或混淆代码迹象;
⑤ 作者信誉:Trail of Bits,公认的智能合约安全审计机构,无造假迹象;
⑥ License:CC-BY-SA-4.0,明确;
⑦ 维护时间:所属仓库近期仍有推送,且本技能有专属修复提交,非弃置项目。
综合评分 = 三项均值 = 8.7。
7. 跟同类 Skills 相比的优势
| 同类项目 | 定位 | 与本技能的差异 |
|---|---|---|
| Sec3 X-ray | Solana 专用商业自动化扫描器,覆盖 40+ 类常见漏洞 | 作为独立付费 SaaS 工具运行,不在 Agent 对话流程内,无法结合上下文做交互式复核与修复建议 |
| SecSkills Web3 Pentesting | 攻击视角的 Web3 渗透测试技能,提供可复用漏洞利用代码,覆盖重入、闪电贷、预言机操纵等通用 EVM 攻击手法 | 立场相反且链不同:该技能面向 EVM 攻击模拟,本技能面向 Solana 账户模型的部署前防御性自查 |
| cosmos-vulnerability-scanner(同插件姊妹技能) | 覆盖 Cosmos SDK / CosmWasm 生态的漏洞模式 | 与本技能锁定的 Solana 账户模型(CPI、PDA)完全不同,两者服务不同链的开发者,互补而非替代 |
8. 用户评价
该技能目前在第三方平台尚无具名的主观点评,但在 GitHub 官方仓库有一次可查证的真实用户交互:用户 specterslient95-lgtm 于 2026 年 5 月提交 issue #159,逐行指出 SKILL.md 中三个二级标题重复编号为“5.”,并给出具体重排建议;官方三天内采纳修复(commit a56045e)。能精确到章节编号的反馈,本身是使用者认真读完全文的信号。
9. 其他补充
该技能与同插件内其他子技能共享 Codex 专属 UI 适配元数据机制(agents/openai.yaml);配套的 VULNERABILITY_PATTERNS.md 是一份独立的漏洞模式参考文档,可单独查阅而无需展开完整 SKILL.md。
10. 安装使用方式
Claude Code:
/plugin marketplace add trailofbits/skills
/plugin install trailofbits/skills/plugins/building-secure-contracts
Codex:
codex plugin marketplace add trailofbits/skills
codex plugin add building-secure-contracts@trailofbits
安装完成后,在对话中描述“帮我审计这个 Solana 程序的 CPI 和 PDA 安全性”或直接触发 /solana-vulnerability-scanner 即可开始;插件会同时装入其余 10 个子技能(如 secure-workflow-guide、cosmos-vulnerability-scanner 等),可按需单独调用。
11. 注意事项
- 该技能是 building-secure-contracts 插件(11 个子技能合集)的一部分,安装插件会同时装入其余 10 个子技能;
- 仅覆盖 Solana(原生 Rust / Anchor)特有漏洞模式,不适用于 EVM/Solidity 或其他非 Solana 链,多链项目需配合插件内对应链的专用扫描器(如 cosmos-vulnerability-scanner);
- 深度依赖标准 Anchor 项目结构(
programs/*/src/lib.rs),非标准项目结构可能需要人工指路; - OpenClaw 与 Hermes Agent 上的兼容性尚未验证。