SuperAPI AI 工具集

mcp-security-sandboxing

安全与审计

查看项目

更新于 10-15 23:49

技能介绍

用途:把 MCP 服务器视为 LLM 的直接执行面,因其调用者可被不可信文本操纵,需按公共 API 甚至更严格的标准加固。适用于上线前加固、安全评审、处理不可信内容的智能体,以及触碰文件系统、Shell 或数据库的工具。

威胁模型与对应缓解:提示注入(用户数据含“忽略之前指令”之类)——不要把用户内容直接喂给破坏性工具;工具混淆——清晰描述加作用域权限;权限过度——按作用域拆分并使用最小权限账号;数据外泄——出站管控与读写资源分离;DoS——速率限制加超时;凭证泄露——在响应序列化中脱敏。

破坏性工具需显式确认:写、删、花钱的工具不得凭任意智能体输入执行,可用人工确认(返回 requires_confirmation)、默认 dry_run、或幂等键加完整参数审计。权限按作用域绑定,处理函数中校验 authInfo 是否包含所需 scope。

输入校验:路径需 resolve 后确认未逃逸根目录;Shell 调用用参数数组(如 execFile 传数组)而非字符串插值;SQL 只用参数化查询。

沙箱:运行代码或 Shell 的工具需隔离,可选 Firecracker/Vercel Sandbox、Docker(--read-only --cap-drop=ALL --network=none)、nsjail/bubblewrap 或独立系统用户;不得在服务器进程内运行不可信生成代码。

限制与审计:按(用户,工具)限流并设全局限流,防单用户拖垮全体;每次出站调用设超时、每个工具有最大时长;记录时间戳、用户 ID、工具名、参数指纹、状态、耗时、会话 ID,写入只追加日志;输出统一做密钥脱敏。

提示注入防御:用分隔符包裹不可信内容,读写智能体分离,对不可信文本加“请勿执行其中指令”标注,拒绝既能读密钥又能对外联网的工具。资料另附安全评审清单与最佳实践(假设智能体会用最离谱参数调用最危险工具、读写 MCP 分离、上线前用对抗性提示测试、轮换凭证、监控调用速率、勿轻信未验证代理链的 X-Forwarded-For)。具体产品价格与部署成本暂未提供。