🛡️ Praesidio
The open-source security platform for MCP servers and AI agents.
Runtime firewall · LLM-powered analysis · Behavioral anomaly detection · Live dashboard
Fully offline. No API keys required. No data leaves your machine.
Quick Start · Features · Dashboard · OWASP Coverage · Honeypot · Docs
______________________________________________________________________
问题
60天内针对MCP服务器的30多个CVE。437000次下载被泄露。工具中毒攻击会窃取你的SSH密钥、WhatsApp历史记录和私人存储库——所有这些对用户都是不可见的。
现有解决方案 需要外部API调用,将工具描述泄露给第三方,或者只进行静态扫描。没有提供运行时保护。
主席团 不同的是:一个位于MCP客户端和服务器之间的Rust原生安全平台,提供实时防御——完全离线,并提供可选的LLM驱动的深度分析。
快速开始
# Install
cargo install praesidio
# Scan all your MCP configs for vulnerabilities
praesidio scan
# Start the runtime proxy (intercepts + filters all MCP traffic)
praesidio proxy
# Launch the security dashboard
praesidio dashboard
# Check if any tools have been tampered with
praesidio pin verify
# Deploy a honeypot to catch attackers
praesidio honeypot start输出示例
🛡️ Praesidio v0.1.0 — Scanning MCP configurations...
📂 Found 3 MCP configs:
✓ Claude Desktop (~/.config/Claude/claude_desktop_config.json)
✓ Cursor (~/.cursor/mcp.json)
✓ Claude Code (./.claude/settings.json)
🔍 Scanning 7 servers, 23 tools...
🚨 CRITICAL Tool poisoning detected
Server: sketchy-math-server
Tool: add
Risk: Hidden tag with instructions to exfiltrate ~/.ssh/id_rsa
LLM: Confirmed malicious (confidence: 0.97)
Action: BLOCKED
🚨 CRITICAL Credential leak in output
Server: custom-api
Tool: query
Risk: Response contains AWS access key (AKIA...)
Action: BLOCKED — output redacted
⚠️ WARNING Behavioral anomaly
Server: filesystem
Tool: read_file
Risk: Output size 47KB (baseline avg: 2.1KB, z-score: 4.2)
Action: Flagged for review
✅ 5 servers, 20 tools passed all checks
📊 OWASP Compliance: MCP Top 10 (9/10) · Agentic Top 10 (8/10)
📌 Tool pins: 23 tools pinned (0 changes detected)
🍯 Honeypot: 0 attacks in last 24h特性
🔥 核心防火墙
- 刀具中毒检测 --隐藏的指令标签、可疑关键字、敏感路径引用
- Unicode分析 --零宽度字符、双向覆盖、同形符号攻击
- 凭证泄漏检测 --AWS密钥、GitHub令牌、SSH密钥、JWT、.env内容
- 工具固定 --SHA-256架构哈希检测地毯拉取攻击
- 权限引擎 --每服务器读/写范围、工具分配、速率限制
🧠 LLM动力分析
- 提供商级联:当地Olama→ API克劳德→ 开放人工智能→ 启发式回退
- 深度工具分析 --模式匹配之外的语义意图分类
- 输出扫描 --检测正则表达式遗漏的注入有效载荷和编码的溢出
- 行为意图 --将异常分为良性变化和主动攻击
- 完全可选 --LLM仅适用于启发式,提高了准确性
📊 行为指纹
- 按工具分析 --学习“正常”的样子(输出大小、熵、时间、频率)
- 统计异常检测 --跨6个特征维度的Z-score复合
- 在线学习 --配置文件持续更新,无需培训数据
- 冷启动处理 --学习期间灵敏度降低
🌐 社区威胁情报
- 众包威胁源 --已知的错误工具签名、CVE映射
- 服务器信任注册表 --MCP服务器的npm审计式信任评分
- 选择共享 --只有匿名哈希,永远不会是你的数据
- 先离线 --Feed会定期同步,在同步之间完全脱机工作
🖥️ 实时安全仪表板
- 实时事件馈送 --所有安全事件的WebSocket实时视图
- 服务器拓扑 --具有信任评分的连接服务器的可视化地图
- 工具检查员 --深入了解任何工具的描述、LLM分析、行为特征
- OWASP记分卡 --所有20个OWASP风险的合规状态
- 审计跟踪 --每个事件的可搜索、可过滤、可导出日志
🍯 蜜罐MCP服务器
- 陷阱工具 --假凭证、假数据库、假文件、假电子邮件发件人
- 攻击分类 --凭证获取、SQL注入、路径遍历、泄漏
- Canary数据 --看似合理但可追踪的虚假秘密
- 与真实服务器一起部署 --在生产前检测探测
OWASP覆盖范围
Praesidio地图 全部20种风险 在OWASP MCP Top 10和OWASP代理Top 10中:
| OWASP MCP前10名 | 状态 | 模块 |
|---|---|---|
| MCP01:代币管理不善 | ✅ | 凭证泄漏检测器 |
| MCP02:工具中毒 | ✅ | 扫描仪+LLM分析仪 |
| MCP03:特权升级 | ✅ | 权限引擎 |
| MCP04:供应链攻击✅ | 注册表+威胁源 | |
| MCP05:指令注入 | ✅ | 输出滤波器+LLM |
| MCP06:上下文高于共享 | ✅ | 行为指纹识别 |
| MCP07:身份验证不足 | ✅ | 权限执行者 |
| MCP08:日志记录不足 | ✅ | 审计记录器+仪表板 |
| MCP09:影子MCP服务器 | ✅ | 配置发现+蜜罐 |
| MCP10:隐蔽渠道滥用 | ✅ | Exfil检测器+行为 |
| OWASP代理前10名 | 状态 | 模块 |
|---|---|---|
| ASI01:特工目标劫持 | ✅ | LLM意图分类器 |
| ASI02:工具/功能误用 | ✅ | 权限+行为 |
| ASI03:代理内存不安全 | ✅ | 输出滤波器+LLM |
| ASI04:快速注射 | ✅ | 扫描仪+LLM+行为 |
| ASI05:供应链漏洞 | ✅ | 注册表+提要+pinner |
| ASI06:代码执行 | ✅ | 权限范围 |
| ASI07:身份欺骗 | ✅ | 蜜罐检测 |
| ASI08:权限过多 | ✅ | 最低特权执行者 |
| ASI09:监控不足 | ✅ | 仪表板+审计 |
| ASI10:多代理信任 | ✅ | 跨服务器分析 |
配置
# praesidio.toml
[global]
block_on_critical = true
[llm]
providers = ["local", "anthropic", "openai"] # Cascade order
trigger = "suspicious" # Only use LLM when heuristics flag
[llm.local]
model = "llama3.2:3b" # Fast + free
[behavior]
enabled = true
anomaly_warn_threshold = 0.6
anomaly_block_threshold = 0.85
[servers.filesystem]
scope = "read-only"
[servers.github]
scope = "read-write"
blocked_tools = ["delete_repository"]
[servers."*"]
scope = "read-only"运作原理
MCP Client (Claude Desktop, Cursor, Claude Code)
│
▼
┌─── Praesidio Proxy ────────────────────────┐
│ │
│ Inbound: Scanner → Unicode → Pinner │
│ LLM: Deep analysis (if suspicious) │
│ Outbound: Credential → Exfil → Injection │
│ Behavior: Anomaly scoring (per-tool) │
│ Enforce: Permissions → Rate limits │
│ Log: Audit trail → Dashboard → Feed │
│ │
└────────────────────────────────────────────┘
│
▼
MCP Servers (only clean traffic passes through)比较
| Praesidio | mcp扫描(Snyk) | Onyx安全 | 地层 | |
|---|---|---|---|---|
| 完全离线 | ✅ | ❌ | ❌ | ❌ |
| 开源 | ✅ MIT | ✅ | ❌ | ❌ |
| 运行时代理 | ✅ | ⚠️ 测试版 | ✅ | ✅ |
| LLM分析 | ✅ (本地) | ❌ API | ❌ | |
| 行为检测 | ✅ | ❌ | ✅ | ❌ |
| 蜜罐 | ✅ | ❌ | ❌ | ❌ |
| OWASP覆盖范围 | 20/20 | 部分 | 部分 | 局部 |
| Web仪表板 | ✅ | ❌ | ✅ | ✅ |
| 语言 | Rust | Python | ? | ? |
| 价格 | 免费 | 免费套餐 | 企业版 | 企业版 |
贡献
Praesidio是麻省理工学院授权的,欢迎投稿。看 贡献.md 作为指导方针。
优先领域:
- 新攻击模式的检测规则
- 威胁源签名
- 仪表板UI改进
- 本地LLM模型基准测试
- 集成测试
建造于
阿卡
如果Praesidio有助于保护您的MCP设置,请考虑在回购中担任主角⭐
许可证
麻省理工学院——随心所欲地使用它。
