关于 crowbar
crowbar 是用于 CVE 研究的 MCP 服务和命令行工具,可从安全公告及漏洞利用参考资料构建本地 SQLite 与 FTS5 索引。安全团队和编码 Agent 可离线查询受影响版本、利用情况信号及 PoC 参考。
主要功能
- 01在本地索引 CVE 与安全公告数据
- 02将 CVE 与产品版本匹配
- 03依据 KEV、SSVC、EPSS 和 CVSS 排序风险
- 04搜索漏洞利用与 PoC 参考
- 05更新索引并报告数据状态
- 06提供命令行与只读 SQL 查询
适用场景
- 01分析软件依赖中的漏洞
- 02检查产品版本适用的 CVE
- 03查找漏洞利用与检测参考
- 04查看近期被利用或热门的 CVE
MCP 相关
MCP 服务提供 cb_cve、cb_product、cb_search 和 cb_exploit 等工具,用于查询本地索引。它从只读索引返回结果,不进行网络调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
20收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cwe | string | 否 | |
| kev | boolean | 否 | |
| poc | boolean | 否 | 仅包含有公开 PoC 的 CVE |
| sort | enum | 否 | relevance | newest | oldest | cvss | epss |
| ssvc | string | 否 | none | poc | active |
| year | integer | 否 | |
| limit | integer | 否 | |
| query | string | 否 | |
| since | string | 否 | |
| offset | integer | 否 | |
| vendor | string | 否 | |
| exploit | boolean | 否 | |
| product | string | 否 | |
| min_cvss | number | 否 | |
| min_epss | number | 否 | |
| severity | string | 否 |
详细介绍
原文在翻译后有更新,译文可能不是最新。
crowbar
检索 CVE,并将其编入代码库索引。
指定产品和版本。它会获取适用的 CVE 并在本地编入索引,这样仓库中的任何工具都能查询结果。
快速开始 · crowbar 的工作原理 · 可解答的问题 · 展示案例 · 常见问题 · 文档
npx crowbar-cli setup
重要
请从 kushvinth/crowbar、 crowbar.kushvinth.com 或 crowbar-cli 软件包获取 crowbar。仓库名称相似 或 README 被复制,都不代表下载内容是官方版本。
代码库中没有 CVE 索引,人们就只能猜测。crowbar 就是这个索引:它从 NVD、CISA KEV、EPSS、SSVC、CVE List、Exploit-DB、Nuclei、Metasploit、OSV、Debian、MSRC 和 Apple 安全公告中检索数据,并将其写入本地 SQLite + FTS5 数据库,供你通过终端、CI 或 Agent 查询。它离线运行且结果可复现——相同的查询会得到相同的答案,不需要 API,也没有速率限制——因此查询只需几毫秒,而不是靠猜测。
没有 Web 界面,没有守护进程,也没有第三方 Python 软件包。指定产品和版本,它就会告诉你哪些漏洞确实可利用,按现实风险对其排序,并链接到概念验证。
crowbar 将公开的漏洞利用和 PoC 数据编入索引,仅作为数据。它绝不会克隆、编译或运行这些内容。请将它显示的任何内容都视为恶意代码,并且只在一次性 VM 中引爆。仅可用于你拥有或获准测试的系统。参见 DISCLAIMER.md。
快速开始
设置你的 Agent
安装 Node.js 和 uv 后,运行:
npx crowbar-cli setup
设置程序会查找你机器上的 Claude Code、Codex、Cursor、Gemini CLI 和 opencode,明确显示将要修改的配置,并且只有在你批准后才会应用更改。它会注册 crowbar 的 MCP 服务、安装技能、备份它编辑的每个配置文件,并询问是否构建本地索引。完成后重启你的 Agent。--agents claude,cursor 可显式指定 Agent;--yes 会跳过提示。npx crowbar-cli setup --remove 可按相同方式撤销设置:它会列出要移除的内容,先征求同意,并保留其他服务和索引。
或安装 Claude Code 插件
一次安装即可添加一项技能 和 一个 MCP 服务:
claude plugin marketplace add kushvinth/crowbar
claude plugin install crowbar@crowbar
你的 Agent 现在可以:
- 技能——遇到“X 是否存在漏洞/哪些 CVE 影响了这个/已知的利用方法……”之类的问题时,它会调用 crowbar,而不是凭记忆猜测;
- MCP 工具——
cb_cve、cb_product、cb_search、cb_exploit等工具,可通过本地索引离线回答问题。
全部设置就这么简单。 首次询问安全问题时,crowbar 技能会自动完成设置——安装工具,并在 ~/.crowbar 中构建一个小型本地索引(约 150 MB;由于 NVD 下载速度较慢,需要几分钟),然后给出回答。你无需运行任何命令行命令,而且使用期间索引每天会自动刷新一次。
其他 Agent(Cursor、Codex、Gemini、opencode)
使用同一个 MCP 服务,只需一行——无需繁重安装,uvx 会按需运行它:
{ "command": "uvx", "args": ["--from", "crowbar-cli", "crowbar-mcp"] }
claude mcp add crowbar -- uvx --from crowbar-cli crowbar-mcp # or, manually, in Claude Code
仓库内附带 .claude-plugin/、.codex-plugin/、gemini-extension.json 和与宿主无关的 skills/crowbar/SKILL.md,因此大多数宿主都能自动检测到它。
更喜欢直接使用 CLI?
Agent 能做的所有事,你都可以在终端中完成。需要 Python 3.11+,且无需安装依赖。
uvx crowbar-cli # run without installing
uv tool install crowbar-cli # or pipx install crowbar-cli / pip install crowbar-cli
nix run github:kushvinth/crowbar
git clone https://github.com/kushvinth/crowbar && cd crowbar && ./bin/crowbar --help
构建索引
crowbar sync --tier lite # pick lite | medium | heavy | extreme
crowbar build --tier lite # build the local index
crowbar doctor # verify it's ready
使用 uvx 时,在每条命令前加上:uvx crowbar-cli sync --tier lite。之后使用 crowbar update(约 10 秒)刷新——就地更新 NVD 修改记录、KEV、EPSS 和 Exploit-DB。
容量层级——每个层级都包含其上方层级的全部内容,因此你可以根据磁盘空间选择:
| tier | 大小 | 包含内容 |
|---|---|---|
lite | 约 150 MB | KEV、EPSS、近期 CVE、CWE 名称 |
medium | 约 500 MB | + 完整 NVD 历史数据、CAPEC、SSVC、ATT&CK |
heavy | 约 2 GB | + Exploit-DB、Nuclei、Metasploit、OSV、PoC |
extreme | 完整 | + MSRC、Apple、Debian——所有来源 |
crowbar 的工作原理
你的 Agent 通过 MCP 向 crowbar 询问某个目标。crowbar 从本地索引中回答——绝不访问网络——并提供 KEV/SSVC/EPSS/CVSS 判定、受影响的版本范围,以及可用 PoC 的链接。Agent 会依据这些有据可查的结果解释风险、决定要修补什么,或在获得授权的情况下编写并测试漏洞利用程序。CLI 命令使用相同的读取层。
可以询问什么
| 问题 | crowbar 返回什么 | 命令 |
|---|---|---|
| 这个 CVE 是什么意思?严重吗? | CVSS、EPSS、KEV、SSVC、CWE、CPE 范围、引用、PoC | crowbar cve CVE-2021-44228 |
| 我们运行的是 X 产品 Y 版本——有哪些漏洞可被利用? | 仅返回 CPE 范围涵盖 Y 的 CVE,并显示匹配范围 | crowbar product nginx --version 1.18.0 |
| 该漏洞是否已在实际攻击中被利用? | CISA KEV + SSVC active/poc/none | crowbar kev, crowbar cve <id> |
| 哪里有可用的漏洞利用或检测方法? | Exploit-DB、Nuclei 模板、Metasploit 模块 | crowbar exploit log4j · crowbar nuclei <q> · crowbar msf <q> |
| 这个 CVE 有公开的 PoC 仓库吗? | GitHub PoC 元数据(星标数、语言)——从不克隆 | crowbar poc --cve <id> |
| 这个 npm / PyPI / Go 包是否受影响? | OSV/GHSA 公告及引入/修复版本范围 | crowbar advisory --package lodash --ecosystem npm |
| Windows / iOS / macOS 公告? | MSRC + Apple 公告,标准化影响类型(RCE/EoP/…) | crowbar os --platform windows --impact RCE |
| 能否查看漏洞利用的代码,而不只是标题? | 在 46k 条 Exploit-DB 源码中进行全文搜索 | crowbar code "jndi lookup ldap" |
| 某个就地取材的二进制文件? | GTFOBins / LOLBAS / PayloadsAllTheThings | crowbar bin certutil |
| 某种技术、弱点类别或模型? | ATT&CK / CWE / CAPEC / LLM 目录 | crowbar attack T1059 · crowbar cwe 79 |
| 任何内容,按我的方式查询 | 对整个索引执行只读 SQL | crowbar sql "select id,epss from cve where kev=1" |
按 KEV / SSVC active > EPSS > CVSS 对威胁排序——绝不单独依赖 CVSS。大多数读取命令都接受 --json。请参阅完整命令参考
和 AGENTS.md 中的遍历手册。
示例
用一条命令对 Log4Shell 进行分诊。 crowbar cve CVE-2021-44228 返回 CRIT 10.0 · KEV · EPSS 1.00 · ssvc=active、44 个受影响的 CPE 范围、Exploit-DB 50592
(RCE)、44 个 Nuclei 模板和 4 个 Metasploit 模块——离线即可在约 80 毫秒内获得完整结论。
“我们运行的哪些东西可被利用?” crowbar product nginx --version 1.18.0
会将每个 NVD CPE 范围与 1.18.0 进行比对,并且只返回真正匹配的结果,例如
CVE-2021-23017 HIGH 7.7 · matched f5:nginx >=0.6.18 <1.20.1——而不是所有
仅仅提到“nginx”的 CVE。
搜寻正在被积极利用的漏洞。 crowbar search "remote code execution" --kev --epss 0.5 --sort epss 会列出 CVE-2021-26855(Exchange)、CVE-2020-0796
(SMBGhost)等漏洞,每个漏洞均附有 exp×N nuc×N poc×N 计数,并按实际
被利用的可能性排序。
使用 crowbar 时发现了有意思的内容?请提交 issue 或 PR,并说明目标、 你的问题以及发现。
常见问题
哪些 Agent 可以使用 crowbar?
任何 MCP 宿主:Claude Code、Codex、Cursor、Gemini CLI、opencode 和 Claude
Desktop。启动命令是 uvx --from crowbar-cli crowbar-mcp;此仓库为常见宿主提供了可直接使用的清单。你也可以通过终端使用所有功能。
它会向外发送数据或需要 API 密钥吗?
不会。所有数据集都在构建时通过普通 HTTP 获取,无需令牌;之后 crowbar 完全离线运行。MCP 服务不会发起任何网络请求,索引以只读方式打开。
它实际有多大?
由你选择。lite 索引约为 150 MB,能在毫秒内返回结果;extreme 则包含完整语料(索引约 1.5 GB,原始数据约 3.3 GB)。crowbar doctor 会告诉你构建了什么,而 crowbar stats 始终提供权威数据。
crowbar 会运行漏洞利用程序吗?
绝不会。它将漏洞利用和 PoC 数据作为数据编入索引。crowbar exploit <id> 会下载源码供你检查;是否运行由你决定,并且应在一次性虚拟机中、获得授权后运行。
它和 vulnx / cve-mcp / CIRCL 有什么不同?
这些工具会查询实时 API(依赖网络、受速率限制,结果也会变化)。crowbar 是本地索引:可离线使用、结果可复现,并且能对 Exploit-DB 源代码进行全文搜索,而 API 封装器做不到这一点。
文档
- crowbar.kushvinth.com - 快速入门、命令和 Agent 设置。
- AGENTS.md - Agent 遍历手册(架构、操作指南和防护措施)。
- docs/DATASETS.md - 各数据源的结构、许可证和注意事项。
- docs/MAP.md - 仓库目录树、数据流和表格索引。
- CONTRIBUTING.md · SECURITY.md · 发布版本
Star 历史
免责声明
crowbar 仅用于合法的安全研究、防御,以及对你拥有或获准测试的系统进行分析。请参阅 DISCLAIMER.md。KEV/SSVC 描述的是在其他地方观察到的漏洞利用情况,EPSS 是模型估算结果;缺少记录并不能证明“未受影响”——采取行动前请先核实。
贡献
欢迎帮助改进 crowbar!提交问题,报告 Bug、错误的 CVE 记录或缺失的数据集;也可以提交拉取请求,改进代码或文档。
有关开发流程、添加数据集检查清单和测试套件,请参阅 CONTRIBUTING.md。crowbar 仅使用标准库;请保持这一点。
许可证
crowbar 编写的代码采用 MIT 许可证。它所索引的上游数据遵循各自的许可证和条款;来源清单请参阅 第三方声明 和 docs/DATASETS.md。
索引中的漏洞利用和 PoC 数据仅供参考,不构成许可。 crowbar 绝不会运行这些数据,它返回的任何内容都不授权你测试系统。仅可将其用于你拥有或获准测试的系统;请参阅 DISCLAIMER.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。