别总想着在运行时用过滤器去堵漏洞
分享一个关于 Agent 隐私泄露防御的硬核思路:Preemptive Hardening(预先硬化)。现在很多 AI Agent 只要接了外部工具,基本就成了 Prompt Injection 的重灾区。因为 LLM 很难分清哪些是用户的指令,哪些是系统定义的边界,稍微搞点绕弯子的提示词,数据就直接被刷出来了。
三、对抗性验证
硬化完之后,它会自己生成一批类似 Jailbreak(越狱)或指令覆盖的攻击输入,看看补丁是不是真的生效,同时确保正常业务没被误杀。
下一篇
DARWIN:用进化算法死磕大模型安全 →
这套方案最聪明的地方在于它不是在运行时实时监控(那样太影响性能且容易被绕过),而是在部署前跑一个 Pipeline 扫描一遍。
具体怎么操作的:
一、静态扫描与补丁生成
它会扫描 Prompt 模板、工具接口定义以及调用代码,找出那些容易导致泄露的模式。比如某个 Tool 的 Schema 定义太宽泛,或者边界处理太随意。
二、实施“硬化”手段
针对高风险工具,直接在代码层面打补丁,而不是靠提示词约束:
- Schema Tightening:收紧接口定义,不让 LLM 乱传参数。
- Boundary Sanitization:强制进行边界清洗,防止指令注入。
- Allowlist Gating:基于白名单的工具准入,没权限的工具根本唤不醒。
- Least-Privilege Checks:执行最小权限原则,给 Agent 刚好够用的权限。
三、对抗性验证
硬化完之后,它会自己生成一批类似 Jailbreak(越狱)或指令覆盖的攻击输入,看看补丁是不是真的生效,同时确保正常业务没被误杀。
这种实战导向的防御比单纯写“请不要泄露用户隐私”这种废话提示词有效得多。在 AgentDojo 等基准测试里,这套流程能把基础的越狱泄露率直接砍到 0,即便是在高压操纵环境下也能降低 91% 的泄露。
对于搞 AI Agent 工作流的同学来说,这个思路很值得借鉴:与其在 Prompt 里跟模型死磕,不如在接口定义和代码权限上做文章。