Token导航 LogoToken导航TokenDH.com
5g Ddos MCP logo
安全风控stdio官方级别未说明来源级核验

5g Ddos MCP

MCP Server

一个实时检测、解释和响应5G DDoS攻击的协议服务器,适用于5G网络安全防护。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
机器学习PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

core-ncsrd

提供方

core-ncsrd

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Model Context Protocol server for real-time 5G DDoS detection and response

Powered by the NCSRD-DS-5GDDoS dataset — a physical 3GPP-compliant 5G testbed from the EU Horizon PRIVATEER project

______________________________________________________________________

它的作用

赋予任何LLM代理检测、解释和响应5G DDoS攻击的能力:

工具它做什么
detect_anomaly将实时5G遥测分类为良性/攻击型——返回类型、置信度、严重性
explain_attack通过配置的LLM生成自然语言事件报告
recommend_response带有通用REST API调用示例的切片软件缓解计划
query_history搜索过去的事件+数据集参考模式,用于少镜头LLM推理

支持 SYN、UDP、ICMP、DNS和GTP-U洪泛 (最后一个是5G特定的严重性)。

______________________________________________________________________

快速开始

选择您的LLM后端并遵循匹配的路径。服务器运行在 演示模式 (基于规则的启发式),没有经过训练的模型,因此您可以立即尝试所有工具。

______________________________________________________________________

方案A-克劳德(API无烟煤)

事件报告和建议的最佳输出质量。
# 1. Clone and install
git clone https://github.com/ncsrd/5g-ddos-mcp
cd 5g-ddos-mcp
pip install -r requirements.txt

# 2. Configure
cp .env.example .env
#    Set: LLM_BACKEND=claude
#    Set: ANTHROPIC_API_KEY=sk-ant-...

# 3. Run
python -m src.server

连接 claude_desktop_config.json:

{
  "mcpServers": {
    "5g-ddos": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/5g-ddos-mcp",
      "env": {
        "LLM_BACKEND": "claude",
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

______________________________________________________________________

选项B——Ollama(本地开源LLM,完全离线)

最适合气隙或隐私敏感部署。没有数据离开你的机器。

步骤1--安装Olama

# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows: download from https://ollama.com/download

第二步——拉一个模型

ollama pull llama3.2       # 3B (fast) or 8B (balanced) — recommended default
ollama pull mistral        # 7B — strong reasoning
ollama pull phi4           # 14B — best structured output
ollama pull gemma3         # Google Gemma 3, 4B–27B
ollama pull deepseek-r1    # 8B chain-of-thought distill
ollama pull qwen2.5        # 7B / 14B / 72B

步骤3--运行MCP服务器

cp .env.example .env
#    Set: LLM_BACKEND=ollama
#    Set: OLLAMA_MODEL=llama3.2   (or whichever you pulled)
#    OLLAMA_BASE_URL defaults to http://localhost:11434

python -m src.server

连接 claude_desktop_config.json:

{
  "mcpServers": {
    "5g-ddos": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/5g-ddos-mcp",
      "env": {
        "LLM_BACKEND": "ollama",
        "OLLAMA_MODEL": "llama3.2"
      }
    }
  }
}

______________________________________________________________________

选项C——OpenAI兼容端点

与vLLM、LM Studio、Groq、Together.ai、Mistral API、Perplexity和任何其他与OpenAI兼容的提供商配合使用。
cp .env.example .env
#    Set: LLM_BACKEND=openai_compatible
#    Set: OPENAI_BASE_URL=
#    Set: OPENAI_MODEL=
#    Set: OPENAI_API_KEY=

python -m src.server

提供商示例:

供应商OPENAI_BASE_URLOPENAI_MODEL
vLLM (自托管)http://localhost:8080/v1您部署的模型
LM 工作室 (本地)http://localhost:1234/v1LM Studio中加载的模型
格罗克https://api.groq.com/openai/v1llama-3.3-70b-versatile
Together.aihttps://api.together.xyz/v1meta-llama/Llama-3-70b-chat-hf
API米斯特拉尔https://api.mistral.ai/v1mistral-large-latest
困惑度https://api.perplexity.aillama-3.1-sonar-large-128k-online
开放人工智能https://api.openai.com/v1gpt-4o

______________________________________________________________________

选项D——Docker(任何后端)

# Build
docker build -t 5g-ddos-mcp .

# Run with Claude
docker run --env-file .env -p 8000:8000 \
  -v $(pwd)/models:/app/models:ro \
  -v $(pwd)/data:/app/data:ro \
  5g-ddos-mcp

# Run with Ollama (Ollama running on host)
docker run -p 8000:8000 \
  -e LLM_BACKEND=ollama \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -e OLLAMA_MODEL=llama3.2 \
  5g-ddos-mcp

# Full stack: MCP server + Ollama side-by-side
docker compose --profile with-ollama up
# Then pull a model inside the Ollama container:
docker exec -it ollama ollama pull llama3.2

# Full stack with InfluxDB + Grafana (mirrors the NCSRD testbed pipeline)
docker compose --profile full up

______________________________________________________________________

选项E——Kubernetes

# 1. Apply namespace, storage, and config
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/pvc.yaml
kubectl apply -f k8s/configmap.yaml

# 2. Create secrets (replace with real values)
kubectl create secret generic 5g-ddos-mcp-secrets \
  --from-literal=ANTHROPIC_API_KEY=sk-ant-... \
  -n 5g-ddos-mcp

# 3. Deploy (set LLM_BACKEND in k8s/deployment.yaml before applying)
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml

# 4. Train the model inside the cluster (after populating the data PVC)
kubectl apply -f k8s/train-job.yaml
kubectl logs -f job/train-classifier -n 5g-ddos-mcp

# 5. Check status
kubectl get pods -n 5g-ddos-mcp

要将Ollama部署为完全自包含集群的sidecar:

# Ollama deployment + service are already included in k8s/deployment.yaml
# Set LLM_BACKEND=ollama and OLLAMA_BASE_URL=http://ollama-service:11434 in configmap.yaml
kubectl apply -f k8s/deployment.yaml   # deploys both mcp-server and ollama
kubectl apply -f k8s/service.yaml
# Then exec into the Ollama pod to pull a model:
kubectl exec -it deploy/ollama -n 5g-ddos-mcp -- ollama pull llama3.2

______________________________________________________________________

数据集设置

ML模型需要 NCSRD-DS-5GDOS v3.0 数据集(约620 MB),必须单独下载。服务器在没有它的情况下以启发式演示模式运行。

# Automatic download from Zenodo (DOI: 10.5281/zenodo.13900057)
chmod +x scripts/download_dataset.sh
./scripts/download_dataset.sh

# Then train the classifier (~5–15 min depending on hardware)
python scripts/train_model.py

# Quick smoke-test with 100k rows
python scripts/train_model.py --nrows 100000

data/DATASET_INSTRUCTIONS.md 有关文件和手动下载的完整详细信息。

目标指标 (来自此数据集的已发表结果):

指标目标已发布
二进制F1>0.950.98
AUC-ROC>0.990.999
多级加权F1>0.950.98

______________________________________________________________________

命令行界面

5g-ddos 命令允许您直接从终端运行检测、查询历史、获取建议和管理数据集,无需MCP客户端。

pip install -e ".[all]"   # installs the 5g-ddos entry point
5g-ddos --help

server --启动MCP服务器

5g-ddos server                          # uses LLM_BACKEND from .env
5g-ddos server --backend ollama --model phi4
5g-ddos server --backend claude

detect --对5G遥测技术进行分类

# Inline single-sample detection
5g-ddos detect --ul-bitrate 9500000 --dl-bitrate 1200000 \
               --ul-retx 0.42 --pdu-session-setup-request 95 \
               --ue-id UE-007

# Batch detection from a CSV file (matches NCSRD dataset schema)
5g-ddos detect --input telemetry.csv --format table
5g-ddos detect --input telemetry.csv --format csv --output results.csv

# Output formats: table (default) | json | csv

explain --生成事件报告

5g-ddos explain --attack-type gtp_u_flood --severity critical \
                --slice URLLC --ue-ip 10.45.0.3 --cells "1,2"

5g-ddos explain --attack-type syn_flood --severity high \
                --imeisv 3533890312345678 --format json --output report.json

recommend --获取缓解建议

5g-ddos recommend --attack-type udp_flood --severity high --slice eMBB

# Preview auto-execute REST API commands (does not call any API without RESPONSE_API_URL set)
5g-ddos recommend --attack-type gtp_u_flood --severity critical \
                  --ue-ip 10.45.0.5 --imeisv 3533890312345678 \
                  --auto-execute

history --查询事件历史记录

5g-ddos history                                  # last 10 incidents
5g-ddos history --attack-type syn_flood --limit 20
5g-ddos history --severity critical --slice URLLC --time-range 24

train --训练XGBoost分类器

5g-ddos train                     # full dataset (~5–15 min)
5g-ddos train --nrows 100000      # quick smoke-test with 100k rows

dataset --管理NCSRD数据集

5g-ddos dataset status            # show which files are present / missing
5g-ddos dataset download          # print download instructions
5g-ddos dataset download --auto   # run scripts/download_dataset.sh automatically

version --显示环境信息

5g-ddos version
# ┌──────────────────────┬───────────────────────────────┐
# │ 5g-ddos-mcp          │ 1.0.0                         │
# │ LLM Backend          │ claude (claude-sonnet-4-6)    │
# │ ML Model             │ loaded (binary + multi-class) │
# │ Dataset records      │ 7 files present               │
# └──────────────────────┴───────────────────────────────┘

______________________________________________________________________

建筑

┌──────────────────────────────────────────────┐
│             MCP Client (any LLM)             │
└──────────────────┬───────────────────────────┘
                   │  MCP Protocol (stdio / HTTP)
┌──────────────────▼───────────────────────────┐
│             5G-DDoS MCP Server               │
│                                              │
│  ┌─────────────┐   ┌──────────────────────┐  │
│  │  ML Layer   │   │      LLM Layer       │  │
│  │  XGBoost    │   │  Claude  │  Ollama   │  │
│  │  Classifier │   │  OpenAI-compatible   │  │
│  └──────┬──────┘   └──────────────────────┘  │
│         │                                    │
│  ┌──────▼────────────────────────────────┐   │
│  │              MCP Tools                │   │
│  │  detect_anomaly  │  explain_attack    │   │
│  │  recommend_response  │  query_history │   │
│  └───────────────────────────────────────┘   │
└──────────────────────────────────────────────┘
                   │
        ┌──────────▼──────────┐
        │    NCSRD Dataset    │
        │    (local CSV)      │
        └─────────────────────┘

第1层——感知: XGBoost分类器(在NCSRD-DS-5GDOS上训练)检测来自实时遥测的攻击。

第2层——推理: LLM生成情境事件报告和缓解建议。

第3级——行动: 用于自动响应的通用REST API集成(黑名单UE、隔离切片、速率限制)。与Open5GS、free5GC、OAI或任何自定义NMS兼容 RESPONSE_API_URL 以启用。

______________________________________________________________________

配置参考

所有设置均通过环境变量进行。复制 .env.example.env 开始吧。

变量默认值描述
LLM_BACKENDclaudeclaudeollamaopenai_compatible
ANTHROPIC_API_KEY--需要时 LLM_BACKEND=claude
CLAUDE_MODELclaude-sonnet-4-6人体模型ID
OLLAMA_BASE_URLhttp://localhost:11434Ollama服务器URL
OLLAMA_MODELllama3.2任何通过拉取的模型 ollama pull
OPENAI_API_KEY--需要时 LLM_BACKEND=openai_compatible
OPENAI_BASE_URLhttps://api.openai.com/v1任何与OpenAI兼容的端点URL
OPENAI_MODELgpt-4o-mini端点处的模型名称
LLM_MAX_TOKENS2048LLM完成的最大令牌数
LLM_TEMPERATURE0.3发电温度
ANOMALY_THRESHOLD0.5攻击置信阈值(0.0–1.0)
RESPONSE_API_URL-用于自动执行的网络管理API(可选)
RESPONSE_API_KEY-响应API的承载令牌(可选)
MCP_PORT8000服务器端口
LOG_LEVELINFO日志记录级别

______________________________________________________________________

数据集

NCSRD-DS-5GDOS v3.0DOI:10.5281/zenodo.13900057

文件大小描述
amari_ue_data_merged_with_attack_number.csv241.5毫巴主ML文件 --标记,6类
amari_ue_data_classic_tabular.csv143.6 MBUE指标,经典小区
amari_ue_data_mini_tabular.csv87.3 MBUE指标,迷你小区
enb_counters_data_classic_tabular.csv72.2 MB小区级eNB计数器
enb_counters_data_mini_tabular.csv38.2 MB迷你手机计数器
mme_counters.csv37.1 MBNAS层MME计数器
summary_report.xlsx18.0 kB每个UE的攻击摘要

攻击标签(attack_number 列): 0 良性· 1 SYN洪水· 2 UDP洪水· 3 ICMP洪水· 4 DNS洪水· 5 GTP-U洪水

______________________________________________________________________

项目对齐

欧盟项目一体化
5G安全的代理人工智能

______________________________________________________________________

引用

@dataset{ncsrd_5gddos_2024,
  title     = {NCSRD-DS-5GDDoS: 5G Radio & Core Metrics -- DDoS Attack Dataset},
  author    = {NCSRD and Space Hellas},
  year      = {2024},
  doi       = {10.5281/zenodo.13900057},
  publisher = {Zenodo},
  license   = {CC BY 4.0},
  note      = {EU Horizon PRIVATEER project, Grant 101096110}
}

______________________________________________________________________

许可证

MCP服务器代码:MIT。数据集:CC BY 4.0(引用上面的DOI)。

目录标签

目录标签

机器学习PythonClaude5G安全本地部署DDoS检测实时响应网络防护

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP