安全防护平台

Praesidio是一款开源的MCP服务器和AI代理安全平台,提供实时防火墙、LLM驱动的分析和行为异常检测功能,完全离线运行。

  • by Godatcode
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 Godatcode/Praesidio

使用说明

🛡️ 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 <IMPORTANT> 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设置,请考虑在回购中担任主角⭐

许可证

麻省理工学院——随心所欲地使用它。