Threat Model for Agent Harness
安全设计不是“多加几个确认框”这么简单。先把攻击面和失败半径画清楚,权限、HITL、sandbox 才有正确位置。
Core Curriculum
Level 2 · 工程判断
阅读时间 · 11 分钟
练习 · 建议必做
低波动
Last reviewed · 2026-04-22
你将学会什么
- 区分 prompt injection、secret leakage、tool abuse、sandbox escape、remote exposure 这 5 类常见风险。
- 知道 permissions、HITL、sandbox、MCP boundary 分别在防哪种威胁。
- 能把“我的 agent 安不安全”改写成一张可审查的 threat model。
学习前提
建议先读 07 · Permissions + HITL 和 08 · Shell Execution。
这页在课程中的位置
它是第 2 章的安全总图,用来给后续实操页一个统一威胁模型。
本页 1 句话结论
不要先讨论“拦不拦命令”,先讨论“攻击者能控制什么输入、能扩大到什么副作用半径”。
带走的判断法
先画输入面、执行面、存储面、网络面,再看每一层控制措施缺了哪块。
Source Policy
课程主线:稳定威胁模型 + 官方机制 + 可解释控制点。
TL;DR
- Prompt injection 是“输入被污染”;tool abuse 是“动作被放大”;sandbox escape 是“执行边界被突破”。三者不是一回事。
- Permissions / HITL / sandbox 是三层不同控制:前两者管“该不该做”,后者管“就算做错了,伤害能多大”。
- Threat model 的核心不是列工具名,而是明确:攻击者能控制哪些输入、哪些执行环境、哪些持久化状态、哪些外部系统。
1. 为什么先做 threat model,再谈安全功能
很多团队把 agent 安全讨论成“要不要加审批”“要不要上 sandbox”“是不是所有命令都弹窗”。这会让讨论永远停留在 feature 层。更稳的顺序是:
- 攻击者能控制什么输入?网页内容、邮件、PR diff、文档、截图、聊天消息?
- agent 能触发哪些动作?读文件、写文件、发