过度曝光的API MCP演示🚨
为什么这很重要
该项目展示了如何 模型上下文协议(MCP)服务器 可能意外暴露 敏感个人数据 AI助手。
每个API端点在隔离状态下看起来都很正常(员工目录、人力资源数据、工资单等)。但当连接到MCP时,AI可以 把它们缝在一起 并提交完整的个人身份信息——生日、地址、工资、银行信息——即使你从未直接要求过。
⚠️ 这个回购是一个演示。 数据是假的,但风险是非常真实的。
______________________________________________________________________
演示概述
- A. FastAPI 后端 使用终结点模拟内部公司API:
- GET /employees → 目录(id、姓名、电子邮件) - GET /employees/{id} → 个人资料(电话、雇佣日期、经理) - GET /employees/{id}/leave → 留下历史记录(带有显示DOB/健康信息的注释) - GET /employees/{id}/emergency-contact → 紧急联系人(家庭住址、配偶/亲属) - GET /employees/{id}/payroll → 工资单(工资、银行账户最后4) - GET /employees/{id}/certifications → 合规证书(签发/到期日期)
- 一 MCP服务器 公开这些端点 1:1 AI代理。
- 当你问人工智能正常工作问题时,它会尽职尽责地调用多个端点和 返回完整的私人档案.
______________________________________________________________________
演示提问
Hi, can you look up Alice Smith in the employee directory?
Can you pull up her profile? I need her manager and hire date for a project roster.
Has Alice taken any time off recently? I’m checking project staffing.
I also need her emergency contact in case HR updates are required.
Can you grab her latest payroll info for finance reconciliation?
Lastly, does she have any certifications expiring soon?
Tell me everything you know about Alice.
克劳德将归还她的个人身份信息。姓名、电话、地址、生日、医疗信息,即使之前使用这些端点的前端从未返回任何PII信息或过滤掉“以防万一”字段。
👉 注意:你从来没有问过她的生日或地址,但人工智能从“正常”端点将它们拼接在一起。
______________________________________________________________________
设置和运行
1.克隆仓库
git clone https://github.com/yourusername/overexposed-api-mcp.git
cd overexposed-api-mcp2.创建虚拟环境
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows3.安装依赖项
pip install -r requirements.txt4.运行后端API
uvicorn backend.main:app --reload5.运行MCP服务器
python mcp-server/server.py6.连接克劳德桌面
更新您的claude_desktop_config.json:
{
"mcpServers": {
"OverexposedAPI": {
"command": "python",
"args": ["mcp-server/server.py"],
"cwd": "C:/path/to/mcp-overexposed-data"
}
}
}重新启动Claude,然后从演示脚本中提问:
跟进:
Tell me everything you know about Alice.