AI 编码 Agent 修依赖漏洞总是漏?Bomly MCP 把修复率从 14% 拉到 98%
问题:AI Agent 修漏洞,为什么总修不干净?
让 Claude Code 或 Codex CLI 去修复项目的依赖漏洞,结果往往两极分化:小项目能修到 99%,但一旦遇到多模块的大型项目,修复率可能直接跌到 14%。更糟糕的是,Agent 还会声称它修好了,但实际代码里什么都没变——这就是 AI 编码 Agent 在依赖安全领域的”幻觉”问题。
根本原因其实很简单:Agent 看不到完整的依赖图。它知道 pom.xml 里写了什么,但不知道哪个依赖引入了 log4j,不知道这个漏洞是直接依赖还是传递依赖,更不知道升级某个包会不会破坏其他模块。
Bomly(发音同”bom” + “ly”)是一个免费、开源的 Go CLI 工具,它的 MCP 服务器给 AI 编码 Agent 提供了一张完整的依赖关系图——包括漏洞位置、修复建议、以及传递依赖的完整链路。让 Agent 从”盲猜”变成”按图索骥”。
Bomly 是什么?
Bomly 是一个依赖智能(Dependency Intelligence)CLI,由 Bomly 团队用 Go 开发,采用 Apache-2.0 许可证。它能扫描源码、容器镜像、SBOM 或 Git 引用,生成完整的依赖图,并支持漏洞审计、许可证检查、CI 策略门禁等功能。
但对我们 AI 编码 Agent 用户来说,最关键的组件是 Bomly MCP 服务器——它通过四个 MCP 工具,把依赖图的数据直接喂给 Agent 的上下文。
真实数据:Bomly MCP 到底有多大效果?
Bomly 团队做了一组对照实验,数据完全公开(bomly-dev/bomly-agent-study):
| 指标 | 裸 Agent | 接 Bomly MCP |
|---|---|---|
| Claude Code 最低修复率 | 14% | 98% |
| Claude Code 错误声称修复次数(5 次中) | 4 次 | 2 次 |
| Codex CLI 最低修复率 | 93% | 100% |
| Codex CLI 平均耗时 | ~13 min | 7.5 min |
实验对象是 Internet2 Grouper 4.x——一个 13 模块的 Maven 项目,约 300 个依赖、56 个可修复漏洞。每个条件跑 5 次,使用 Docker 隔离环境,自动评分防止人为偏差。
Claude Code 的提升最为显著:不接 MCP 的修复率从 14% 到 100% 剧烈波动(中间有 14% 这种灾难级表现),接了 Bomly MCP 后稳定在 98% 以上,且”声称修复但实际没修”的情况从 4/5 降到 2/5。Codex CLI 裸跑本来就不错(93-100%),但耗时从 13 分钟降到 7.5 分钟——快了约 1.7 倍。
安装 Bomly
brew install bomly-dev/tap/bomly curl -fsSL https://bomly.dev/install.sh | sh winget install Bomly.BomlyCLI
验证安装:
bomly version
给 Claude Code 装上 Bomly MCP
claude mcp add --transport stdio bomly -- bomly mcp serve
或者在项目根目录创建 .mcp.json:
{
"mcpServers": {
"bomly": {
"type": "stdio",
"command": "bomly",
"args": ["mcp", "serve"],
"env": {}
}
}
}
对于 Cursor 用户,在 .cursor/mcp.json 中写入同样的配置即可。VS Code 用户则用 .vscode/mcp.json。
Bomly 的四个 MCP 工具
Bomly MCP 服务器注册了四个工具:
| 工具 | 作用 |
|---|---|
bomly_scan | 扫描路径、Git URL、容器镜像或 SBOM,返回需要修复的漏洞摘要 |
bomly_explain | 深挖单个包:依赖路径、漏洞详情、许可证信息 |
bomly_diff | 比较两个 Git 引用的依赖差异,识别新增/修复/残留的漏洞 |
bomly_plugins | 列出内置和已安装的外部插件及其状态 |
实战:用 Bomly MCP 修漏洞
给 Agent 的提示词:
“We have a Maven project at /workspace/grouper. Use the bomly MCP tools to scan for vulnerable dependencies and fix them. Run
bomly_scanwith path=/workspace/grouper, enrich=true, audit=true. Then fix each vulnerability.”
Agent 收到提示后,会调用 bomly_scan 获取完整的漏洞列表和修复建议,然后按依赖链路逐个修复。与裸跑不同,它知道每个包为什么在项目中、升级哪个版本不会破坏构建。
Bomly Guard:CI 中的自动化策略门禁
除了 MCP 服务器,Bomly 还有一个 GitHub Action——Bomly Guard,可以在 CI 中自动拦截引入新高危依赖的 PR:
name: Dependency Gate
on: [pull_request]
jobs:
bomly-guard:
runs-on: ubuntu-latest
steps:
- uses: bomly-dev/bomly-guard@v1
with:
fail-on: high
enrich: true
这样,Agent 在本地修复完漏洞后,CI 会自动检查是否真的修好了——双重保险。
什么场景下 Bomly MCP 最有用?
从实验数据来看,Bomly MCP 的价值取决于项目的复杂度:
- 大型多模块项目(13+ 模块、300+ 依赖):效果最显著,修复率从 14% → 98%,错误声称减少一半
- 中小型项目(单模块、100 依赖以内):Agent 本身修得不错(93-100%),Bomly 的主要优势是加速——Codex CLI 快了 1.7 倍
- 需要精确审计的场景(合规、供应链安全):Bomly 的依赖图比 Agent 的猜测可靠得多
总结
Bomly 通过 MCP 协议给 AI 编码 Agent 装上了一张”依赖地图”——在大型项目上,修复率从 14% 飙到 98%,错误声称减少一半。它不是替代 Agent 的能力,而是补上了 Agent 在复杂依赖关系上的信息盲区。
如果你是:
- 用 Claude Code/Codex 维护大型项目 → 必装 Bomly MCP,尤其在修复安全漏洞时
- 做 CI/CD 安全门禁 → 加上 Bomly Guard Action,让 PR 自动拦截高危依赖
- 管理者关心供应链安全 → Bomly 的 SBOM 生成和许可证审计功能也是加分项
免费、开源、单二进制、无需托管服务——装上就能用。
相关链接:Bomly 官网(bomly.dev)| GitHub(github.com/bomly-dev/bomly-cli)| 实验数据(github.com/bomly-dev/bomly-agent-study)