mcpField
C
crowbar

crowbar

本地服务
github.com安全81 天前更新

关于 crowbar

crowbar 是用于 CVE 研究的 MCP 服务和命令行工具,可从安全公告及漏洞利用参考资料构建本地 SQLite 与 FTS5 索引。安全团队和编码 Agent 可离线查询受影响版本、利用情况信号及 PoC 参考。

主要功能

  1. 01在本地索引 CVE 与安全公告数据
  2. 02将 CVE 与产品版本匹配
  3. 03依据 KEV、SSVC、EPSS 和 CVSS 排序风险
  4. 04搜索漏洞利用与 PoC 参考
  5. 05更新索引并报告数据状态
  6. 06提供命令行与只读 SQL 查询

适用场景

  1. 01分析软件依赖中的漏洞
  2. 02检查产品版本适用的 CVE
  3. 03查找漏洞利用与检测参考
  4. 04查看近期被利用或热门的 CVE

MCP 相关

MCP 服务提供 cb_cve、cb_product、cb_search 和 cb_exploit 等工具,用于查询本地索引。它从只读索引返回结果,不进行网络调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kushvinth-crowbar": {
"command": "uvx",
"args": [
"crowbar-cli"
]
}
}
}
启动命令uvx crowbar-cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicrowbar-cli0.1.5

工具

20

收录的工具列表 · 更新于 2 天前

参数类型必填说明
cwestring否
kevboolean否
pocboolean否仅包含有公开 PoC 的 CVE
sortenum否relevance | newest | oldest | cvss | epss
ssvcstring否none | poc | active
yearinteger否
limitinteger否
querystring否
sincestring否
offsetinteger否
vendorstring否
exploitboolean否
productstring否
min_cvssnumber否
min_epssnumber否
severitystring否

详细介绍

原文在翻译后有更新,译文可能不是最新。

crowbar

检索 CVE,并将其编入代码库索引。

指定产品和版本。它会获取适用的 CVE 并在本地编入索引,这样仓库中的任何工具都能查询结果。

npm PyPI CI MCP server Python skills.sh MIT license

网站 · 指南 · 展示案例

快速开始 · crowbar 的工作原理 · 可解答的问题 · 展示案例 · 常见问题 · 文档

npx crowbar-cli setup

重要

请从 kushvinth/crowbar、 crowbar.kushvinth.com 或 crowbar-cli 软件包获取 crowbar。仓库名称相似 或 README 被复制,都不代表下载内容是官方版本。

crowbar 对 CVE-2021-44228 进行分诊,匹配 nginx 1.18.0,并找到 Log4Shell 漏洞利用程序


代码库中没有 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 MBKEV、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 从本地索引中回答,Agent 获得有依据的答案

你的 Agent 通过 MCP 向 crowbar 询问某个目标。crowbar 从本地索引中回答——绝不访问网络——并提供 KEV/SSVC/EPSS/CVSS 判定、受影响的版本范围,以及可用 PoC 的链接。Agent 会依据这些有据可查的结果解释风险、决定要修补什么,或在获得授权的情况下编写并测试漏洞利用程序。CLI 命令使用相同的读取层。

可以询问什么

问题crowbar 返回什么命令
这个 CVE 是什么意思?严重吗?CVSS、EPSS、KEV、SSVC、CWE、CPE 范围、引用、PoCcrowbar cve CVE-2021-44228
我们运行的是 X 产品 Y 版本——有哪些漏洞可被利用?仅返回 CPE 范围涵盖 Y 的 CVE,并显示匹配范围crowbar product nginx --version 1.18.0
该漏洞是否已在实际攻击中被利用?CISA KEV + SSVC active/poc/nonecrowbar 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 / PayloadsAllTheThingscrowbar bin certutil
某种技术、弱点类别或模型?ATT&CK / CWE / CAPEC / LLM 目录crowbar attack T1059 · crowbar cwe 79
任何内容,按我的方式查询对整个索引执行只读 SQLcrowbar 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 封装器做不到这一点。

文档

Star 历史

Star History Chart

免责声明

crowbar 仅用于合法的安全研究、防御,以及对你拥有或获准测试的系统进行分析。请参阅 DISCLAIMER.md。KEV/SSVC 描述的是在其他地方观察到的漏洞利用情况,EPSS 是模型估算结果;缺少记录并不能证明“未受影响”——采取行动前请先核实。

贡献

欢迎帮助改进 crowbar!提交问题,报告 Bug、错误的 CVE 记录或缺失的数据集;也可以提交拉取请求,改进代码或文档。

有关开发流程、添加数据集检查清单和测试套件,请参阅 CONTRIBUTING.md。crowbar 仅使用标准库;请保持这一点。

许可证

MIT

crowbar 编写的代码采用 MIT 许可证。它所索引的上游数据遵循各自的许可证和条款;来源清单请参阅 第三方声明 和 docs/DATASETS.md。

索引中的漏洞利用和 PoC 数据仅供参考,不构成许可。 crowbar 绝不会运行这些数据,它返回的任何内容都不授权你测试系统。仅可将其用于你拥有或获准测试的系统;请参阅 DISCLAIMER.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。