创新点(Innovation Points)
INN-01 · 心跳机制 C2 持久化
HEARTBEAT.md 被标记为动态上下文文件(不走 prompt cache),每次心跳强制重读。攻击者写入一次即建立永久 C2 — 无需用户在线。
Breakthrough=2 · Rarity=2 · 证据:dist/heartbeat-wake-B8UNwbeh.js · dist/system-prompt-BRx_74d7.js:DYNAMIC_CONTEXT_FILE_BASENAMES
INN-02 · 多渠道广播 × 无渠道隔离 = 超级传播向量
20+ 渠道统一控制平面,message 工具可指定任意渠道发送。一次成功注入触发全渠道广播,影响范围覆盖受害者全部联系人和群组。
Breakthrough=2 · Rarity=2 · 证据:dist/system-prompt-BRx_74d7.js:buildMessagingSection
INN-03 · 工作区文件 = 可写系统提示词注入点
SOUL/USER/MEMORY/HEARTBEAT/AGENTS/TOOLS/IDENTITY/BOOTSTRAP 共 8 个文件直接注入系统提示词。防护仅过滤控制字符,不过滤指令语义。注入+持久化路径合一。
Breakthrough=1 · 证据:dist/workspace-BfC_r2Tf.js · dist/system-prompt-BRx_74d7.js:sanitizeForPromptLiteral
INN-04 · bypassPermissions 完全清空工具策略
--permission-mode bypassPermissions CLI 参数激活后跳过整个 tool-policy-pipeline,所有工具调用无需确认。攻击者通过 write 工具修改启动脚本可植入此标志。
证据:dist/cli-shared-BybrVDQR.js:CLAUDE_BYPASS_PERMISSIONS_MODE
INN-05 · Plugin 记忆 = MEMORY.md 持久化注入
核心无内置记忆实现,完全依赖 plugin。但 MEMORY.md 文件以 order=70(最高)注入系统提示词。Plugin 被攻陷或 Agent 被诱导写入 MEMORY.md 即完成持久化投毒。
证据:dist/memory-state-KSM4P5jG.js:registerMemoryCapability
安全机制缺口(SC-GAP)
SC-GAP-NO-GUARDRAIL
无独立模型级 GuardRail(Agent.guard_rail = None)。所有安全检查均为规则级 RulesChecker,可被 prompt injection 诱导绕过。
SC-GAP-NO-OUTPUT-CHECK
无输出层安全检查。模型生成内容直接发送到渠道,恶意输出(信息外发、社工内容)无法在发出前被拦截。
SC-GAP-WORKSPACE-INJECTION
工作区 .md 文件注入系统提示词时,sanitizeForPromptLiteral 仅过滤控制字符(CR/LF/NUL/bidi),不过滤指令语义文本。攻击者植入的 Markdown 指令会被 LLM 完整解析。