Token导航 LogoToken导航

MCP Server · 安全风控

Threat Byte MCP

ThreatByte-MCP是一个基于MCP的漏洞管理平台,专为SOC分析师培训设计,提供案例管理、工具注册和代理工作流等功能。

stdio官方级别未说明来源级核验工具 22
PythonClaude安全Claude Desktop

快速开始

作者 / 组织
anotherik
提供方
anotherik
运行时
Python

工具数量

22

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

2 个

MCP World

选型结论

Threat Byte MCP 属于安全风控类 MCP Server,公开资料标注 22 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

安全风控

传输方式

stdio

认证方式

访问 Token

部署方式

支持远程部署

安装与配置

安装命令

python run_mcp_server.py --stdio

客户端配置示例

{
  "mcpServers": {
    "threatbyte-mcp": {
      "command": "python",
      "args": [
        "run_mcp_server.py",
        "--stdio"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 22 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ThreatByte MCP

##

ThreatByte MCP是一个故意易受攻击的基于MCP的案例管理web应用程序。它通过服务器渲染的UI和真实的MCP服务器反映了现实的SOC分析师工作流程。这 MCP工具故意易受攻击 用于培训和演示。

\[!注意\] 仅用于受控环境中的教育用途。

特性

  • 安全的网络身份验证(注册/登录/注销)
  • 案例管理UI(创建/列出/查看案例)
  • 与案件相关的注释和附件
  • 通过MCP工具进行指标搜索和代理工作流程
  • 使用基于模式的工具注册表进行代理定制

MCP服务器(SDK、JSON-RPC)

ThreatByte MCP是一种拆分架构:

  • SOC Web App(客户端/UI)在端口5001上运行。
  • MCP服务器(工具+代理)使用官方的MCP Python SDK(FastMCP)在端口5002上运行。

MCP服务器在以下位置公开JSON-RPC POST http://localhost:5002/mcp (流式HTTP)。web UI通过服务器端代理调用MCP服务器,以保持身份验证与SOC会话的一致性;代理通过SSE将代理响应流式传输到浏览器。一个样本 mcp.json 清单包含在回购根目录中。 所有直接MCP呼叫必须包括 MCP-Protocol-Version: 2025-11-25 和 Accept: application/json, text/event-stream.

架构(简化):

          Browser
             |
             v
    +------------------+        X-TBMCP-Token + X-TBMCP-User        +-------------------+
    |  SOC Web App     |  ---------------------------------------> |     MCP Server     |
    |  (Flask, :5001)  |           /mcp-proxy (server-side)         |  (FastMCP, :5002)  |
    +------------------+                                            +-------------------+
             |                                                                  |
             v                                                                  v
         SQLite DB                                                      Tool registry
                                                                       Agent + tool handlers

架构(详细):

Mode A (Web UI as HTTP MCP client)
  Browser (Analyst)
    |
    v
  SOC Web App (Flask, :5001)
    - Auth session (cookie)
    - Dashboards, cases, notes, files UI
    - POST /mcp-proxy forwards JSON-RPC
    - Injects X-TBMCP-Token + X-TBMCP-User to the MCP server
    |
    +--> SQLite DB (users/cases/notes/files/indicators)
    +--> Uploads (app/uploads)
    |
    v
  MCP Server (FastMCP, :5002)
    - /mcp JSON-RPC (Streamable HTTP)
    - Tool registry (mcp_tools)
    - Agent runtime + tool handlers
    - Persistence: agent_contexts, agent_logs, mcp_audit_logs

Mode B (Local agent/IDE as stdio MCP client)
  Local Agent / IDE (e.g., Claude Desktop) spawns:
    python run_mcp_server.py --stdio
  and communicates via stdin/stdout JSON-RPC (stdio transport).

图表: ThreatByte MCP架构图

Web应用程序与MCP服务器之间的MCP认证

web应用程序使用以下标头代理MCP调用:

  • X-TBMCP-Token:来自的共享秘密 TBMCP_MCP_SERVER_TOKEN (在两台服务器上配置)。
  • X-TBMCP-User:来自经过身份验证的SOC会话的当前用户id。

直接MCP调用需要相同的标头。

支持的工具:

  • cases.create
  • cases.list
  • cases.list_all
  • cases.get
  • cases.rename
  • cases.set_status
  • cases.delete
  • notes.create
  • notes.list
  • notes.update
  • notes.delete
  • files.upload (base64)
  • files.list
  • files.get (base64)
  • files.read_path
  • indicators.search
  • agent.summarize_case
  • agent.run_task
  • tools.registry.list
  • tools.builtin.list
  • tools.registry.register
  • tools.registry.delete

脆弱性主题(以培训为重点)

以下缺点是 故意出席 用于教学:

  • 对象级授权中断(案例/注释/文件,list_all)
  • 存储的XSS(笔记呈现为受信任的HTML)
  • 指标搜索中的SQL注入
  • 代理任务运行器中的快速注入
  • 令牌管理不善和秘密暴露(提示、持久化上下文、完整日志中的硬编码令牌)
  • 通过模式驱动的工具注册表覆盖导致工具中毒(MCP03)
  • 过度信任客户端上下文(MCP标头身份欺骗)
  • 通过读取任意文件 files.read_path
  • 跨用户文件覆盖(共享文件名命名空间)

本地运行

cd ThreatByte-MCP
python -m venv venv_threatbyte_mcp
source venv_threatbyte_mcp/bin/activate
pip install -r requirements.txt
python db/create_db_tables.py
python run_mcp_server.py --http
python run.py

打开: http://localhost:5001

MCP服务器: http://localhost:5002/mcp

HTTP与stdio

此存储库提供两种MCP服务器传输:

  • HTTP(流式HTTP)ThreatByte web应用程序使用什么。web应用程序是 仅限HTTP MCP客户端,通过服务器端 /mcp-proxy 货运代理。
  • 标准:对于外部MCP客户端(例如IDE/代理客户端) 产卵 MCP服务器,并通过stdin/stdout进行通信。

示例:

# HTTP (required for the web app)
python run_mcp_server.py --http --host 127.0.0.1 --port 5002

# stdio (for MCP clients that support stdio transport; the web app will NOT work with this)
# In stdio mode there are no HTTP headers, so the server reads user context from env vars.
# Note: stdio mode runs the MCP server on AnyIO's Trio backend; ensure `trio>=0.28.0` is installed.
export TBMCP_MCP_SERVER_TOKEN=tbmcp-mcp-token
export TBMCP_MCP_USER_ID=1
python run_mcp_server.py --stdio
Claude桌面兼容性(工具名称)

一些MCP客户端(如Claude Desktop)强制执行严格的工具名称验证(^[a-zA-Z0-9_-]{1,64}$)并将拒绝虚线工具名称,如 cases.create.

要在Claude兼容模式下运行MCP服务器,请设置:

  • TBMCP_TOOL_NAME_MODE=claude

这将工具暴露为下划线名称(例如。, cases_create, tools_registry_register, files_read_path)而不是虚线名称。

有关完整的演练(Windows+WSL stdio),请参阅 Claude桌面设置.

使用Docker或Podman运行

存储库包括 Dockerfile 以及初始化数据库并在一个容器中运行这两个服务的启动脚本:

  • SOC Web应用程序已打开 :5001
  • MCP服务器已打开 :5002

塑造形象:

# Docker
docker build -t threatbyte-mcp .

# Podman
podman build -t threatbyte-mcp .

运行容器:

# Docker
docker run --rm -p 5001:5001 -p 5002:5002 threatbyte-mcp

# Podman
podman run --rm -p 5001:5001 -p 5002:5002 threatbyte-mcp

使用可选环境变量运行:

# Docker
docker run --rm -p 5001:5001 -p 5002:5002 \
  -e TBMCP_MCP_SERVER_TOKEN=tbmcp-mcp-token \
  -e OPENAI_API_KEY=your_api_key \
  -e TBMCP_OPENAI_MODEL=gpt-4o-mini \
  threatbyte-mcp

# Podman
podman run --rm -p 5001:5001 -p 5002:5002 \
  -e TBMCP_MCP_SERVER_TOKEN=tbmcp-mcp-token \
  -e OPENAI_API_KEY=your_api_key \
  -e TBMCP_OPENAI_MODEL=gpt-4o-mini \
  threatbyte-mcp

在运行之间持久化SQLite数据(可选):

# Docker
docker run --rm -p 5001:5001 -p 5002:5002 \
  -v "$(pwd)/db:/app/db" \
  -v "$(pwd)/app/uploads:/app/app/uploads" \
  threatbyte-mcp

# Podman
podman run --rm -p 5001:5001 -p 5002:5002 \
  -v "$(pwd)/db:/app/db:Z" \
  -v "$(pwd)/app/uploads:/app/app/uploads:Z" \
  threatbyte-mcp

填充样本数据

python db/populate_db.py --users 8 --cases 20 --notes 40 --files 20

这会创建随机用户、案例、注释和文件工件。所有用户密码均为 Password123!.

LLM集成(代理响应所需)

代理任务终结点需要真正的LLM。如果没有API密钥,代理将返回一个错误,指示它不可用。

环境变量:

  • TBMCP_OPENAI_API_KEY 或 OPENAI_API_KEY
  • TBMCP_OPENAI_MODEL (默认值: gpt-4o-mini)

只保留API密钥的服务器端,不要在浏览器中公开它们。

MCP服务器配置

SOC web应用程序使用共享令牌将MCP调用代理到MCP服务器。

环境变量:

  • TBMCP_MCP_SERVER_URL (默认值: http://localhost:5002/mcp)
  • TBMCP_MCP_SERVER_TOKEN (SOC应用程序和MCP服务器之间的共享密钥)

备注

  • UI使用服务器渲染的模板。
  • MCP工具暴露在 http://localhost:5002/mcp (JSON-RPC)。UI调用它们 /mcp-proxy.
  • 培训有用的UI页面:

- My Cases (所有案例均归登录用户所有) - MCP Audit Logs (来自HTTP+stdio客户端的MCP工具调用的服务器端审计跟踪) - Agent Logs (内部代理运行跟踪;由填充 agent.run_task)

  • 此应用程序故意不安全。不要将其部署到公共互联网。

工具与能力

工具数量

22

资源数量

0

提示词数量

0

能力标签

漏洞管理Python本地部署SOC培训案例管理工具注册代理工作流

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 工具数量 22 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Threat Byte MCP

MCP World · 本页

22stdio有2 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Threat Byte MCP 怎么安装?

公开资料给出的安装命令是 python run_mcp_server.py --stdio,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Threat Byte MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Threat Byte MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Threat Byte MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Threat Byte MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP