mcpField
A
attAck-mcp-server

attAck-mcp-server

远程服务
github.com/alex-llm安全356 周前更新
代码仓库

关于 attAck-mcp-server

attAck-mcp-server 是用于查询 ATT&CK 对手战术与技术的 MCP 服务,面向安全分析和研究工作。它可按 ID 或名称检索技术,并提供检测、缓解及战术信息。

主要功能

  1. 01按 ID 或名称查询技术
  2. 02模糊匹配技术名称
  3. 03获取技术完整详情
  4. 04查询检测与缓解措施
  5. 05列出 ATT&CK 战术
  6. 06查看服务与数据集信息

适用场景

  1. 01调查特定 ATT&CK 技术
  2. 02按关键词查找相关技术
  3. 03查看技术的检测和缓解信息

MCP 相关

通过 MCP 向客户端提供 ATT&CK 技术、战术、检测与缓解信息查询工具;支持 stdio 和 HTTP 传输。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://server.smithery.ai/@alex-llm/attack-mcp-server/mcp需要授权

工具

详细介绍

attAck-mcp-server

本项目是一个用于查询 ATT&CK(对抗性战术、技术与常见知识)技术和战术的 MCP(Model Context Protocol)服务。它提供了一种访问和检索对手所使用的各种攻击技术和战术信息的方式。

工具

该服务提供以下工具:

  • query_technique: 此工具允许你按 ID 或名称查询 ATT&CK 技术。
    • 参数:
      • technique_id(string,可选):要查询的技术 ID。
      • tech_name(string,可选):要查询的技术名称(或部分名称)。支持名称模糊搜索。
    • 示例:
      • 按 ID 查询:
      {
        "technique_id": "T1059.001"
      }
      
      • 按名称模糊搜索:
      {
        "tech_name": "phishing"
      }
      
  • search_technique_full: 通过技术 ID 或名称查询攻击技术的所有详细信息,返回的数据包含 ID、名称、描述、适用平台、Kill Chain 阶段、参考资料、子技术及缓解措施。名称搜索返回格式为 { "results": [...], "count": N } 的字典,其中 results 为匹配技术完整数据列表。
    • 参数:
      • technique_id(string,可选):要查询的技术 ID。
      • tech_name(string,可选):技术名称关键字,支持模糊匹配。
    • 示例:
      • 按 ID 查询:
      {
        "technique_id": "T1059.001"
      }
      
      • 按名称模糊搜索:
      {
        "tech_name": "phishing"
      }
      
  • query_mitigations: 查询技术的缓解措施
    • 参数:
      • technique_id(string,必填):要查询的技术 ID
    • 示例:
      {
        "technique_id": "T1059.001"
      }
      
  • query_detections: 查询技术的检测方法
    • 参数:
      • technique_id(string,必填):要查询的技术 ID
    • 示例:
      {
        "technique_id": "T1059.001"
      }
      
  • list_tactics: 此工具允许你获取所有 ATT&CK 战术的列表。
    • 参数: 无
  • server_info: 返回服务与数据集的版本、维护者和 Git 信息。
    • 参数: 无
    • 示例:
      {}
      

使用方法

要使用此 MCP 服务,你需要配置一个 MCP 客户端以连接到该服务。连接后,你可以使用提供的工具查询 ATT&CK 技术和战术。

MCP 客户端配置说明

1. 本地 stdio 方式(推荐 Smithery/本地集成)
  • 直接运行:
    python main.py
    
  • 程序会自动选择 stdio 模式(默认或 ATTACK_MCP_MODE=stdio),适用于 Smithery、Cursor 等支持本地 MCP stdio 的客户端。
  • 将 MCP 客户端中的服务类型配置为“local/stdio”,无需指定端口。
  • 适用场景:Smithery 自动化、CI/CD、本地 AI Agent 集成。
2. HTTP/Streamable 方式(远程/开发/调试)
  • 使用 CLI 参数切换模式:

    python main.py --mode http --host 0.0.0.0 --port 8081 --log-level info
    
  • 或通过环境变量控制:

    export ATTACK_MCP_MODE=http
    export ATTACK_MCP_HOST=0.0.0.0   # 可选,默认 0.0.0.0 或 $HOST
    export ATTACK_MCP_PORT=8081      # 可选,默认 8081 或 $PORT
    export ATTACK_MCP_LOG_LEVEL=info # 可选,默认 info
    python main.py
    
  • 运行后,服务将通过可流式 HTTP 方式提供。在客户端中可将服务类型配置为 "http",地址如 http://127.0.0.1:8081/mcp。

  • 远程部署(如 Smithery Cloud)通常会提供 PORT 或 MCP_TRANSPORT 环境变量,可直接运行 python main.py 以使用 HTTP。对于值为 streaming、streamable、streamable-http、streamable HTTP transport 或 stdioNotSupported 等新枚举的运行环境,程序会自动回退到 HTTP 模式,无需额外配置。

  • Smithery 等容器平台会通过 PORT(默认为 8081)告知监听端口;程序会自动读取该值并监听在 0.0.0.0:$PORT。

  • 工具名称:query_technique、search_technique_full、query_mitigations、query_detections、list_tactics、server_info

  • 参数示例:

    • 按 ID 查询技术:
      {
        "technique_id": "T1059.001"
      }
      
    • 按名称模糊搜索技术:
      {
        "tech_name": "phishing"
      }
      
    • 使用 search_technique_full 获取技术的完整详细信息:
      {
        "tech_name": "phishing"
      }
      
    • 查询技术缓解措施:
      {
        "technique_id": "T1059.001"
      }
      
    • 查询技术检测方法:
      {
        "technique_id": "T1059.001"
      }
      
    • 查询战术列表:
      {}
      
    • 查询服务与数据集信息:
      {}
      

具体的客户端配置方式请参考你的 MCP 客户端文档,将上述服务地址和工具名称填入相应位置即可。

安装

  1. 克隆此仓库。
  2. 使用 pip install -r requirements.txt 安装所需依赖。
  3. 在 MCP 客户端中配置 MCP 服务。

ATT&CK

ATT&CK is a curated knowledge base and model for cyber adversary behavior, reflecting the various phases of an adversary's attack lifecycle and the platforms they are known to target. ATT&CK is useful for understanding security risks against any specific technology or organization.

快速启动

方式一:直接用 Python 脚本运行(开发/调试推荐)
  1. 安装依赖(建议在虚拟环境中):
    pip install -r requirements.txt
    
  2. 确保 enterprise-attack.json 数据集在项目根目录。
  3. 启动服务(默认 stdio 模式,适用于本地客户端集成):
    python main.py
    
  4. 如果需要以 HTTP 方式提供服务,请显式选择模式:
    python main.py --mode http --host 127.0.0.1 --port 8081
    
方式二:生产环境推荐(Docker 部署)
Docker
  1. 构建镜像:
    docker build -t attack-mcp-server .
    
  2. 运行容器:
    docker run -p 8081:8081 attack-mcp-server
    

API 说明

  • /query_technique 通过ID或名称查询攻击技术详情(支持名称模糊搜索)
  • /search_technique_full 通过ID或名称查询攻击技术的完整详细信息(名称搜索返回匹配技术列表,包含子技术与缓解措施)
  • /query_mitigations 查询指定技术的缓解措施
  • /query_detections 查询指定技术的检测方法
  • /list_tactics 获取所有ATT&CK战术分类
  • /server_info 返回服务版本、数据集版本和Git信息

如有问题请联系维护者。

评论

支持 Markdown

第一次接触 MCP?

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

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