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

MCP Security Simulation

MCP Server

一个交互式演示文件完整性漏洞及HMAC-SHA256保护机制的工具,用户可模拟恶意代理对服务器文件进行读写操作并观察安全层效果。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python安全开发工具

安装说明

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

作者 / 组织

JayRaj21

提供方

JayRaj21

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python3 run.py

详细介绍

MCP安全模拟

文件完整性漏洞和HMAC-SHA256保护的交互式演示。您扮演恶意代理的角色,试图读取、修改和销毁敏感的MCP服务器文件,并且可以随时打开和关闭安全层以查看差异。

快速开始

先决条件: Python 3.8或更高版本。不需要其他工具。

# Clone the repo
git clone https://github.com/JayRaj21/MCP-Security-Simulation.git
cd MCP-Security-Simulation

# Start with security OFF (files unprotected)
python3 run.py

# Start with security ON (files HMAC-sealed)
python3 run.py --security
Windows用户: 替换 python3python 在所有命令中。

run.py 自动处理所有事情——它创建了一个虚拟环境,并在第一次运行时安装依赖项。无需手动设置。

随时切换安全 使用 toggle 会话中的命令——无需重新启动。

______________________________________________________________________

这表明了什么

MCP服务器文件(配置、凭据、日志)没有内置的完整性保护。本地攻击者可以自由读取、修改或删除它们。安全层使用 HMAC-SHA256 用加密签名密封每个文件。任何写入或删除密封文件的尝试都会被拒绝——这与MCP中用于保护网络消息的机制相同。

关键限制

HMAC签名保证 正直 (篡改被阻止)但不是 保密性 (文件仍然可以读取)。这在演示中可见-- read 无论安全状态如何,它总是有效的。为了保密,需要加密。

命令

命令描述
list显示所有测试文件及其完整性状态
read 将文件内容打印到屏幕上
modify 完全覆盖文件
append 在文件末尾添加一行
delete 从磁盘中删除文件
toggle打开或关闭安全功能
status显示每个文件的安全模式和HMAC密封状态
help显示所有命令和攻击想法
exit退出

测试文件

自动创建于 test_files/ 并在每次启动时恢复:

文件内容
config.json带有API密钥和数据库凭据的服务器配置
user_database.csv用户记录、角色和API令牌
secrets.env生产凭据和加密密钥
audit_log.txt访问和事务审计日志

当程序再次启动时,在前一个会话中删除或修改的任何文件都会自动恢复。

安全工作原理

当安全是 ,每个文件都会得到一个 .sig 包含其内容的HMAC-SHA256哈希的文件,使用共享密钥计算:

signature = HMAC-SHA256(shared_secret, file_content)

任何 modify, append,或 delete 在触摸文件系统之前,命令被阻止。没有密钥,攻击者无法伪造有效的签名。

当安全是 关闭,the .sig 文件被删除,所有操作都可以自由进行。

示例会话

[ATTACKER | INSECURE] > delete user_database.csv
  [DELETED] 'user_database.csv' removed from disk.

[ATTACKER | INSECURE] > toggle
  Security ON — HMAC-SHA256 seals applied.
    ✓ config.json
    ✓ secrets.env
    ✓ audit_log.txt

[ATTACKER | SECURE] > delete user_database.csv
  [BLOCKED] Cannot delete 'user_database.csv'.
  The file is sealed with HMAC-SHA256.
  Deletion requires the shared secret key — which you don't have.

[ATTACKER | SECURE] > read secrets.env
  # Production credentials — DO NOT SHARE
  JWT_SECRET=8f14e45fceea167a5a36dedd4bea2543
  ...
  (read succeeds — signing prevents tampering, not eavesdropping)

项目结构

MCP-Security-Simulation/
├── run.py           # One-command launcher (handles venv + deps automatically)
├── demo.py          # Entry point — argument parsing
├── file_agent.py    # Interactive REPL and file integrity logic
├── security.py      # HMAC-SHA256 signing and verification
├── test_files/      # Auto-created — the files you try to attack
├── mcp_server.py    # Reference: simulated MCP server (educational)
├── mitm_proxy.py    # Reference: malicious MITM proxy (educational)
├── mcp_client.py    # Reference: MCP client library (educational)
└── requirements.txt

目录标签

目录标签

Python安全开发工具安全模拟本地部署HMAC-SHA256文件保护密码学实验服务器安全

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP