mcpField
T
trailmark-review-gate

trailmark-review-gate

github.com/trailofbits安全7.9k1.3k 次安装今天更新
代码仓库

关于 trailmark-review-gate

trailmark-review-gate 是用于比较代码变更前后 Trailmark 结构差异的安全审查技能,帮助审查者发现结构性回归并生成证据包;图分析不能替代逐行审查。

主要功能

  1. 01比较变更前后的图证据
  2. 02追踪节点、边和入口点
  3. 03评估污点与权限边界变化
  4. 04应用 PASS、WARN、FAIL 和 UNKNOWN 判定
  5. 05生成供审查者使用的证据包

适用场景

  1. 01审查分支或拉取请求
  2. 02检查变更是否扩大攻击面
  3. 03查找可达路径上被移除的验证

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/trailofbits/skills --skill trailmark-review-gate

安装后在 Claude Code 中输入/trailmark-review-gate确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
trail-of-bits-mark.svg
references/
gate-rules.md
output-format.md
review-integration.md

详细介绍

Trailmark 审查门禁

对 Trailmark 结构差异证据应用确定性安全门禁规则。 此技能不能替代逐行审查。它会生成一份简洁的结构化材料,供审查者在检查代码时引用。

适用场景

  • 审查分支、拉取请求、发布差异或修复提交
  • 检查变更是否扩大攻击面
  • 查找可达路径上被移除的验证或授权
  • 对比污点、权限边界、影响范围或复杂度信号的变更前后情况
  • 为差异审查生成图证据

不适用场景

  • 单快照分析。请使用 trailmark 或 trailmark-structural。
  • 仅审查文本差异。请使用 differential-review。
  • 全面发现漏洞。请使用审计或 Bug 查找工作流。
  • 单个静态发现。请使用 trailmark-finding-triage。
  • 工具不可用,且用户只希望进行手动审查。

应拒绝的托词

托词错误原因必要操作
"行差异很小,因此不需要图门禁"小改动也可能创建新的调用路径对比变更前后的图
"图门禁已通过,因此 PR 是安全的"门禁只检查结构性回归仍须进行逐行审查
"Trailmark 失败了,因此让门禁通过"工具失败代表风险未知,并非成功输出 UNKNOWN
"测试通过了,因此移除验证没有问题"测试可能遗漏受影响的入口路径手动审查被移除的路径
"只有新增代码才重要"移除的身份验证、验证逻辑和调用方可能比新增内容风险更高审查移除项和路径变更

工作流

Review Gate Progress:
- [ ] Step 1: Resolve before/after inputs
- [ ] Step 2: Build graph-evolution evidence
- [ ] Step 3: Normalize structural changes
- [ ] Step 4: Apply gate rules
- [ ] Step 5: Emit review packet and actions
第 1 步:解析输入

接受两个引用、分支名、提交范围或变更前后的目录。 不要无谓地检出分支。优先使用 git diff、git show 和 git 工作树,并遵循 graph-evolution 快照工作流。

第 2 步:构建图证据

运行 graph-evolution 或等效的 Trailmark 变更前后图分析。 两个快照都必须运行 engine.preanalysis(),以提供污点、权限边界、 影响范围、复杂度和入口点信号。

记录 Trailmark 版本和所有功能探测结果。如果图构建失败, 输出 UNKNOWN。

第 3 步:规范化变更

将证据规范化为:

  • 新增、移除和修改的节点
  • 新增和移除的边
  • 入口点集合变更
  • 污点成员资格变更
  • 权限边界成员资格变更
  • 影响范围变更
  • 复杂度变更
  • 新近可达的敏感汇点
  • 未解析、代理或动态边变更
第 4 步:应用门禁规则

应用 references/gate-rules.md 中的规则。 门禁判定为:

判定含义
FAIL高风险结构性回归需要在接受前进行审查
WARN有实质影响的图变更需要审查者关注
PASS未触发已配置的结构性门禁
UNKNOWNTrailmark 失败或证据不完整
第 5 步:生成材料

使用 references/output-format.md 编写材料,然后交给 分支审查者。如需将此材料与 differential-review 或其他 PR 审查流程结合使用,请参考 references/review-integration.md。

要求

  • 比较引用时,绝不修改用户当前工作的分支。
  • Trailmark 失败时,绝不报告 PASS。
  • 将图证据与手动安全判断分开。
  • 每个 FAIL 和 WARN 都须包含精确变更节点或路径。
  • 如果解析器、代理、未解析调用或动态分派方面的不确定性会影响判定,请注明限制。

评论

支持 Markdown