1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | crypto-protocol-diagram-trailofbits-skills | — |
| 项目自述名称 | crypto-protocol-diagram | GitHub API |
| 作者/维护者 | Trail of Bits | GitHub API |
| 来源链接 | https://github.com/trailofbits/skills/tree/main/plugins/trailmark/skills/crypto-protocol-diagram | — |
| 许可证 | CC-BY-SA-4.0 | GitHub API |
| GitHub Stars / Forks | 仓库整体 7,112 / 608(合集仓库共 85 个 SKILL.md 共享,不代表本技能个体热度) | GitHub API |
| 最新版本 | 无独立版本号,随仓库滚动更新,最近一次提交 2026-09-15 | GitHub API |
| 安装方式 | Claude Code 插件市场一条命令:/plugin install trailofbits/skills/plugins/trailmark |
官方页面 |
2. 功能介绍与亮点
crypto-protocol-diagram 从源代码、RFC、学术论文、伪代码、非形式化文字描述,或 ProVerif(.pv)/Tamarin(.spthy)形式化模型中提取密码协议的消息流,生成带密码学标注的 Mermaid 时序图(写入文件)以及一份内联输出的 ASCII 时序图。
核心能力:
- 双输入路径:代码路径(Step 1–7,抓取握手/密钥交换的入口函数与参与方)与规范路径(Step S1–S5,覆盖 RFC、学术伪代码、ProVerif、Tamarin 四种格式的专用抽取规则);两者都存在时先跑规范路径生成基准图,再用代码路径核对并标注实现与规范的分歧
- 密码学操作标注:密钥生成、DH/ECDH、KDF/HKDF、签名/验签、加解密、承诺、哈希、秘密分享/门限合并等逐步标注为图中的
Note块,而不只是画消息箭头 - 协议阶段分组:自动识别建立、握手、认证、密钥派生、数据传输、终止六类常见阶段,并用
alt块显式画出中止/错误路径 - 内置命名协议模板:TLS 1.3、Noise、X3DH、Double Ratchet、门限秘密分享等协议的规范流程可作为骨架参照
- 附带示例(代码路径与 ProVerif 路径各一套,含“预期输出”逐步走查文档)与四份参考手册(规范解析规则、Mermaid 语法、命名协议库、ASCII 绘图规范)
主要亮点:Trail of Bits 官方出品、代码完全开源可审计、仓库维护活跃(最近一次提交为 2026-09-15)。
3. 适用场景
所属分类:安全与合规
用于协议安全审计、密码学代码审查、形式化验证前的建模准备:安全研究员审计 TLS/Noise/Signal 一类握手实现时,先用它把代码或规范转成可视化时序图再核对;也可把 RFC 草案或学术论文中的协议描述转成图辅助评审;生成的标注图还是下游 mermaid-to-proverif 技能建模形式化验证的标准输入。受益人群:安全审计团队、密码学工程师、区块链/隐私协议开发者。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 仓库含 .claude-plugin/marketplace.json,官方页面给出一条命令即可安装的插件命令 |
| Codex | 需适配 | SKILL.md 符合 Agent Skills 通用规范,可手动复制内容,但 Codex CLI 不会自动发现 ~/.codex/skills 下的文件,需通过 -f 参数或 stdin 显式引用 |
| OpenClaw | 未验证 | 仓库未提供 OpenClaw 专用清单或安装说明 |
| Hermes Agent | 未验证 | 仓库未提供 Hermes 专用清单或安装说明 |
5. 推荐理由
它把手工画协议消息流并标注每步密码学操作这项耗时且易错的工作变成结构化流程:区分代码/规范两条输入路径、覆盖四种规范格式的专用抽取规则、每步都有密码学标注对照表,并强制画出中止路径而非只画“快乐路径”。输出的标注图既可直接用于审计报告,也能作为后续形式化验证建模的起点。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 仓库整体 7,112 星由 85 个子技能共享,不代表本技能个体热度;未查到本技能自身的独立第三方评价或采用数据;发布方为 Trail of Bits,公认的一线安全审计机构 |
| 可用性 | 9 | 一条插件安装命令即可用;SKILL.md 含完整工作流、决策树、四份参考手册与两套带预期输出的示例;仓库近一日内仍有提交,维护活跃;无付费依赖 |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
① Shell 命令:Bash 仅用于本地 rg/grep 搜索代码库中的密码学相关函数名,只读、范围明确;② 联网外发:WebFetch 仅在用户提供 URL 形式的规范文档时才发起抓取,无隐蔽外联;③ 凭据:不涉及任何 API key 或凭据;④ 可疑指令:SKILL.md 与参考文档中未发现提示词注入或夹带推广内容;⑤ 作者信誉:Trail of Bits 为知名安全审计机构,官方组织账号发布;⑥ License:CC-BY-SA-4.0,明确;⑦ 维护时间:仓库最近一次提交为 2026-09-15,活跃。
综合评分(三项均值):8.3
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| diagramming-code(同仓库姊妹技能) | 可视化代码结构——调用图、类层级、模块依赖 | 画的是代码结构而非协议语义,不标注密码学操作 |
| mermaid-to-proverif(同仓库姊妹技能) | 把已有的 Mermaid 时序图转成 ProVerif 形式化验证模型 | 处于流水线下游,输入通常是本技能的产出;不做协议抽取,只做模型转换 |
| trailmark(同仓库主技能) | 构建代码的可查询图(函数/类/调用关系) | 是通用代码图谱构建引擎,不专门处理协议消息流或密码学标注 |
crypto-protocol-diagram 的差异化在于同时覆盖代码与四种规范格式(RFC、学术伪代码、ProVerif、Tamarin)两条抽取路径,并把密码学操作显式标注进图中,而不是停留在“画箭头”层面。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;搜索仅命中技能聚合目录(如 atskills.one、skills.sh)与 Trail of Bits 官方页面的功能介绍,未发现独立的使用体验反馈。
9. 其他补充
同仓库内的 trailmark 插件共打包 13 个子技能,形成“代码图谱构建 → 结构分析/协议诊断/漏洞变体检索”的完整管线;crypto-protocol-diagram 是其中少数不依赖 trailmark 图谱、可独立使用的成员之一。
10. 安装使用方式
- Claude Code:在项目中运行
/plugin install trailofbits/skills/plugins/trailmark安装 Trailmark 插件(含本技能),随后描述“帮我画出这段代码/这份 RFC 的协议时序图”即可触发 - 手动安装(Codex 等):从仓库路径
plugins/trailmark/skills/crypto-protocol-diagram/复制SKILL.md及references/、examples/目录到对应 agent 的 skills 目录,并通过文件引用方式显式加载 - 安装后注意事项:无需重启;对源代码输入无需额外配置,对 URL 形式的规范文档需要 agent 具备网络访问能力(WebFetch 权限)
11. 注意事项
- 生成的图表依赖模型对代码/规范的正确理解,复杂或高度混淆的协议实现仍需人工复核标注是否准确
- 跨 Agent 兼容性除 Claude Code 官方支持外均未获得直接验证,OpenClaw / Hermes Agent 用户需自行确认 SKILL.md 格式兼容性
- 仅生成可视化与标注,不做形式化验证本身——验证需搭配同仓库的 mermaid-to-proverif 技能与外部 ProVerif/Tamarin 工具链