⚠️ 草稿 · 未经人工审核 · 不作正式威胁报告依据 — DRAFT, pending human review

TaiChu SecurityChecker 有效性矩阵 + SC-GAP

来源 security_profile.json(SSP8)· 有效盲区 = 未覆盖 ∪ 可绕过(覆盖 ≠ 保护)· K-Inn-SecurityIssue [T]
核心结论:核心 AgentLoop 无内容级 SecurityChecker——工具结果原样入 context 无 sanitize(agent_loop.rs:305),SAFETY_VALIDATE 仅 cancel/steer 轮询无内容校验(agent_loop.rs:333)。bash/exec_os_api/exec_cli/cron 无 dangerous_patterns。系统性 Rule-Based 防御只存在于 GUI app-controller 子系统(refine.rs)与 web url_guard SSRF(仅拦私网,公网外发全放行)。无任何 AI-Based 内容审核。

SC 组件清单(5 个,含命名误导项)

SC 组件实现类型激活位置覆盖范围
SAFETY_VALIDATE 轮询Control-Flow(非内容 SCL0 agent_loop.rs:333仅 cancel/steer,不读内容(命名误导)
validate_tool_call SchemaRule-Based(JSON Schema)L1 validation.rs仅工具名+required 结构,不审语义
load_skill 路径白名单Rule-Based(canonicalize)L1 load_skill.rs:226-247仅路径边界,不审 SKILL.md 内容
url_guard SSRFRule-Based(私网 IP 黑名单)L1 url_guard.rs:10-78仅拦私网/环回/链路本地,公网放行
refine GUI 动作引擎Rule-Based(黑名单+准入+关键词)L2 refine.rs仅 gui_agent/mobile_use,不覆盖核心工具

工具 × SC 覆盖矩阵(20 工具)

工具触发 SC激活层证据 / 说明
bashbash.rs:88 直接 spawn,无 dangerous_patterns
exec_os_apiexec_os_api.rs:170 params as-is 转发(真机 executor 另有权限,SSP2 约束1)
exec_cli同转发模型,dangerous_patterns=[]
croncron/mod.rs:118 invoke_host 直接转发;自唤醒非交互执行不经任何过滤
run_subagentruntime.rs:433 返回无 sanitize,委托链无内容 SC
web_searchsearch.rs 仅 query 存在性校验,结果原样回灌
web_fetch部分L1fetch.rs:126 url_guard(仅 SSRF,公网外发放行
image_fetch部分L1url_guard + content-type 白名单 + size 上限
load_skill部分L1canonicalize 路径白名单(仅边界,不审内容)
write / edit无内容 SC,可覆写 .taichu.json/MEMORY.md/IDENTITY.md(受 workspace_roots 路径约束)
read / grep / find / ls只读,结果原样回灌(agent_loop.rs:305),无 sanitize
image_generate / task_*仅参数校验 / 控制类,无内容 SC
gui_agent / mobile_useL2refine.rs GUI 动作引擎(仅 GUI 子系统、仅交互态

上下文绕过分析(context_bypass)

场景bypasses_all说明
cron_noninteractiveTRUEcron 唤醒后执行不经 refine + 核心无内容 SC → 自唤醒后门完全绕过(AP-05)
relay_crossdeviceTRUErelay 无签名 + device_id 无验证 → 跨设备注入直入 AgentLoop(AP-03)
cli_interactivefalse核心工具交互态本身也无 SC(但非全绕过)
gui_only_scopefalserefine 仅覆盖 gui_agent,非 GUI 路径在覆盖外(结构性盲区)

SC-GAP 完整列表(有效盲区 = 未覆盖 ∪ 可绕过)

SC-GAP ID类型位置描述关联 AP
SC-GAP-AGENTLOOP-NOSANITIZE未覆盖agent_loop.rs:305工具结果原样 push,注入收敛点零过滤(共同根因)AP-01..05
SC-GAP-BASH-NOCHECK未覆盖bash.rs:88bash 任意 shell 无 dangerous_patterns—(真机缓解)
SC-GAP-EXECOSAPI-NOCHECK未覆盖exec_os_api.rs:170params as-is 转发,SDK 层无校验—(真机缓解)
SC-GAP-EXECCLI-NOCHECK未覆盖dangerous_patterns=[]exec_cli 同转发模型无 SDK SC—(真机缓解)
SC-GAP-CRON-NOCHECK未覆盖cron/mod.rs:118cron invoke_host 直转,自唤醒完全绕过AP-05
SC-GAP-SUBAGENT-PRIV未覆盖runtime.rs:433SubAgent 返回无 sanitize,委托链无内容 SCAP-03
SC-GAP-WEBSEARCH-NOCHECK未覆盖search.rsweb_search 结果原样回灌无审核AP-01/02/04/05
SC-GAP-FILEWRITE-NOCHECK未覆盖write/edit内容不审,可覆写 .taichu.json/MEMORY.md/IDENTITY.mdAP-01/02/04
SC-GAP-RELAY-NOCHECK未覆盖client.rs:1245-1267 / source_runner.rs:115relay 无签名 + device_id 无验证AP-03
SC-GAP-EVOLVE-USERMD未覆盖write/edit USER.mdUSER.md 高优先级劫持无写入审查(SSP9 Step2)AP-04
SC-GAP-CONFIG-WRITABLE未覆盖module.rs:402-456extended_builtin_tools 无完整性校验,配置即工具定义AP-02
SC-GAP-REMOTE-FAILOPEN未覆盖.taichu.json base_url/gateway无证书钉扎/白名单,改写即 MITMAP-01
SC-GAP-WEBFETCH-EXFIL-DEFEAT可绕过url_guard.rs:37-72仅 SSRF,公网回连全放行 → 凭证外发不被拦(覆盖≠保护)AP-01
SC-GAP-LOADSKILL-CONTENT-DEFEAT可绕过load_skill.rs:226-247只防路径越界,不审内容;伪造 SkillLoad 历史可达(IS-7)INN-04
SC-GAP-GUI-SCOPE-DEFEAT可绕过refine.rs仅覆盖 gui_agent,改用 exec_os_api/bash 等价绕过;关键词可编码规避结构性盲区

配置篡改风险(config_tamper_risks)

攻击面风险级SC-GAP
extended_builtin_tools 配置即工具定义criticalSC-GAP-CONFIG-WRITABLE(AP-02)
.taichu.json base_url/gateway MITM 改写criticalSC-GAP-REMOTE-FAILOPEN(AP-01)
refine StrategyConfig 可配置规则highSC-GAP-CONFIG-WRITABLE
DISABLE-env 开关none穷举未发现旁路(核实留痕,非盲区)

来源 security_profile.json(SSP8 五维解剖 + GapProfile)· 版本 A 硬约束 · Verifier 6/6 PASS。