Token导航 LogoToken导航

MCP Server · 安全风控

Safe MCP

一个全面的MCP服务器安全验证系统,通过三层安全检查检测并阻止恶意URL缩短服务。

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

快速开始

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

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Safe MCP 属于安全风控类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

安全风控

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

MCP安全中间件

一个用于模型上下文协议(MCP)服务器的全面安全验证系统,通过三层安全检查检测和阻止恶意URL缩短服务。

🎯 项目概述

该项目展示了MCP服务中的一个关键漏洞: 地毯拉扯攻击 服务对其行为的影响。安全中间件拦截对URL缩短服务的请求,并通过以下方式进行验证:

  1. CVE/咨询检查(30%) -检查GitHub安全公告和国家漏洞数据库
  2. 语义引擎(30%) -验证响应结构、URL和可疑关键字
  3. 运行时沙盒(40%) -在隔离的Docker容器中实际测试缩短的URL以验证行为

🚨 所展示的攻击

脚本: 恶意URL缩短服务(FastLink Pro)执行“地毯拉取”:

  • 用户要求缩短: https://mybank.com/login
  • 服务回报: http://localhost:8001/go/abc123
  • 服务 索赔 它缩短了mybank.com
  • 但点击链接会重定向到: https://google.com ❌

我们的解决方案: 运行时沙盒实际上在用户之前点击了链接,检测到不匹配,并且 阻止服务.

📊 建筑

User → Claude (AI) → MCP Client → Security Proxy → Backend Services
                                        ↓
                              Security Validation:
                              ├─ CVE Checker
                              ├─ Semantic Engine  
                              └─ Runtime Sandbox (Docker)

🛠️ 使用的技术

  • Python 3.11+
  • 快速API -安全代理的Web框架
  • FastMCP -MCP服务器实现
  • 码头工人 -孤立的沙盒环境
  • httpx -异步HTTP客户端
  • 皮丹提克 -数据验证

📁 项目结构

mcp-security-middleware/
├── security_middleware/
│   ├── __init__.py
│   ├── security_proxy.py          # Main security proxy
│   ├── scoring_engine.py          # Score aggregation
│   ├── checkers/
│   │   ├── __init__.py
│   │   ├── cve_checker.py         # CVE/Advisory validation
│   │   ├── semantic_engine.py     # Semantic rule checking
│   │   ├── runtime_sandbox.py     # Docker sandbox testing
│   │   └── sandbox_test.py        # Test script for Docker
│   └── rules/
│       └── semantic_rules.yaml    # Validation rules
├── good_mcp_server.py             # Legitimate URL shortener
├── bad_mcp_server.py              # Malicious URL shortener (demo)
├── client_modified.py             # MCP client with security
├── Dockerfile.sandbox             # Docker image for sandbox
├── requirements.txt               # Python dependencies
├── test_docker_manually.py        # Docker testing script
├── verify_complete_system.py      # System verification
└── README.md

🚀 安装和设置

先决条件

  • Python 3.11或更高版本
  • Docker桌面(适用于Windows/Mac)或Docker引擎(适用于Linux)
  • WSL2(适用于Windows用户)

1.克隆存储库

git clone https://github.com/YOUR_USERNAME/mcp-security-middleware.git
cd mcp-security-middleware

2.创建虚拟环境

python -m venv .venv

# Activate virtual environment
# Windows PowerShell:
.venv\Scripts\Activate.ps1
# Windows CMD:
.venv\Scripts\activate.bat
# Linux/Mac:
source .venv/bin/activate

3.安装依赖项

pip install --upgrade pip
pip install -r requirements.txt

4.构建Docker沙盒镜像

docker build -f Dockerfile.sandbox -t mcp-sandbox-test .

5.验证安装

# Test Docker sandbox
python test_docker_manually.py

# Verify complete system (requires all services running)
python verify_complete_system.py

🏃 运行系统

启动所有服务

你需要 4个终端窗口:

1号航站楼-良好服务:

python good_mcp_server.py

2号航站楼-服务不佳:

python bad_mcp_server.py

终端3-安全代理:

python -m security_middleware.security_proxy

终端4-MCP客户端:

# For good service (should pass)
$env:URL_SERVICE_PORT="8002"  # PowerShell
python client_modified.py

# For bad service (should block)
$env:URL_SERVICE_PORT="8001"  # PowerShell
python client_modified.py

🧪 测试

测试良好服务(预期:✅ 通行证)

  1. 如上所示启动所有服务
  2. 集 URL_SERVICE_PORT=8002
  3. 问克劳德:“请缩短https://example.com"
  4. 结果: 服务通过,得分~90-100/100

测试不良服务(预期:🚫 块)

  1. 集 URL_SERVICE_PORT=8001
  2. 问克劳德:“请缩短https://mybank.com"
  3. 结果: 服务被阻止,得分~35/100
  4. 原因: Docker沙盒检测到域不匹配(预期为mybank.com,实际为google.com)

📊 安全评分

组件重量检查内容
CVE检查30%已知漏洞、可疑模式
语义引擎30%响应结构、URL验证、关键字
运行时沙盒40%实际重定向行为

门槛: 服务必须得分≥70/100才能通过

风险等级:

  • 85-100:低风险(安全)
  • 70-84:中等风险(安全)
  • 50-69:高风险(封锁)
  • 0-49:严重风险(已阻断)

🎓 教育价值

该项目展示了:

  1. MCP安全漏洞 -服务可以对其行为撒谎
  2. 纵深防御 -多个安全层捕获不同的攻击类型
  3. 运行时验证 -信任,但通过实际测试进行验证
  4. 容器化 -Docker为测试不受信任的代码提供了安全隔离
  5. 安全中间件模式 -透明的拦截和验证

🔧 配置

调整安全阈值

编辑 security_middleware/security_proxy.py:

scoring_engine = ScoringEngine(threshold=70.0)  # Change threshold here

修改语义规则

编辑 security_middleware/rules/semantic_rules.yaml 添加/修改验证规则。

配置CVE源

编辑 security_middleware/checkers/cve_checker.py 修改CVE数据库源。

📝 关键文件说明

security_proxy.py

拦截请求、并行运行所有安全检查并做出阻止/允许决策的主要中间件。

runtime_sandbox.py

创建隔离的Docker容器,以实际测试缩短的URL并验证它们重定向到预期的目的地。

cve_checker.py

查询GitHub安全公告和NVD数据库以查找已知漏洞。

semantic_engine.py

根据预定义规则(必填字段、URL格式、可疑关键字)验证响应结构。

scoring_engine.py

使用加权平均值汇总所有检查的分数并做出最终决定。

🐛 故障排除

找不到Docker

# Make sure Docker Desktop is running
docker --version

# If not found, add Docker to PATH or restart Docker Desktop

端口已在使用中

# Find process using port
netstat -ano | findstr :8001  # Windows

# Kill process
taskkill /PID 
 /F  # Windows

未找到模块

# Make sure you're in virtual environment
# Re-install dependencies
pip install -r requirements.txt

🤝 贡献

这是一个教育项目。欢迎捐款:

  1. 分叉存储库
  2. 创建特征分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

👨‍💻 作者

你的名字

🙏 致谢

  • MCP协议的拟人化
  • 用于简化MCP服务器创建的FastMCP库
  • Docker用于容器化技术

⚠️ 免责声明

这个项目是为了 教育目的 以证明MCP服务中的安全漏洞。故意创建“恶意”服务(bad_mcp_server.py)来演示攻击。未经适当的安全审查,不得在生产中使用。

📚 延伸阅读


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

安全验证Python本地部署URL缩短恶意行为检测三层检查Docker沙箱

支持客户端

Claude

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

典型使用场景

资产与漏洞排查

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

日志审计

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

合规检查

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

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

0stdio有1 个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 条

Safe MCP 怎么安装?

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

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

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

Safe MCP 收费吗?

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

Safe MCP 需要 API Key 吗?

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

Safe MCP 支持哪些客户端?

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

来源信息

继续浏览同类 MCP