crunchtools/mcp-airlock

GitHub: crunchtools/mcp-airlock

面向 MCP 生态的双层防御内容提取服务,通过确定性清理与隔离 LLM 双重机制抵御 prompt 注入攻击。

Stars: 0 | Forks: 0

# mcp-airlock-crunchtools 安全的 MCP 服务器,用于隔离的 Web 内容提取,具备双层 prompt 注入防御。 ## 工具 (6) | 工具 | 层级 | 描述 | |------|--------|-------------| | `safe_fetch` | L1 | 获取 URL,清理,返回 markdown。检测到注入则失败。 | | `safe_read` | L1 | 读取本地文件,清理,返回 markdown。检测到注入则失败。 | | `quarantine_fetch` | L1+L2 | 获取 URL,清理,通过 Q-Agent 提取。检测到注入则发出警告。 | | `quarantine_read` | L1+L2 | 读取本地文件,清理,通过 Q-Agent 提取。检测到注入则发出警告。 | | `quarantine_scan` | L1+L2 | 预检扫描:检测注入向量,不返回内容。 | | `quarantine_stats` | — | 会话统计、配置和黑名单摘要。 | ## 架构 - **Layer 1 (确定性):** 7 阶段清理流水线,剥离隐藏 HTML、不可见 unicode、编码 payload、数据窃取 URL 和 LLM 分隔符。 - **Layer 2 (Q-Agent):** 隔离的 Gemini Flash-Lite LLM,用于语义内容提取 — 无工具、无记忆、无 SDK。 ## 安装 ``` # PyPI pip install mcp-airlock-crunchtools # uvx (zero-install) uvx mcp-airlock-crunchtools # 容器 podman run quay.io/crunchtools/mcp-airlock ``` ## 配置 ``` # Layer 2 (Q-Agent) 所需 export GEMINI_API_KEY=your-key # 可选 export QUARANTINE_MODEL=gemini-2.0-flash-lite # default export QUARANTINE_FALLBACK=layer1 # or "fail" export QUARANTINE_MAX_CONTENT=100000 # max chars to Q-Agent export QUARANTINE_DB=/data/airlock.db # SQLite blocklist path export QUARANTINE_TRUST_CONFIG=~/.config/mcp-env/mcp-airlock-trust.json ``` ## Claude Code ``` { "mcpServers": { "mcp-airlock-crunchtools": { "command": "uvx", "args": ["mcp-airlock-crunchtools"] } } } ``` ## 许可证 AGPL-3.0-or-later
标签:Claude Desktop, Crunchtools, DNS 反向解析, Gemini API, IP 地址批量处理, MCP, MCP Server, Naabu, Python, Quarantine, RAG安全, Red Canary, sanitize, 内容安全, 安全中间件, 恶意输入检测, 提示词注入防御, 数据清洗, 无后门, 模型上下文协议, 网络内容提取, 逆向工具, 隔离沙箱