mcpField
V
validate-bug

validate-bug

github.com/trailofbits测试与质量7.9k170 次安装今天更新
代码仓库

关于 validate-bug

validate-bug 是在 reproduce-bug 完成后独立检查错误复现包的技能。它重新运行未修改的 PoC 或编译器命令,并记录声明已确认、未确认或无法判定。

主要功能

  1. 01检查发现记录与原始收据
  2. 02重跑未修改的复现步骤
  3. 03依据既定不变量评估声明
  4. 04打包验证收据与结论

适用场景

  1. 01独立验证已复现的错误
  2. 02处理不确定的复现证据

安装

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

$npx skills add https://github.com/trailofbits/skills --skill validate-bug

安装后在 Claude Code 中输入/validate-bug确认已加载。

详细介绍

验证 Bug

适用场景

在 reproduce-bug 提供发现结果和 PoC 包后使用。阅读 记录契约。 运行目标命令前,遵循其中的项目指南。

不适用场景

不要用于修复 PoC、开发补丁,或根据复现者的叙述推断复现情况。

流程

  1. 阅读 finding.json、复现的证明类型、命令、任何 PoC 以及原始收据。 不要阅读复现者的对话记录。

  2. 对编译失败,重新运行相同的基线编译器命令;或者重新构建并运行未修改的运行时 PoC 和计划中的限定输入。将标准输出、标准错误、退出状态和耗时保存到 validate/receipts/。如果观察结果不可靠, 应返回 inconclusive,而不是推断问题存在或不存在。

  3. 判断目标诊断或运行时断言是否证明了确切的主张,并违反了所述不变量。将 validate.json 写为 confirmed、not_confirmed 或 inconclusive,并附上简短理由和 Agent 身份。

    Validate 记录架构:

{
  "schema_version": 1,
  "outcome": "confirmed",
  "agent": "validator-1",
  "reason": "The unchanged PoC reached the assertion and demonstrated the claim."
}
  1. 使用 uv run --no-project <script> manifest <validate-step-dir> 为完整的 validate/ 目录生成清单,然后运行 记录检查器。返回该包,不要编辑 PoC 或发现结果。

应避免的借口

捷径必须采取的操作
修复 PoC 以使主张成立。将其标记为 inconclusive,并说明原因。
相信复现者的结论。独立重新运行未修改的包。

评论

支持 Markdown