安全
运行带 Shell 权限的 AI Gateway:威胁模型与最小化风险的实操清单
快速自检:`openclaw security audit`
建议把它当作"改配置/开网络/装插件后必跑"的安全体检:
openclaw security audit openclaw security audit --deep openclaw security audit --fix
它会重点检查:Gateway 认证/暴露、浏览器控制暴露、elevated 工具策略、磁盘权限与敏感文件、插件加载等。
另见:''形式化验证(安全模型)''
核心原则:先做访问控制,再谈智能
多数事故不是"高级攻击",而是"有人能给机器人发消息,机器人就照做了"。优先顺序建议是:
- 身份/入口:谁能触发机器人(DM pairing/allowlist、群组允许列表、@ 提及门控)。
- 权限/范围:机器人允许在哪里行动(工具白名单、沙箱、设备权限)。
- 模型/提示词:把模型当作可被操控的组件,依赖硬约束而不是"求它听话"。
优先级清单(遇到告警先修哪个)
当 audit 输出问题时,按这个顺序处理通常最有效:
1. 任何 open + 工具启用:先锁 DM/群组,再收紧工具策略/沙箱。
2. 公网/局域网暴露(bind=lan、Funnel、缺少 auth):立刻修复。
3. 远程浏览器/节点控制暴露:按"远程操作员权限"对待(tailnet-only、避免公网)。
4. 文件权限:确保 state/config/credentials 不可被组/其他用户读取。
5. 插件:只加载你显式信任的插件与版本。
Prompt 注入:不只来自"陌生人 DM"
即使只有你能给机器人发 DM,只要机器人读取不可信内容(网页、附件、邮件、粘贴的日志/代码),提示词注入仍可能发生。
实践建议:
- 把网页/附件阅读交给只读、无工具的"reader agent",只把摘要交给主 agent。
- 对于高风险工具(''exec''/''browser''/''web_fetch''/''web_search''),坚持最小化和白名单。
- 启用沙箱,把敏感数据从可读文件系统里移走(不要指望提示词能"保证不泄露")。
应急响应(怀疑被入侵/泄露时)
可以把"入侵"理解成:有人进入了能触发机器人的房间、token 泄露、插件/工具做了非预期动作。
1) 止血:停 Gateway 或禁用 elevated 工具;立刻收紧 DM/群组入口。
2) ''轮换密钥'':轮换 ''gateway.auth'' token/password;轮换 hooks token;撤销可疑的节点配对;轮换模型提供商密钥。
3) ''审查证据'':检查 Gateway 日志和最近的会话/记录;检查并清理 ''extensions/''。
4) ''复跑审计'':''openclaw security audit --deep'' 确保报告干净。