BlastRadius MCP 是面向 Model Context Protocol(MCP)服务器的零信任安全代理。它解决的问题是:通过 MCP 给代理开放 bash、文件系统、SQL 或云访问权限,相当于赋予语言模型执行 rm -rf、DROP TABLE 或 aws s3 rb 的能力;同时工具输入输出常携带未脱敏的 AWS 密钥、GitHub PAT 和数据库密码,且没有机制在调用落地前模拟后果、事后也没有记录可供审查。
核心能力与工作原理
- 执行前解析与评分:引擎先按 POSIX shell 的解析方式还原命令,再对还原后的命令运行规则匹配,并给出 0-100 分,阻止危险调用。解析步骤包括引号移除、变量赋值跟踪、参数展开、命令替换、管道拆分、内联程序提取、解释器检测。报告会附带解析块,供审查者查看实际匹配的文本。
- DLP 凭据脱敏:双向扫描凭据与 PII,包括 AWS 访问密钥、GitHub PAT、OpenAI、Stripe 密钥、Slack 令牌、SSH 私钥、数据库 URI 密码、JWT、信用卡号、美国 SSN 和电子邮件地址。
- 策略门与审批令牌:内置四规则策略,可用自定义 JSON 通过 --policy 覆盖。高影响操作需要 HMAC-SHA256 签名、JWT 形状的审批令牌,默认 300 秒 TTL,最长一小时,单次使用,防重放。
- 序列检测:在逐调用裁决后,基于哈希链决策日志检测五种工作流形态,只能收紧不能放宽决策,每个信号引用触发它的条目索引,并在分析窗口截断时返回 truncated: true。
- 审计日志:仅追加 JSONL、SHA-256 哈希链、每条目一个 HMAC-SHA256 签名。载荷只哈希不存储,秘密不会落入日志。verify_audit_log 会重新计算所有哈希和签名,任何字段被编辑都会破坏验证并报告索引。
安装与使用方式 需要 Node 22+。可作为独立 MCP 服务器运行并供代理调用;也可包裹现有服务器,下游无需改动。examples/ 中有 Cursor、Cline 和 VS Code 的可用配置,并可通过 manifest.json 一键安装为本地 MCP 包。代理通过调用时的 confirmationToken 参数接受升级审批令牌,该参数会在转发前被剥离,不会到达下游服务器。签名密钥需显式设置,否则重启后先前条目无法验证;账本默认在 process.cwd(),建议指定明确路径。
适用场景
- 为编码代理提供安全的 shell、文件系统、SQL 或云访问
- 需要执行前风险评估、凭据脱敏、人工审批和可审计日志的 MCP 部署
限制
- 不解码 Base64、十六进制和 ROT 编码载荷
- 单次调用分析无法覆盖多跳间接引用(如稍早写入的脚本)和逐字符拼装的破坏性载荷
- 非 shell 的 MCP 工具参数只评分,不经过解析器
- 序列检测存在子窗口攻击、跨调用者洗白、慢速渗漏和破坏性分类重建等盲点
- 审计链不检测条目删除、截断或重写,无外部或 Merkle 锚定,属于防篡改可检测而非完全防篡改
- requestedBy 是调用代理提供的自由文本,没有带外人工通道或身份提供方
- 下游命令按空白拆分,路径含空格会出问题;代理是面向行的 JSON-RPC 透传,而非完整 MCP SDK 客户端
- 代理暴露的是下游服务器工具,不是 BlastRadius 自己的六个工具
技术信息 24 条签名规则和 11 个 DLP 检测器。风险分段:SAFE <15、LOW 15-39、MEDIUM 40-69、HIGH 70-89、CRITICAL 90+。九个文件共 145 个测试,CI 在 Node 22 和 24 上运行,CodeQL 覆盖 javascript-typescript。构建为 strict: true 的 tsc,无打包器、框架或测试运行器依赖。许可为 Apache-2.0,仅两个运行时依赖,本地运行,不打开套接字,不外传数据,无许可证密钥,无付费层。