bug-hunter
让三个 AI 互相抬杠找 Bug,对抗性辩论流水线大幅降低误报率
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让三个 AI 互相抬杠找 Bug,对抗性辩论流水线大幅降低误报率
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你让一个 AI 帮你检查代码中的安全漏洞,它信誓旦旦列出了 20 个问题——结果你逐一排查,发现其中 15 个是误报,剩下 5 个里又有 3 个根本不属于安全漏洞。这是目前大多数 AI 代码审查工具的真实写照:误报消耗开发者信任,最终让人麻木忽略所有警告。
codexstar69/bug-hunter 项目正是为解决这个痛点而生。它的核心思路简单却反直觉:不再让一个 AI 孤军奋战,而是让三个 AI 互相抬杠,通过对抗性辩论过滤掉误报,只有真正站得住脚的 Bug 才能进入最终报告。

图1:Bug Hunter — 对抗性多智能体代码审查与安全漏洞扫描工具
AI 编程助手(如 Claude Code、Cursor、GitHub Copilot)的普及让代码审查门槛大幅降低,但同时也带来了新的问题:AI 生成或辅助的代码中隐藏着逻辑错误、安全漏洞和运行时缺陷,而传统静态分析工具对这些 AI 生成代码的特殊模式往往识别不足。
开发者 codexstar69 在日常使用中发现了一个尴尬的现实:让 AI 审查代码,99% 的时间都在处理它的误报。SQL 注入警告可能是误报、空指针检查可能被库函数的 null-safe 设计绕过、并发问题可能根本不会在实际运行路径上触发。误报比漏报更危险——它让人麻木,最终忽略所有警告。
基于这一观察,Bug Hunter 设计了一套对抗性三智能体流水线:Hunter 负责找 Bug,Skeptic 负责反驳每一个发现,Referee 做最终裁决。只有三个智能体都认可的问题,才会被写入报告。
Bug Hunter 的流水线分为两个阶段:找 Bug 和修 Bug。
六个步骤依次执行,环环相扣:
Triage(分流):在 2 秒内对项目所有文件做风险分类,完全零 AI 调用,纯规则引擎,只决定哪些文件值得深入分析。
Recon(侦察):识别技术栈、认证机制、攻击面等上下文信息,为后续步骤提供背景知识。
Hunter(猎手):核心扫描智能体,对代码进行深度行为分析,检测逻辑错误、安全漏洞、竞态条件等问题。同时,对每个发现立即用 Context Hub 和 Context7 工具查询官方文档验证——如果官方文档说这个 API 是 null-safe 的,Hunter 就不能报告空指针漏洞。
Skeptic(质疑者):这是整个流水线最特别的设计。Skeptic 的任务是反驳每一个 Hunter 提出的发现,用反证法寻找支持漏洞不存在的证据。它的激励机制很有意思:推翻一个误报获得奖励,漏掉一个真实的 Bug 受到双倍惩罚。这种不对称激励让 Skeptic 极度认真地审视每个发现。
Referee(裁判):独立第三方的最终裁决者,重新阅读代码,给出 CVSS 3.1 评分和 STRIDE/CWE 分类。它不能盲目相信任何一方,必须独立判断。
Fixer(修复者):对确认的 Bug 进行修复,但采用金丝雀发布策略:在 Git 分支上进行,每修一个提交一个,若测试失败则自动回滚,且修复后重新扫描以排除修复过程引入的新 Bug。

图2:对抗性辩论——Hunter 找 Bug,Skeptic 用反证法反驳,Referee 独立裁决
| 类别 | 具体问题 |
|---|---|
| 安全漏洞 | SQL 注入、XSS、命令注入、路径遍历、IDOR、认证绕过、SSRF |
| 逻辑错误 | 错误比较、边界错误、条件反转、不可达分支 |
| 并发问题 | 竞态条件、TOCTOU、死锁 |
| 错误处理 | 吞掉异常、未处理的 Promise 拒绝 |
| 数据完整性 | 静默截断、编码损坏、资源泄漏 |
| API 契约 | 类型不匹配、回调签名错误 |
每个安全发现都附带 STRIDE 分类、CWE ID 和 CVSS 3.1 评分,以及可运行的 PoC 载荷。
除了核心 Bug 查找,Bug Hunter 还内置了一套完整的安全扫描套件:

图3:Bug Hunter 安全全家桶——commit 安全扫描、企业安全评审、STRIDE 威胁建模、漏洞可利用性验证
项目使用 Node.js (>=18) 开发,主要语言为 JavaScript/TypeScript,但设计目标是与语言无关——支持 TypeScript、JavaScript、Python、Go、Rust、Java、Kotlin、Ruby、PHP 等主流语言。
核心架构是一套多智能体 Skill 系统(与 Hermes Agent 的 Skill 机制高度相似):
SKILL.md:Pipeline 编排定义,描述何时调用什么 Agentagents/:子代理配置(如 openai.yaml 定义了 OpenAI 模型调用接口)skills/:10 个专项 Agent Skill(Hunter、Skeptic、Referee、Fixer、Recon 等)modes/:不同规模代码库的执行策略(小文件单次扫描 vs 大代码库分块+状态持久化)schemas/:JSON 工件契约,定义发现报告、修复计划等结构化输出格式scripts/:113 个回归测试用例test-fixture/:6 个预先植入的 Bug,用于流水线自验证bin/bug-hunter:CLI 入口,提供完整的命令行接口安装方式多样:
# 方式1:作为 Claude Code 等 AI Agent 的 Skill 安装
npx skills add codexstar69/bug-hunter
# 方式2:npm 全局安装
npm install -g @codexstar/bug-hunter
bug-hunter install
# 方式3:git clone
git clone https://github.com/codexstar69/bug-hunter.git ~/.agents/skills/bug-hunter
CLI 提供丰富的组合标志位:
/bug-hunter # 全量扫描 + 自动修复
/bug-hunter --scan-only src/ # 仅报告,不修改代码
/bug-hunter --pr # 评审当前 Pull Request
/bug-hunter --deps --threat-model # 依赖 CVE 扫描 + 威胁建模
/bug-hunter --fix --dry-run # 预览修复 diff,不实际应用
每次运行会在 .bug-hunter/ 目录生成结构化输出(findings.json、report.md、referee.json、fix-plan.json 等),支持 CI/CD 集成和自动化报告。
优势明显:
需要注意:
Bug Hunter 提出的对抗性辩论范式代表了一个重要趋势:AI 系统之间的相互制约比单一 AI 的自我判断更可靠。这与 OpenAI o3 在推理时让多个思维副本互相辩论的思路不谋而合。
从增长数据看,436 stars 说明项目处于早期社区验证阶段,但其设计理念和代码质量(113 个测试、多 Agent Skill 架构)表明这是一次扎实的技术实践,而非追热点的简单包装。随着 AI 编程助手(Codex、Copilot、Cursor)的持续普及,代码安全问题日益严峻——这类工具的市场需求正在快速扩张。

图4:Bug Hunter 机器可读输出——findings JSON、Skeptic 挑战、Referee 裁决、修复策略,支持 CI/CD 门禁和仪表盘集成