recurprotocol/recur-protocol

GitHub: recurprotocol/recur-protocol

RECUR协议是一个即插即用的AI安全代理,通过替换API端点实现对OpenAI和Anthropic的实时prompt注入防护,兼具低延迟检测与链上激励的哨兵网络架构。

Stars: 3 | Forks: 0

# RECUR 协议 自进化的 AI 安全哨兵。拦截发往 OpenAI 和 Anthropic 的 prompt,检测并阻止对抗性攻击,并记录每一个事件。 ## 两层架构 ### Layer 1 — 代理 (Live) 即插即用的 AI 安全代理。无需钱包,无需 token。替换你的 OpenAI 或 Anthropic endpoint 即可获得保护。 - **生产环境 endpoint:** `https://recur-protocol.vercel.app/api/proxy` - 目前支持 OpenAI 和 Anthropic - 5 种攻击类别,40+ 检测特征,<5ms 延迟开销 - 无需 SDK,无需修改应用逻辑代码 ### Layer 2 — 质押 (即将推出) 质押 $RECUR 以运行哨兵节点,赚取周奖励,并在链上向 Solana 提交安全证明。 - 程序已部署至 devnet: `B9yz27EvNVFyh8LwqCqviRX3R24YM3UmC2X2dff6kTKj` - 3 种节点层级:Nano (10K), Ward (100K), Prime (1M $RECUR) - 4 种锁仓时长:Flexible (8%), 3mo (12%), 6mo (16%), 12mo (20%) APY - 自动复利、罚没、正常运行时间追踪 ## 架构 ``` Client ↓ POST /api/proxy ← Node.js — receives & routes requests ↓ POST /api/detect ← Detection engine — injection/jailbreak/extraction analysis ↓ (blocked or clean) OpenAI / Anthropic ← clean requests forwarded to provider ↓ POST /api/threats ← event logged with full threat metadata ↓ Response to client ← provider response + RECUR metadata attached ``` ## 端点 | Endpoint | Method | Description | |---|---|---| | `/api/proxy` | POST | 主入口 —— 封装 OpenAI/Anthropic | | `/api/detect` | POST | 检测引擎 —— 威胁分析 | | `/api/threats` | GET | 获取威胁事件日志 + 统计数据 | | `/api/threats` | POST | 记录威胁事件(由 proxy 内部调用) | | `/api/health` | GET | 服务健康检查 | ## 使用代理 将你的 OpenAI 或 Anthropic API 调用替换为调用 RECUR 的 proxy。无需钱包。无需 token。 ### OpenAI 示例 ``` // Before — direct to OpenAI const response = await fetch("https://api.openai.com/v1/chat/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${OPENAI_KEY}`, }, body: JSON.stringify({ model: "gpt-4o-mini", messages }) }); // After — through RECUR const response = await fetch("https://recur-protocol.vercel.app/api/proxy", { method: "POST", headers: { "Content-Type": "application/json", "x-recur-api-key": "your-recur-key", "x-recur-provider": "openai", "x-recur-target-key": OPENAI_KEY, }, body: JSON.stringify({ model: "gpt-4o-mini", messages }) }); ``` ### Anthropic 示例 ``` const response = await fetch("https://recur-protocol.vercel.app/api/proxy", { method: "POST", headers: { "Content-Type": "application/json", "x-recur-api-key": "your-recur-key", "x-recur-provider": "anthropic", "x-recur-target-key": ANTHROPIC_KEY, }, body: JSON.stringify({ model: "claude-haiku-4-5", max_tokens: 1024, messages }) }); ``` ### 响应 干净的请求会返回正常的提供商响应以及一个 `recur` 元数据对象: ``` { "id": "chatcmpl-...", "choices": [...], "recur": { "status": "CLEAN", "severity": "CLEAN", "confidence": 0, "latency_ms": 42, "event_id": "evt_1234567890_abc123" } } ``` 被阻止的请求会立即返回,不会触达提供商: ``` { "id": "recur-block-...", "blocked": true, "choices": [{ "message": { "content": "[RECUR SENTINEL] This request was blocked. Reason: INJECTION" } }], "recur": { "status": "BLOCKED", "severity": "CRITICAL", "confidence": 0.91, "primary_threat": "INJECTION", "threats": [...], "sentinel": "WARD-INJ-01", "latency_ms": 8, "event_id": "evt_..." } } ``` ## 检测能力 | Attack Type | Description | |---|---| | INJECTION | 直接 prompt 覆盖和指令替换 | | JAILBREAK | 人格操纵、DAN、开发者模式、角色扮演逃逸 | | EXTRACTION | 系统 prompt 套取、逐字输出请求 | | BOUNDARY | 限制探测、过滤器枚举 | | ENCODING | Base64/unicode 混淆对抗性 payload | | HEURISTIC | 行为异常 —— 长度、重复、角色升级 | ## 环境变量 在 Vercel 控制台或本地开发的 `.env.local` 中设置这些变量: ``` RECUR_API_SECRET=your-secret-key-here DETECTION_URL=https://recur-protocol.vercel.app/api/detect ``` ## 部署 ``` npm install -g vercel vercel ``` 在部署前于 Vercel 环境变量中设置 `RECUR_API_SECRET`。 ## 路线图 - [x] 支持 OpenAI 和 Anthropic 的实时 proxy - [x] 实时威胁仪表板 - [x] Solana 质押程序 (devnet) - [ ] Vercel KV / Upstash Redis 用于持久化事件存储 - [ ] 威胁事件的 Solana 链上认证 - [ ] 哨兵变异 —— 检测模型根据观察到的攻击进行更新 - [ ] Canary token 注入和监控 - [ ] 速率限制和滥用检测 - [ ] Mainnet 质押启动
标签:AI安全, AMSI绕过, Anthropic, API网关, Chat Copilot, CISA项目, CIS基准, DePIN, IP保护, IP 地址批量处理, JSONLines, LLM防火墙, MITM代理, OpenAI, Petitpotam, Solana, Web3, 中间件, 代币激励, 代理服务, 内存规避, 区块链, 威胁检测, 对抗攻击, 提示词注入防御, 敏感信息检测, 网络安全, 网络安全, 自定义脚本, 越狱检测, 防御系统, 隐私保护, 隐私保护, 零信任