MCP安全增强服务

为企业级Google模型上下文协议(MCP)服务器提供安全增强功能,包括ABAC授权、mTLS认证、审计日志和PII检测等。

  • by Compuute
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Compuute/secure-mcp-auth-demo

使用说明

安全MCP认证演示

谷歌模型上下文协议(MCP)服务器的企业级安全包装。

🔒 安全功能

谷歌的基线是什么

  • ✅ 基本OAuth 2.0客户端凭据
  • ✅ API密钥验证
  • ✅ 速率限制
  • ✅ API集线器集成

我们添加了什么(企业安全层)

  • ✅ ABAC授权 -细粒度、基于策略的工具访问控制
  • ✅ mTLS身份验证 -基于证书的代理身份
  • ✅ 审计日志 -集成SIEM的OpenTetry跟踪
  • ✅ 快速注射保护 -输入验证和内容过滤
  • ✅ PII检测 -数据隐私的Model Armor集成
  • ✅ 多SIEM支持 -Chronicle、Splunk、Elastic后端
  • ✅ 速率限制 -每个代理、每个工具请求限制

📊 建筑

Google's MCP Server (baseline)
        ↓
Secure Wrapper (src/secure-index.ts)
        ↓
Security Orchestrator
        ↓
├─ ABAC Policy Engine
├─ Input Validator (prompt injection)
├─ Model Armor (PII detection)
├─ OTel Audit Logging
└─ SIEM Integration

🚀 快速开始

# Install dependencies
npm install

# Generate mTLS certificates
cd security-layer/mtls
./generate-certs.sh

# Configure environment
cp .env.example .env
# Edit .env with your credentials

# Run server
npm run dev

🧪 测试

# Run all tests
npm test

# Run tests with UI
npm run test:ui

# Coverage
npm run test:run

测试结果: 15/17通过(通过率88%)

📁 项目结构

secure-mcp-auth-demo/
├── src/
│   └── secure-index.ts          # Main secure wrapper
├── security-layer/
│   ├── audit-logging/           # OTel + SIEM
│   ├── mtls/                    # Certs + ABAC
│   ├── model-armor/             # PIi-cloud/             # Cloud portability
├── google-baseline/             # Google's MCP (submodule)
├── docs/
│   ├── threat-model.md          # Security analysis
│   ├── security-gaps.md         # Before/after comparison
│   └── architecture.md          # Design decisions
└── tests/
    ├── unit/                    # Component tests
    └── integration/             # E2E security flows

🔐 解决安全漏洞

差距 谷歌基线 我们的解决方案
身份验证 静态API密钥 mTLS+工作负载标识
授权 权限过大 ABAC有策略
审核 无审核模式 OTel+SIEM集成
输入验证 无 提示注射检测
PII保护 无 模型装甲集成
合规性 未解决 SOC2/HIPAA就绪

📚 文档

🛠️ 配置

SIEM后端

# Chronicle (Google SecOps)
CHRONICLE_ENDPOINT=https://...

# Splunk HEC
SPLUNK_HEC_ENDPOINT=https://...
SPLUNK_HEC_TOKEN=...

# Elastic
ELASTIC_ENDPOINT=https://...

ABAC政策

编辑 security-layer/mtls/abac-policy.ts 或者从JSON加载:

{
  "id": "policy-admin",
  "agents": ["admin-agent"],
  "tools": ["*"],
  "conditions": {
    "trustLevel": ["high"],
    "rateLimit": { "requests": 1000, "windowMs": 60000 }
  }
}

📈 演出

  • 管理费用: 每个请求约5ms(安全层)
  • 吞吐量: 1000+请求/秒(带速率限制)
  • 内存: +50MB(安全组件)

🤝 贡献

作为金融科技/健康科技企业人工智能安全模式的演示而构建。

📄 许可证

Apache 2.0(与谷歌的基线相匹配)

🔗 链接


内置: TypeScript、Express、OpenTetry、Vitest 目标: 企业金融科技/健康科技(美国/欧盟/北欧/阿联酋)