mcpField
S
stig-mcp

stig-mcp

本地服务
github.com/jeneric安全13 周前更新

关于 stig-mcp

stig-mcp 是基于公开安全指南知识库的本地 MCP 服务,面向安全控制评估人员、系统负责人和 SOC 分析师。它将 MITRE ATT&CK 技术与 NIST 控制、DISA STIG 配置步骤及检测信息关联起来,不会扫描或连接用户系统。

主要功能

  1. 01映射 ATT&CK 技术与 NIST 控制
  2. 02查找适用的 DISA STIG 基准
  3. 03提供配置检查与修复文本
  4. 04关联缓解措施和日志检测

适用场景

  1. 01评估某项 ATT&CK 技术对应的安全控制
  2. 02查找 Windows 或 RHEL 系统的 STIG 步骤
  3. 03依据现有日志评估威胁检测能力

MCP 相关

该本地 MCP 服务向 AI 助手提供安全知识库查询能力。可由 VS Code、Claude Code 或其他支持 stdio 的 MCP 客户端启动。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"jeneric-stig": {
"command": "uvx",
"args": [
"stig-mcp"
],
"env": {
"STIG_MCP_DATA": "<STIG_MCP_DATA>"
}
}
}
}
启动命令uvx stig-mcp
需要配置的环境变量
STIG_MCP_DATADirectory holding the knowledge base and downloaded sources

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

安装包
pypistig-mcp0.2.0

工具

9

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

参数类型必填说明
severityany否
platformsany否
log_sourcesany否
technique_idstring是
benchmark_idsany否
system_descriptionany否

详细介绍

stig-mcp

一个本地 MCP(Model Context Protocol)服务,让 AI 助手(例如 VS Code 中的 GitHub Copilot 或 Claude Code)依据已发布的指南回答安全问题,而不是依靠记忆。说出一个 MITRE ATT&CK® 技术或威胁行为者,以及你关注的系统,就能获得以下答案:

  • 可缓解该问题的 NIST SP 800-53 安全控制;
  • 在该系统上实施这些控制的 DISA STIG 配置规则,按严重程度从高到低排列;按需提供 DISA 的检查和修复文本;
  • ATT&CK 自身的缓解措施,以及哪些检测方法适用于你收集的日志。

它不会扫描或连接你的系统。它的答案来自知识库,这是一个基于这些公开来源构建、大小约为 6 MB 的本地数据库,只需安装一次即可。用户指南说明了它的功能,并介绍了三种使用方式:作为安全控制评估员、系统所有者或 SOC 分析师。

前置条件

stig-mcp 已发布到 PyPI,并通过 uvx 运行;uvx 随 uv 一同提供。 安装 uv,然后在新的终端中确认 uvx --version 可以运行。安装 uv 后,请重启 VS Code 或 Claude Code,以便它们识别新的 PATH。

快速开始

VS Code(GitHub Copilot)
  1. 单击此徽章。VS Code 将打开并提示安装 stig-mcp;选择 Install。

    在 VS Code 中安装

  2. 打开 Copilot Chat,并将模式下拉菜单设为 Agent。Ask 或 Edit 模式下无法使用 MCP 工具。

  3. 提问:Install the stig-mcp knowledge base. 这会一次性下载约 6 MB 的数据。 VS Code 提示时,请允许使用该工具。

如果无法正常使用,请参阅故障排除或 手动设置 VS Code。

Claude Code
  1. 在 Claude Code 会话中(版本为 2.1.275 或更高),运行:

    /plugin install stig-mcp --marketplace jeneric/STIG-MCP
    
  2. 提问:Install the stig-mcp knowledge base. 这会一次性下载约 6 MB 的数据。 Claude Code 提示时,请允许使用该工具。

如果无法正常使用,请参阅故障排除或 手动设置 Claude Code。

提示词示例

安装知识库后,可以尝试:

  1. 系统所有者:What DISA STIG steps mitigate T1078 on Windows 11?
  2. 安全控制评估员:Which ATT&CK techniques does APT29 use?
  3. 任何人,用于查找适用的 STIG:Which STIG benchmarks apply to RHEL 9?
  4. SOC 分析师:What can I detect of APT29 on Windows Server 2022 with Security and Sysmon logs?

用户指南中还有更多提示词示例,并介绍了如何更充分地使用它,以及如何确保 Agent 从服务获取答案。

其他 MCP 客户端

仅当你不使用 VS Code 或 Claude Code 时才使用此配置。任何能够启动本地 (stdio)MCP 服务的客户端都可以使用这种配置,采用通用的 mcpServers 格式:

{
  "mcpServers": {
    "stig-mcp": {
      "command": "uvx",
      "args": ["stig-mcp"],
      "env": { "UV_SYSTEM_CERTS": "true", "UV_NATIVE_TLS": "true" }
    }
  }
}

这两个环境变量可让 uv 在经过 TLS 检查的代理后下载 stig-mcp。在大多数其他主机上,这两个变量不会造成影响;该章节指出了唯一的例外。然后,像快速入门中那样,让 Agent 安装 stig-mcp 知识库。

docs/install.md 中有详细说明:

此服务会获取的内容

  • 除非调用 check_sources 或 install_knowledge_base,否则 MCP 服务不会联系任何主机。调用后,它会向 api.github.com(此仓库的发布版本列表)和 github.com(/jeneric/STIG-MCP/releases/download/...)发送 HTTPS GET 请求;后者会重定向到 release-assets.githubusercontent.com 或 objects.githubusercontent.com。任何其他 URL(包括重定向目标)都会被拒绝。不会上传任何内容,也没有遥测。调用 install_knowledge_base 并提供文件路径和 SHA-256 值时,不会发出任何请求。
  • stig-mcp-install-kb 会联系相同的主机;使用 --file 时则完全不会联系任何主机。
  • stig-mcp-fetch 仅用于自行构建知识库,会从 raw.githubusercontent.com 和 api.github.com(MITRE ATT&CK、CTID 映射、NIST 800-53 目录)以及 dl.dod.cyber.mil(DISA)下载内容。

PRIVACY.md 说明了这些请求各自会发送什么内容,以及本地会存储什么内容。

文档

  • docs/install.md:所有客户端的安装详情、数据的存放位置以及故障排除。
  • docs/user-guide.md:供与已接入此服务的大模型对话的用户参考。
  • docs/operations.md:供负责安装、构建和维护知识库的人员参考。
  • SECURITY.md:如何报告漏洞,以及漏洞报告的受理范围。
  • CONTRIBUTING.md:如何从源代码检出目录开展工作、运行测试以及遵循项目约定。
  • RELEASING.md:供维护者参考,说明如何将软件包发布到 PyPI 和 MCP Registry。
  • PRIVACY.md:服务和获取工具会联系哪些主机,以及本地会存储什么内容。

第三方内容

知识库汇总了 MITRE ATT&CK、CTID 映射、DISA STIG、DISA CCI 列表和 NIST OSCAL 内容。有关署名和许可义务,请参阅 NOTICE;有关该声明要求附带的 Apache 2.0 许可证文本,请参阅 licenses/apache-2.0.txt。

开发

在 Claude Code(Anthropic)的协助下开发。所有更改均由维护者审查并测试。

评论

支持 Markdown

第一次接触 MCP?

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

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