ATA 七角色层实体映射
灵魂层
L1 SOUL
系统提示组装逻辑
SOUL.mdworkspace/SOUL.md
AGENTS.mdworkspace/AGENTS.md
SKILL.md(第三方 Skill)skills/*/SKILL.md
USER.mdworkspace/USER.md ★最高优先级
openclaw.json → ui.assistant~/.openclaw/openclaw.json
组装代码:activation-context-DipZzd8Q.js + bootstrap-files-Ya-g0cIb.js
记忆层
L2 MEMORY
持久化记忆系统
USER.md认知定义,最高优先级,可被投毒
MEMORY.mdworkspace/MEMORY.md,长期记忆
HEARTBEAT.mdworkspace/HEARTBEAT.md,写入无保护
SQLite~/.openclaw/memory/main.sqlite
LanceDB(可选)远程对象存储,v2026.4.15+
Daily Memoryworkspace/memory/YYYY-MM-DD.md
会话层
L3 SESSION
会话管理与隔离
main session加载 USER.md + MEMORY.md
sub-session(sessions_spawn)不加载长期记忆
heartbeat sessionheadless,全 operator 权限
ACP 会话(Gateway API)HTTP 调用,无 USER.md 加载
上下文层
L4 CONTEXT
PromptTemplate 不可信 Slot(攻击入口)
inbound_message❌ 任意发件人内容,无过滤
group_message❌ AllowList 不控制,SC-GAP-GROUP-INJECT
heartbeat_context❌ HEARTBEAT.md 内容,无验证
tool_call_result❌ exec/fetch 返回值,无扫描
skill_desc❌ 第三方 SKILL.md 内容
memory_guidance⚠️ USER.md/MEMORY.md(可被投毒后转 ❌)
大脑层
L5 BRAIN
模型路由与调用
主 LLM(Claude/GPT/Gemini)openclaw.json → model config
coding-agent(子 Agent LLM)skills/coding-agent/SKILL.md
xAI code_execution远程 Python 沙箱,需 XAI_API_KEY
手脚层
L6 TOOL
工具执行层(高风险集中区)
exec/spawn/shellSK-SYS,ExecApprovals 管控
canvas.evalSK-SYS,WebView JS,无过滤
sessions_spawn --bypassPermissionsSK-SYS-AGENT,权限绕过
cronSK-SYS-SCHED,ACP 层可调用
fs_write/fs_readSK-MEMO,路径验证
fetch/httpSK-NET,SSRF Guard(仅 Node.js 层)
discord/slack/telegram 工具SK-TOOL,平台权限控制
安全层
L7 SECURITY
安全检查机制(详见 Security Profile)
ExecApprovalsexec 工具 allowlist,可自修改
AllowList(DM)DM 入站过滤,不覆盖群组
SSRF GuardNode.js 层,WebView 完全绕过
DANGEROUS_ACP_TOOLSHTTP 层拒绝,ACP 不受限
ExecSafety字符级检测,无语义理解
工具清单与注入风险
| 工具名 | 分类 | Sink 类型 | 审批机制 | 注入风险 |
|---|---|---|---|---|
| exec / spawn / shell | Shell 执行 | SK-SYS | ExecApprovals allowlist | 高危:ExecApprovals 可自修改 |
| canvas.eval | WebView JS | SK-SYS | 无检查 | 高危:无任何内容过滤,SSRF 旁路 |
| sessions_spawn (bypassPermissions) | 子 Agent | SK-SYS-AGENT | HTTP 层拒绝,ACP 不限 | 极高:完全绕过权限体系 |
| cron | 定时任务 | SK-SYS-SCHED | HTTP 层拒绝,ACP 不限 | 高危:可设置持久化后门 |
| fs_write / fs_delete / apply_patch | 文件系统 | SK-MEMO | 路径验证,无内容过滤 | 中危:HEARTBEAT.md 可被投毒 |
| memory_write / memory_recall | 记忆系统 | SK-MEMO | 无过滤 | 中危:USER.md 认知劫持路径 |
| fetch / http | 网络请求 | SK-NET | SSRF Guard(Node.js 层) | 中危:WebView 可绕过 SSRF |
| discord/slack/telegram/whatsapp | 平台消息 | SK-TOOL | 平台权限 | 低危:受平台权限限制 |
| web_search / browser | 网页访问 | SK-NET | SSRF Guard | 中危:返回内容无扫描 |
| canvas.present | URL 加载 | SK-NET | 无过滤 | 中危:可配合 eval 执行 payload |
| gateway | 全局配置 | SK-SYS | HTTP 拒绝,ACP 不限 | 高危:修改全局安全配置 |
| nodes | 节点管理 | SK-SYS | HTTP 拒绝 | 中危 |
INN 创新点与安全含义
INN-01:多通道 Gateway 🔴 高危
20+ 消息通道(WhatsApp/Telegram/Discord/Slack/iMessage/WeChat…)统一路由到同一 Agent。每个通道是独立 PoisoningEntry。攻击者可选最薄弱通道(IRC/Nostr)发起注入。
SC-GAP:SC-GAP-GROUP-INJECT
SC-GAP:SC-GAP-GROUP-INJECT
INN-02:Heartbeat 轮询 🔴 高危(内部独有)
独立周期轮询机制(heartbeat-runner-DV6vG6Se.js),以完整 operator 权限无人值守运行。HEARTBEAT.md 写入无保护,攻击者可通过一次文件写入实现永久后门。
ORP:ORP-OC-01(新增 HeartbeatEvent 实体)
ORP:ORP-OC-01(新增 HeartbeatEvent 实体)
INN-03:Canvas eval 🔴 高危(Novelty=5)
Agent 驱动的 WebView JavaScript 执行(18793 端口),完全绕过 Node.js SSRF Guard。bind=lan 时暴露到内网,可配合 canvas.present 执行任意 JS payload。
SC-GAP:SC-GAP-CANVAS-EVAL / SC-GAP-SSRF-WEBVIEW
SC-GAP:SC-GAP-CANVAS-EVAL / SC-GAP-SSRF-WEBVIEW
INN-05:bypassPermissions 子 Agent 🔴 极高危
coding-agent skill 官方文档明确推荐
ORP:ORP-OC-03(SubAgentPermission 属性)
--permission-mode bypassPermissions,攻击者通过恶意 Skill 触发后获得完整机器权限。ClawHavoc 运动(2026-01)已实战验证。ORP:ORP-OC-03(SubAgentPermission 属性)
INN-04:ExecApprovals 自修改 🟡 中危
ExecApprovals 规则以文件形式存储(exec-approvals-C3ESyK5S.js),Agent 可通过 apply_patch 修改 allowlist,绕过自身的执行限制。
ORP:ORP-OC-02(Immutable ExecApprovals)
ORP:ORP-OC-02(Immutable ExecApprovals)
INN-06:LanceDB 云存储 🟡 中危
v2026.4.15+ 支持向量记忆同步到远程对象存储(S3/GCS)。攻击者可通过记忆投毒将恶意数据同步到攻击者控制的存储端点(若配置被篡改)。
SC-GAP:SC-GAP-LANCEDB-EXFIL
SC-GAP:SC-GAP-LANCEDB-EXFIL
Mock 使能状态(四阶段)
① Assembly(Prompt 组装)
SOUL.md 组装位置已定位
SKILL.md 加载顺序已明确
USER.md/MEMORY.md 优先级已确认
activation-context 代码路径已标注
② Execution(工具调用)
全工具清单(12 类)已枚举
exec 典型返回值结构已记录
DANGEROUS_ACP_TOOLS 完整集合已提取
Heartbeat 独立执行路径已分析
③ Safety Check(安全检查)
ExecApprovals 规则完整提取
SSRF Guard BLOCKED_HOSTNAMES 已列举
AllowList 匹配逻辑已分析
5 个 SC-GAP 已识别(总 10 个)
④ Correlation(记忆关联)
USER.md → 最高认知优先级已确认
MEMORY.md 读写路径已定位
HEARTBEAT.md 独立状态文件已分析
SQLite + LanceDB 双存储路径已记录