手把手搭建本地安全情报工作台:Claude 一键查 CVE

44 次阅读 0 点赞 0 评论 9 分钟原创技术教程

本文手把手教学,15 分钟搭建基于 MCP 协议的安全情报工作台。学完后可让 Claude 直接调用 24 个安全数据源,实现对 CVE 漏洞的一键评估与多源情报聚合,告别在十几个浏览器标签页间来回切换的低效工作流。

#MCP #安全情报 #CVE #AI辅助开发 #Claude #实战教程
手把手搭建本地安全情报工作台:Claude 一键查 CVE

凌晨两点的 CVE 告警,你到底要开几个浏览器页面?

团队收到高危 CVE 告警邮件,第一反应通常是打开浏览器——先去 NVD 查 CVSS 分数,再到 CISA KEV 看是否在野生利用目录,接着切 EPSS 看利用概率,然后跑 GitHub 搜 PoC,最后去 VirusTotal 查关联样本。信息拼完,半小时过去了。

如果一天要处理 50 个告警,这活儿根本扛不住。

今天这篇教程,带你用 15 分钟搭建一个安全情报工作台——基于开源项目 cve-mcp-server,利用 MCP(Model Context Protocol)协议让 Claude 直接调用 24 个安全情报源。一个问题问出去,后台自动并行查询所有数据源,返回结构化的风险评估报告。

开 15 个浏览器标签的日子,到此结束。

环境准备

  • Python 3.10 或以上(推荐 3.11/3.12)
  • 终端(macOS/Linux Terminal 或 Windows PowerShell)
  • Claude Desktop 客户端 或 Claude Code CLI(二选一)
  • 不需要任何付费服务——8 个核心工具在零 API Key 状态下即可使用

第一步:克隆并安装服务

打开终端,执行以下命令:

bash 复制代码
git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server

## 创建虚拟环境(避免依赖污染全局)
python -m venv venv
source venv/bin/activate        # macOS / Linux
## Windows 使用: venv\Scripts\Activate

## 安装项目
pip install -e .

-e 参数表示开发模式安装,修改源代码后无需重新安装即可生效,调试时非常实用。

验证服务能否正常启动:

bash 复制代码
python -m cve_mcp.server

终端没有报错退出即表示成功(MCP stdio 模式会等待输入,看起来像卡住)。按 Ctrl+C 停止即可。

第二步:配置 Claude Desktop 连接

MCP 协议的核心威力在这里——让 Claude 直接调用你的安全工具。

macOS 配置文件位置:~/Library/Application Support/Claude/claude_desktop_config.json

Windows 配置文件位置:%APPDATA%\Claude\claude_desktop_config.json

写入以下内容:

json 复制代码
{
  "mcpServers": {
    "cve-mcp": {
      "command": "python",
      "args": ["-m", "cve_mcp.server"],
      "cwd": "/你的绝对路径/cve-mcp-server"
    }
  }
}

必须使用绝对路径。相对路径会因 Claude Desktop 启动位置不同而解析失败。把 ~ 展开成完整的 /Users/你的用户名/cve-mcp-server 或 Windows 下的完整路径。

配置完成后,完全退出 Claude Desktop(macOS 按 Cmd+Q,Windows 按 Alt+F4),再重新打开。输入框旁出现 🔨 锤子图标,说明 MCP 工具已连接。

使用 Claude Code CLI 的用户,一条命令搞定:

bash 复制代码
claude mcp add cve-mcp -- python -m cve_mcp.server

第三步:零 Key 快速体验

项目设计了渐进式能力,8 个核心工具无需 API Key 即可使用:CVE 查询、EPSS 评分、CISA KEV 检查、CWE 信息、CVSS 解析、MITRE ATT&CK 映射、OSV.dev 依赖扫描、勒索软件查询。

打开 Claude,输入:

"帮我查一下 CVE-2021-44228 的信息。它有没有被主动利用?风险高不高?"

Claude 会在后台自动调用 lookup_cveget_epss_scorecheck_kev_status,整理出综合结果。

第四步:实战——一键评估 Log4Shell 风险

在 Claude 对话框中输入:

"使用 triage_cve 工具,对 CVE-2021-44228 做一次深度分析,depth 设为 deep。告诉我风险分数、是否需要紧急修复、理由是什么。"

Claude 调用 triage_cve 编排器,后台并行执行:

  1. 从 NVD 拉取 CVSS 评分和受影响产品列表
  2. 从 FIRST 获取 EPSS 利用概率
  3. 检查 CISA KEV 目录是否在列
  4. 搜索公开 PoC 利用代码
  5. 计算综合风险分数(CVSS × 20% + EPSS × 35% + KEV × 30% + PoC × 15%)
  6. depth=deep 时输出 SSVC v2 定性决策

结果示例:

复制代码
风险评分:97/100(CRITICAL)
  - CVSS 3.1: 10.0(远程代码执行,无需认证)
  - EPSS 利用概率: 97.5%(历史前 0.01%)
  - CISA KEV: ✅ 在列(2021-12-10 收录)
  - 公开 PoC: ✅ 300+ 个仓库

建议:24-48 小时内紧急修复

EPSS 占最大权重 35%,因为统计利用概率比理论 CVSS 分数更能反映真实风险。CISA KEV 占 30%——这是野生利用的铁证。KEV 命中存在硬性覆盖:进入 KEV 目录后风险标签永远是 CRITICAL,分数至少 76。

第五步:进阶——加上 NVD API Key 提升查询效率

NVD 免费 API 限制为 30 秒内 5 次请求。批量处理 CVE 时,这个速率会成为瓶颈。注册免费 NVD API Key 后,速率提升至 30 秒 50 次。

项目根目录创建 .env 文件:

bash 复制代码
echo 'NVD_API_KEY=你的NVD密钥' > .env

更新 Claude Desktop 配置,加上 env 字段:

json 复制代码
{
  "mcpServers": {
    "cve-mcp": {
      "command": "python",
      "args": ["-m", "cve_mcp.server"],
      "cwd": "/你的绝对路径/cve-mcp-server",
      "env": {
        "NVD_API_KEY": "你的NVD密钥"
      }
    }
  }
}

完全退出 Claude Desktop 再重启即生效。

常见问题与踩坑提醒

Q: Claude 输入框没有锤子图标 🔨?

检查 JSON 格式,特别是路径中的斜杠方向(Windows 用 \\ 或正斜杠)。确认使用绝对路径。最后——完全退出再重启 Claude Desktop,仅最小化窗口无效。

Q: NVD 报错 403/503?

NVD 2024 年底升级 API,必须携带 API Key 才能访问。免费版注册等一封邮件即可,拿到后填入 .env。暂时不需要 NVD 时,其他 7 个零 Key 工具不受影响。

Q: 能扫描项目依赖吗?

可以。在 Claude 里说:"扫描这些 Python 依赖:requests==2.28.0, flask==2.2.0, django==3.2.0"——项目通过 OSV.dev 自动比对已知漏洞库并给出升级建议。

Q: Windows 上遇到编码错误?

PowerShell 中先执行:

powershell 复制代码
$env:PYTHONUTF8 = "1"
$env:PYTHONIOENCODING = "utf-8"

然后启动服务。

总结

回顾完整工作流:

  1. 克隆并安装 CVE MCP Server
  2. 配置 Claude Desktop 的 MCP 连接,让 AI 直接调用安全工具
  3. 零 Key 完成首轮 CVE 查询,体验多源情报聚合
  4. 用 triage_cve 编排器一键评估 Log4Shell 风险
  5. 注册 NVD API Key,查询效率提升 10 倍

核心价值很明确:不再需要在 15 个安全情报源之间来回切换。一个问题发出去,后台自动并行查询、关联分析、打分排序,返回经过综合判断的可执行结论。

下一步建议

  • 添加 Tier 2 API Key(VirusTotal、Shodan、GreyNoise),解锁 IP 信誉查询和恶意软件分析
  • 试试 scan_dependencies 工具,把 requirements.txtpackage-lock.json 丢给它做安全审计
  • 自己扩展工具:项目基于 FastMCP,在 server.py 里用 @mcp.tool() 装饰器注册新工具只需几十行代码——想深入学习 MCP 协议的后端开发者,这是极好的实战素材
最后更新:2026-09-01T10:03:08

评论 (0)

发表评论

blog.comments.form.loading
0/500
加载评论中...