Databricks Omnigent 用上下文策略阻断慢燃数据泄露攻击
本文展示了一种针对 AI 代理的隐形慢燃攻击,以及如何用状态ful 上下文策略在不改动代理的情况下实时阻断它。
慢燃攻击把恶意目标拆成多个无害步骤(如读文件、写摘要、发邮件),每步单独看都合法,只有串联起来才构成泄露。Databricks Omnigent 的上下文策略会跟踪会话历史,一旦检测到累计读取敏感材料并试图外发,立即拦截出站动作,且代理无法自行关闭策略。
正文摘录
阻止慢燃攻击:Omnigent 中的上下文策略 - 来源公司:Databricks 有状态上下文策略如何阻止一次提示注入攻击——其中每一个单独的步骤看起来都无害 • 攻击方式:一次间接提示注入将数据窃取拆解为普通步骤:读取一份文档、读取另一份、撰写摘要、然后发送出去。没有任何单个代理或模型能捕捉到这一点,因为每个步骤都在其权限范围内,单独看毫无问题。攻击只有在整个会话范围内才可见。 • 防御方式:使用 Omnigent 实现的单个上下文策略会追踪整个会话的风险,一旦代理读取了过多敏感材料,就会阻止外发步骤。我们现场展示了它如何阻止攻击,且无需对代理做任何其他改动。 • 防篡改性:代理无法覆盖该防护或将其关闭。它没有工具可以移除或削弱策略;添加此类工具需要人工批准,而且当多个策略组合时,任何拒绝都生效。 逐个动作地判断代理是否足够?远远不够。在这篇文章中,我们将展示一个执行常规工作的真实代理如何被攻击者悄悄引导,从而泄露机密数据——而每个步骤单独看起来都合法。 然后我们引入 Omnigent 中的上下文策略,它们会追踪会话迄今为止所做的一切,因此每个决策都能考虑之前发生的事情。我们将该攻击运行两次:一次没有策略(攻击成功),一次加上单个上下文策略(攻击被阻止)。然后我们让代理关闭该策略,并观察它如何失败。 要了解攻击是如何溜过去的,先理解它背后的两种技术会有帮助。 第一种是 提示注入(prompt injection) 。代理在工作过程中会读取大量内容:文档、网页、电子邮件和工单。代理无法可靠地区分它应该处理的内容和它应该遵循的指令,因此攻击者可以将指令隐藏在内容中,代理可能会直接执行它们。当指令来自代理获取的数据(而非用户自己的请求)时,这被称为间接提示注入。 第二种是 慢燃攻击(slow-burn attack) 。