ATA Ontology v7.0

实体 × 标签 全景 · L0-L6 架构层(Channel+Gateway 已并为 L3 入口与调度)+ 风险面 · 属性级标签绑定 · 长名标签 · 标签族详见 tag_family
v7.0 三升级:① 属性表加 第三列「可挂标签」(绑定细到属性级,对应许可矩阵); ② 标签全 长名(如 Sink-MemoryWrite); ③ 新组件/概念标 NEW(AgentCore文件 · PromptTemplate靶心 · Workflow工作流 · PermissionPolicy权限 · 注入面 · ExecutionSandbox沙箱)。
组织原则:静态定义(L1) ↔ 运行时(L5) 分离;策略声明(L1 PermissionPolicy) ↔ 执行(L4 SecurityChecker) 分离。
标签族配色: 权限 Perm-鉴权 Auth-触发 Trigger- 可变性 Mutability-来源可信 SourceTrust-注入通道 InjChannel- 敏感性 Sensitive-Sink动作 Sink-受影响 Affected-盲区 Gap-
L0 · AgentCore(WHO — 身份与认知定义)
AgentCoreNEW
核心定义文件集
Agent.md/User.md/Soul.md — 身份认知,皆注入目标且属敏感资产
Agent.mdAgent 定义(能力/行为约束)Mutability-*
User.md用户画像(含 PII)Mutability-*Sensitive-PersonalInfoInjChannel-Memory
Soul.md人格/灵魂设定Mutability-*
L1 · 内部组件(Internal Components — 模型 · 配置 · 工作区 · 记忆 · 知识库 · 自进化)
Model归 L1
Entity
底层推理模型(内部组件)
name / provider / version如 GLM-5.1
native_role_tokens(5类)枚举原生 role 边界 token,按角色枚举:System / User / Assistant / Tool(Observation) / Segmenter(分隔符);各填该模型实际 token(如 <|user|>)→ NativeRoleToken 攻击关键InjChannel-SystemPrompt
context_window上下文窗口
PromptTemplate单独·靶心
Entity · 所有注入槽位所在
系统 Prompt 模板,含全部 Source 注入槽;每个槽=一个注入面
slots[](有序 · 顺序=组装次序)支持槽位枚举;每槽标动态性 + 注入通道。动态槽才是注入面SlotDynamics-*
1 SystemPrompt系统指令主体Static
2 ContextFilesAGENTS.md 等Static/DynInjChannel-Memory
3 Memory记忆槽DynamicInjChannel-Memory
4 ToolCallResult工具返回(主注入面DynamicInjChannel-SyncToolReturn
5 SkillsGuidance技能指导(3rd方可变)Static
6 DelegateContextSubAgent 委托Dynamic
7 GatewayMessage网关消息DynamicInjChannel-AsyncBackground
8 ModelRouting模型路由(供应链)Dynamic
9 UserInput用户输入(可信)Dynamic
WorkflowNEW
工作流定义(静态)· 3 类型
ReAct / PlanAndExecute / Custom;运行产生的上下文不在此(见 L5)
workflow_typeReAct / PlanAndExecute / Custom(自实现)Trigger-*
ReAct · AgentLoop(6步)本被测代码实证 LOOP_STEPS:OBSERVING→ASSOCIATING→ASSEMBLING→REASONING→EXECUTING→SAFETY_VALIDATE(+SelfEvolve 后置)
PlanAndExecute先整体规划,再逐步执行(当前代码无)
attack 关联ASSEMBLING=注入入场 · EXECUTING=Sink出场 · SAFETY_VALIDATE=防御点InjChannel-Sink-
AgentConfig
settings.json / .env · 原始配置容器
原始值容器;凭证值本身=资产,其它值喂给 Model/Workspace/PermissionPolicy
auth_token / api_key鉴权凭证(攻击高价值 AP-04)Sensitive-CredentialAuth-Method-StaticToken
model_service_url模型服务地址(LLM endpoint)→ 关联 Model供应链
workspace_path落盘目录 → 关联 Workspace
sandbox_path / space沙箱地址/空间 → 关联 ExecutionSandbox(L6)Sink-CodeExec 落点
identity_idsagent / user / account 身份标识Sensitive-PersonalInfo
security_level安全策略级别 → 喂 PermissionPolicy / SecurityCheckerGap-(级别低=盲区)
permission_mode / rules权限策略 → 建模在 PermissionPolicyPerm-*
PermissionPolicyNEW·权限
权限策略(静态)· 攻击面边界
声明被测「可以做什么」;策略在此声明,运行时由 L4 SecurityChecker 执行
permission_modedefault / acceptEdits / bypassPermissions / autoEditPerm-*
grants[]从L0移入逐资源授权(参照真实权限):Tool/Skill/File/Command→perms + Sink动作Perm-Tool/File/Action/Collection-Sink-(命令)
allow_from_rules[]渠道来源白名单(空=全放行 ⚠)Auth-Type-None
dangerous_patterns[]危险命令/路径黑名单 → 被 L4 RulesChecker 消费Gap-Semantic(绕过)
WorkspaceNEW
落盘工作目录
本版有实际落盘。path=属性,writable/persisted=标签(拆开)
path路径地址(真属性)
writable可写性 → 用可变性标签Mutability-Mutable/Static
persisted跨会话留存 → 持久性标签(关联 Persist 攻击)Persistence-CrossSession
LongTermMemory
Entity · RAG 管线
对话历史+偏好(跨会话);保存/索引/检索三方式各是攻击面。短时记忆不在此(L5)
storage_method 保存方式向量库 / 文件 / KV(投毒条目存哪)
index_method 索引方式embedding / 关键词 / 图(语义索引可被构造命中)
retrieval_method 检索方式主要 RAG 语义检索:被投毒条目被检索进上下文 = 注入面InjChannel-Memory
mutability可变性(多为可追加)Mutability-Appendable
persistence跨会话(长时记忆本质)Persistence-CrossSession
sensitivity[]含偏好/历史等敏感内容Sensitive-Communication
KnowledgeBaseNEW
知识库 · RAG
参考文档/领域知识;与长时记忆类似,也是 RAG 检索注入面
content_sources知识来源(文档/网页/第三方)Sensitive-*
retrieval_methodRAG 检索(投毒知识被检索进上下文)InjChannel-Memory
mutability / persistence可变性 / 持久性Mutability-*Persistence-CrossSession
SelfEvolveNEW · opt
自进化(可选)
Agent 自我修改能力;注入可借此写入恶意自定义=持久化高危
evolve_targets可自改对象:skill / memory / promptMutability-Extensible
triggerSelfEvolveEvent(多为主动触发)Trigger-Select-Proactive
write_scope能否写入自身定义(Persist 攻击面)Perm-(关系)Persistence-CrossSession
L2 · 能力空间(Capabilities — 工具 · 技能 · 插件 · MCP)
Tool
底层原语(TAICHU:PCS/SAA)
返回不可信→贡献注入点到 InjectionSurface
tool_kind(子类)NEWCodeExec 开放执行{ShellCLI(bash)→OS沙箱 · CodeInterpreter(Python/JS)→解释器沙箱}:开放动作面=多Sink网关,命令/代码级权限,最高危 | FileIO | Web | MCP-API(带 mcp_server) | FixedFunction子类
tool_typereal / mock
source_trust来源可信(序数 Untrusted<Trusted,原 ToolRisk-Input)SourceTrust-*
perception感受野(类别:自然语言/代码/二进制,原 ToolRisk-Field)Perception-*
sensitivity[]通用数据敏感性(原 ToolRisk-DATA,升通用·同标资产)Sensitive-*
action_sensitivity[]行为敏感(破坏性等,原 ToolRisk-ACT)ActionSensitivity-*
mutability可变性Mutability-*
返回注入不可信返回 → 贡献注入点InjChannel-SyncToolReturn
Skill
Entity · 四态子类
来源四态决定信任
sourceBuiltin/Trusted/ThirdParty/AgentGenerated(类即标签)子类
mutability可变性Mutability-*
PluginNEW
扩展 · 四态子类
第三方扩展=供应链面
sourceBuiltin/Trusted/ThirdParty/AgentGenerated子类
mutability可变性Mutability-*
MCPAPINEW
外部 MCP 工具(能力 · Tool 子类)
agent 调的 MCP 工具/API;MCPServer 是它的必备属性,不是独立能力
mcp_server(必备属性)所在服务器 + 端点 + 鉴权;返回不可信→贡献注入点Auth-Type-*InjChannel-SyncToolReturn
source_trust / perception / mutability来源可信 / 感受野 / 可变性SourceTrust-/Perception-Mutability-*
L3 · 入口与调度(Ingress & Dispatch — Channel + Gateway 合并:通道/网关/监听/定时/路由/委托)
Channel
入口通道(TAICHU:仅小艺对话1个·可信)
可信通道(用户对话) vs 不可信源通道(webhook/async);只有后者是注入源
drive_from通道来源实体(用户 / 上游服务 / 定时器)
activation(激活方式)NEW用户消息(可信) / 监听器(webhook→Signal) / 定时任务(cron→Schedule);后两者=异步不可信源Trigger-Event-Signal/Schedule
auth_type / auth_method鉴权;无鉴权 + 监听器 = 上游伪造(AP-08)Auth-Type-*Gap-GatewayAuth
贡献注入不可信源(监听/定时)贡献注入点;用户对话可信不在此。定时任务另涉 Gap-Cron + CronCreate=Sink-PersistInjChannel-AsyncBackgroundGap-Cron
Gateway
外部调用入口(合入本层)
Webhook/API;默认无鉴权=核心漏洞(与不可信源 Channel 同质)
auth_type / auth_method默认 None → 上游可伪造(AP-08)Auth-Type-NoneGap-GatewayAuth
SessionManager · TaskRouter · EventBus
调度组件
会话/路由/事件分发
TaskRouter任务路由(触发点)Trigger-*
EventBus事件总线(信号触发)Trigger-Event-Signal
SubAgent
Skill 子类 · 委托
delegate 本质是调度;权限隔离是关键
delegate / MAX_DEPTH委托深度限制Gap-SubagentPriv
source技能来源四态(交叉引用 L2)Perm-(关系)
L4 · SecurityChecker(GUARD — 安全拦截,在 L5 AgentLoop 的 SAFETY_VALIDATE 步触发,执行 L1 PermissionPolicy 策略)
缺口画像 = 防御侧的"面",对偶于 InjectionSurface(攻击侧的面)InjectionSurface=攻击能的点集合; GapProfile(gaps)=攻击能穿过不被拦的点集合。 一条 AP 成立 = 选个 InjectionSurface 入口 + 沿途全走有效盲区 → Sink → Harm。
⚠️ 覆盖 ≠ 保护:有效盲区 = 未覆盖(Gap·无检查) ∪ 可绕过(覆盖了但 rule/model 检查可被对抗 defeat:正则→混淆/语义伪装 Gap-Semantic,模型→对抗样本)。covered 但可绕过的 hop,攻击仍穿过。只有 covered 且不可绕过(确定性/结构性硬检查)才真拦(→ RAL-3B 风险拒绝)。
SecurityChecker
容器 · 安全能力/缺口画像
SAFETY_VALIDATE 步触发;缺口画像核心
check_points[]检查模态(输入/记忆/工具返回/输出)CheckPoint-*
check_scope方向:输入 / 输出 / 双向CheckScope-Input/Output/Both
action命中后动作(仅 Log ≠ 拦截;Pending=挂起交模型决策,决策可被注入操纵CheckerAction-Block/Warn/Log/Allow/Pending
coverage[]做了哪些检查(覆盖=会拦的 hop)Check-Rule-* / Check-Model-*
gaps[]缺口画像检测盲区(绑此实例;攻击穿过处)Gap-*
检查器组件(机制子类)
3 机制 · 类即标签
机制=子类;具体查啥=coverage
GuardRail模型语义检测(高价值决策点;成本高)Check-Model-*
PatternFilter关键词/模式黑名单(前置快速过滤)Check-Rule-*
CheckRule正则规则(消费 L1 dangerous_patterns)Check-Rule-*
L5 · 运行时上下文 RuntimeContext(EXECUTION — 动态,Workflow 运行产物)
Context
= PromptTemplate 的运行时实例
L1 PromptTemplate(定义) 填入运行时数据的产物;所有注入点内容汇聚组装于此=注入收敛点
instruct当前指令(含用户原始意图)UserIntent-*
filled_slotsPromptTemplate 各槽填充值(动态槽来自注入点)Affected-ContextInjChannel-(动态槽)
assembled_prompt最终喂给 LLM 的组装结果Affected-Context
compression窗口压缩/摘要:可能截断注入载荷 → RAL P0A 投毒有损
prompt_cache缓存层(缓存投毒面)
ShortTermMemory
会话历史 · Context 的一个输入
本会话累积;是 Context 装配的输入之一(非并列)。非跨会话
files / apis / event_results本会话累积内容(含工具返回=注入落点)Affected-Context
persistence仅本会话(对偶长时记忆的 CrossSession)Persistence-SessionScoped
L6 · Environment(WORLD — 环境域 · 非纯外部 · 动作落地的世界)
L6 核心维度 = 敌手可达性(Reachability):环境是动作落地处,安全关键不是它有啥属性,而是敌手能否到达。每个环境对象标 Reachable / Conditional / Isolated。
ExecutionSandbox
执行沙箱 · 受控可达
代码/命令执行落点;隔离+权限+工作空间隔离决定爆炸半径
isolation_levelnone / process / container / VM(隔离强度→爆炸半径)Reachability-*
permission_scope沙箱内代码权限(网络/文件系统)Perm-(关系)
workspace_isolation工作空间是否隔离于敏感区(能否读 .env / 写 AgentCore)= 逃逸面Gap-(逃逸)
InternalEnv · ExternalEnv
内部 / 外部环境
ExternalEnv 是间接注入源头
InternalEnv内部资源/状态(横向移动面)Reachability-Reachable
ExternalEnvweb内容 / 第三方服务InjChannel-AsyncBackgroundGap-WebContentReachability-*
SupplyChain
供应链
依赖包 / 技能·插件来源
依赖 / 来源注册表pip install / skill安装(装包时可达)Sink-DependencyGap-SupplyChainReachability-Conditional
风险面 · Risk-View(攻击路径建模)
AttackPath 完整结构: PoisonEntry → [(source₀,sink₀), (source₁,sink₁) … (sourceₘ,sinkₘ)] → Harm
毒入口起、危害止,中间是「源→汇」对的多跳链。PoisonEntry/Source/Sink/Harm 均为已定义实体(此处紧凑引用,不重述定义)。 Affected 在 Sink 内部(Sink 的参数:文件 / 特定枚举值对象),非独立节点。
Intent
意图三层 · AP 设计必需
消除旧内联枚举,对齐三层标签
user_original_intent用户原始意图(AP 起点)UserIntent-*
tactical_intent战术意图TacticalIntent-*
strategic_intent战略意图(ATT&CK 对齐)StrategicIntent-*
AP 链节点(PoisonEntry → [(Source,Sink)…] → Harm)
InjectionSurface集合·非实体
AgentProfile 上的派生集合
所有挂 InjChannel 的位置汇集;= 候选 PoisonEntry+Source0 清单
∑ injection_points汇集自工具返回/记忆/提示槽/MCP返回(派生,无独立身份)InjChannel-*
InjectionPoint= PoisonEntry+Source0
从 InjectionSurface 选一个
一个注入点 = 该 AP 的毒入口兼链首源;特征决定可利用性
segment / trust段名 + 信任级(如 USER_MEMORY_DATA/High)InjChannel-*
escaping_rules字符转义(LF→CRLF…)决定载荷存活
token_boundary原生 role token 是否被识别
Source₁₊
后续跳·中间源
链中后续 hop 携带(被污染)数据的来源(Source0 已并入注入点)
source_kind工具返回 / 记忆 / 网关消息…InjChannel-*
Sink含 Affected
每步·汇 = 动作+工具+参数
诱导的动作;Affected 是其参数(文件/枚举值)
action动作类型(全11)Sink-*
tool工具名
affected(参数)嵌入除工具名外的参数:文件 / 特定枚举值对象Affected-*
Harm
危害·终点
链终造成的危害
victim / loss_type2维:受害主体(4) × 损失类型(8)HarmVictim-* / HarmLossType-*
攻击路径事件(链的边 / 状态转移 · 已是子类)
AttackPathEvent
5 子类 · 类即标签
PoisonEntry→Harm 之间的转移
InstructTo指令传递子类
Inject注入(载荷入场)InjChannel-*
Poison投毒(写入污染)子类
Persist持久化(跨会话留存)Mutability-Appendable
LeadToHarm导致危害(→ Harm)Harm-*