MCP安全框架
生产级测试及防御MCP GitHub提示注入攻击。
威胁
MCP(模型上下文协议)使AI代理能够访问GitHub仓库。当代理拥有广泛权限的访问令牌时,攻击者可以在GitHub的公共问题中隐藏恶意指令,导致代理泄露私有仓库数据。
这不是一个错误,而是设计上的问题。
这个框架的作用
- 重现攻击 - 成功的工作原理验证,能够窃取私有仓库数据
- 测试防御 - 量化不同缓解策略的有效性
- 生成指标 - 来自实际代码执行的真实数值,而非理论
快速入门
查看攻击作品
cd demonstrations
python LIVE_PROOF_OF_CONCEPT.py这产生了 ATTACK_EVIDENCE/ 显示被盗的凭证和私人数据。
运行完整框架
# Install dependencies
pip install sentence-transformers tiktoken
# Run core simulation
cd 01-core-simulation
python src/simulation_runner.py
# Test attack mutations
cd ../02-attack-framework
python framework/orchestrator.py
# Validate defenses
cd ../03-production-validation
python src/validator.py主要发现
| 防御策略 | 效果 | 攻击成功率 |
|---|---|---|
| 无防御 | 0% | 100% |
| 输入净化 | 24% | 76% |
| 语义分析 | 38% | 62% |
| 仓库隔离 | 10% | 90% |
| 全部合计 | 88% | 12%的人仍然成功 |
即使有全面的防御措施,仍有12%的攻击成功。
仓库结构
mcp-security-framework/
├── 01-core-simulation/ # MCP attack simulation engine
│ ├── src/ # Core simulation code
│ └── data/ # Attack patterns and payloads
├── 02-attack-framework/ # Attack mutation and testing
│ ├── framework/ # Mutation engine
│ ├── mutations/ # 50+ attack variants
│ └── defenses/ # Defense implementations
├── 03-production-validation/ # Real-world validation
│ ├── src/ # Validation harness
│ └── defenses/ # Production defense layers
├── demonstrations/ # Live attack demos
│ ├── LIVE_PROOF_OF_CONCEPT.py # Run this first
│ └── ATTACK_EVIDENCE/ # Generated proof
└── EXECUTIVE_SUMMARY_FOR_SAFETY_TEAM.md # For your security team需要立即采取行动
- 撤销广泛的GitHub令牌 - 切换到针对特定仓库的细粒度个人访问令牌 (PAT)
- 隔离仓库访问权限 - 为公共仓库和私有仓库设置不同的代理
- 添加监控 - 检测跨仓库的数据流和可疑模式
- 需要人工审批 - 对于任何从私有到公共的数据传输
对于安全团队
阅读 EXECUTIVE_SUMMARY_FOR_SAFETY_TEAM.md for:(用于表示)为了;对于;给;给……用;对于……而言
- 最坏的情况
- 法医证据
- 建筑建议
- 检测模式
技术细节
攻击向量
# Hidden in GitHub issue HTML comment:
代理执行
# Agent processes hidden instructions:
1. Lists all accessible repositories
2. Reads private credentials.json
3. Creates public PR with stolen data防御限制
- 模式匹配:可通过编码轻松规避
- 语义分析:败于上下文操控
- 仓库策略:通过间接引用绕过
许可证
麻省理工(MIT)——利用此技术来保护您的基础设施。
警告
此框架展示了真实的漏洞。请负责任地使用。
攻击奏效了。防御措施不足。需要进行架构变更。
______________________________________________________________________
*该系统是针对Invariant Labs披露的信息而构建的。没有实际凭证受到损害。*
