before_tool_callbaseUrl 指向代理XSafeClaw → Agent Skillsbefore_tool_call hook 拦截所有工具调用并记录完整调用轨迹。实时风险评估 + AgentDoG 离线轨迹分析,形成闭环| Guard 层 | 拦截位置 | 机制 | 覆盖范围 | 可执行动作 |
|---|---|---|---|---|
| SKILL/MEMORY SCAN | XSafeClaw 后端 → Agent 加载前 | 扫描 ~/.openclaw/skills/ 和 memory/ 目录内所有文件,校验哈希与内容安全 |
所有 Agent 实例启动前 | 阻止加载 / 告警 / 隔离 |
| INPUT GUARD | Safe Router → 转发 LLM 前 | 检查 /chat/completions 的 messages 字段 |
所有来源 (所有 LLM 调用必经) | Block / Modify / Log |
| TOOL TRAJECTORY | Gateway → Agent → 工具执行前 + 离线分析 | before_tool_call hook 实时拦截 + AgentDoG 离线轨迹评估闭环 |
所有来源 (Channel + Web + XSafeClaw) | Block / Allow / Pending / 风险标记 |
| ASSET GUARD | Agent 内部 → 修改文件/资产前 | Agent 通过注入的资产保护 Skill 主动调用 XSafeClaw 权限接口 | 所有文件写入/修改/删除操作 | Allow / Deny / 建议安全修改方式 |
| OUTPUT GUARD | Safe Router → 收到 LLM 响应后 | 检查 completion response 再返回给 Agent | 所有来源 (所有 LLM 响应必经) | Block / Redact / Log |
| RED TEAM SKILL | XSafeClaw 后端 → 离线预演 → 注入 Agent | 红队攻击预演 → 提取风险场景 → 自动生成安全执行指南 Skill | 覆盖已知高风险任务场景 | 引导安全执行 / 规避不安全操作 |
Agent 启动前,XSafeClaw 扫描 ~/.openclaw/skills/ 和 memory/ 目录下所有文件。校验文件哈希、检测恶意指令注入、比对白名单。不安全的 skill 或被篡改的 memory 将被隔离,不加载到 Agent 中。
XSafeClaw 将两个安全 Skill 注入 Agent:① 资产保护 Skill(指导 Agent 修改文件前先调用 XSafeClaw API 获取权限)和 ② 红队预演 Skill(包含已知风险场景和安全执行指南,由红队预演系统自动生成和更新)。
用户在飞书群发消息。Channel 插件通过 WebSocket 接收,去重、解析发送者身份。此步不变。
Gateway 路由消息到 Agent,解析会话、加载上下文。Agent 开始构建 Prompt(此时已包含注入的安全 Skills)。此步不变。
Agent 构造 Prompt 并调用 LLM。由于 baseUrl 指向 Safe Router,请求先到达 XSafeClaw。Input Guard 检查完整 Prompt(包含用户消息 + system prompt + 历史上下文)。若不安全 → 拦截并返回错误。
LLM 生成回复。Safe Router 收到后,Output Guard 检查回复内容(有害内容、数据泄露、不安全工具调用意图)。若不安全 → 过滤/拦截后再返回给 Agent。
LLM 回复中包含工具调用时,Agent 尝试执行。before_tool_call hook 触发 → 调用 XSafeClaw Guard API。评估工具名 + 参数 + 会话上下文。返回 allow / block / pending(等待人工审批)。
当 Agent 需要修改文件或资产时,资产保护 Skill 引导 Agent 先调用 XSafeClaw 的资产权限接口 /guard/asset-check,传入目标路径、操作类型、变更内容。XSafeClaw 判定后返回 allow / deny / suggest_safe_alternative。
Agent 完成推理,回复通过 Channel 插件发回飞书。完整轨迹已由 Safe Router 记录,供 AgentDoG 离线分析。红队预演系统持续分析新场景并更新安全指南 Skill。
Python/FastAPI 实现的 OpenAI 兼容 API 代理。接收 /v1/chat/completions 请求,应用 Input/Output Guard,然后转发到真实 Provider。Gateway 的 baseUrl 指向此服务。
极薄的 JS/TS 模块,作为 OpenClaw 插件安装。注册 before_tool_call hook,向 XSafeClaw Guard API 发 HTTP 请求。支持阻断和异步审批。
XSafeClaw 后端服务。定期 / Agent 启动前扫描 skill 和 memory 文件。文件哈希校验、内容审查(检测 prompt injection)、白名单比对。隔离不安全文件并告警。
资产保护 Skill: 给 Agent 提供 XSafeClaw 资产权限 API 接口,指导 Agent 修改文件前先检查权限。
红队预演 Skill: 自动化红队攻击 → 提取风险场景 → 生成安全执行指南,动态更新。
前期: 集成开源安全模型 (ShieldGemma、Llama Guard、WildGuard 等),快速验证架构可行性,零训练成本。
后期: 基于积累的标注数据自训练专用 Guard 模型并私有化部署,提升精度和领域适配性。
| 决策点 | 方案 | 理由 |
|---|---|---|
| OpenClaw 改动范围 | 仅修改 baseUrl 配置 + 安装一个 plugin hook + 注入安全 Skills |
最小侵入性,不改动 OpenClaw 核心代码,升级兼容。Skill 是 OpenClaw 原生机制 |
| Safe Router 协议 | 100% OpenAI API 兼容 (/v1/chat/completions) |
Agent 无需任何改动,对它来说只是换了个 baseUrl |
| Guard 判定方式 | 同步 await + 可选异步审批 (长轮询) | 工具调用可 pending 等待人工审批;LLM guard 同步快速判定 |
| 覆盖范围 | 多层全覆盖 (Scan + Input + Tool + Asset + Output + Trajectory + Red Team) | 从 Agent 启动前到执行中到完成后,全生命周期安全防护 |
| 流式支持 | Safe Router 支持 SSE streaming 代理 | Agent 使用流式 LLM 响应,代理需透传 stream |
| Skill/Memory 安全 | 哈希校验 + 内容扫描 + 白名单 → 启动前拦截 | 防止被篡改的 Skill 或 Memory 文件通过 prompt injection 影响 Agent 行为 |
| 资产保护机制 | 通过 Skill 引导 Agent 主动调用 XSafeClaw API,而非强制拦截 | 利用 OpenClaw 原生 Skill 系统,Agent 自然遵循;配合 Tool Guard 形成双保险 |
| 红队预演策略 | 离线预演 → 风险场景提取 → 自动生成/更新安全 Skill | 将攻击知识转化为防御知识,让 Agent 学习安全执行;持续更新不影响在线服务 |