AI代理是否正在创造一个新的运行时供应链攻击面?
摘要
讨论AI代理安全作为一个超越提示注入的运行时供应链问题,强调来自不可信数据、工具和反馈循环的风险,并质疑开发者如何执行边界。
我一直在思考AI代理安全问题,与其说它只是一个提示注入问题,不如说它是一个运行时供应链问题。在许多已部署的代理中,模型不再仅仅是生成文本。它检索外部数据、读取记忆、发现工具、调用API、写入文件,有时还会产生输出,这些输出后来会成为另一个代理/会话的未来输入。这创造了一种不同类型的攻击面:1. 数据侧风险:不可信文档、RAG来源、记忆、电子邮件或网页都可能影响代理的下一个行动。2. 工具侧风险:工具描述、模式、MCP服务器或API行为可能塑造代理认为自己可以/应该做什么。3. 循环风险:代理的输出可能被存储在某处,稍后被检索,并影响未来的行为,从而产生一种“病毒式”反馈循环。我觉得有趣的是,许多这些失败看起来并不像单个恶意提示或单个未授权工具调用。每一步在局部看来可能合理,但端到端的工作流仍可能变得不安全。对于构建或部署代理的人:你们目前如何在可信指令、不可信上下文和可执行操作之间划定边界?你们主要依赖提示注入检测/护栏,还是在运行时/工具边界强制执行约束?
相似文章
大多数AI安全讨论仍集中在‘保护模型’上。
本文讨论了具备阅读内部文档、调用API等能力的AI系统需要一种新的安全方法,即超越传统SaaS安全,转向针对AI智能体的零信任原则。
AI 代理最危险的部分始于其获得执行权限之时
本文强调了 AI 代理获得基础设施执行权限所带来的关键风险,认为如果没有外部准入层来防止灾难性故障,现有的安全护栏是不够的。
我们尚未讨论的 AI 代理中的显性安全漏洞:输出即权威的那一刻
本文强调了 AI 代理中的一项关键安全漏洞,即输出执行绕过了适当的权限检查,主张在授予受信任的上下文或密钥之前设置“外部准入”门禁。
在生产环境中让智能体采取真实操作,你最担心的是什么?
一位开发者分享了在部署能够执行真实操作(如API调用和数据操作)的AI智能体时的担忧,并向社区询问他们的恐惧以及诸如护栏和人工审批等缓解策略。
设计能抵抗提示词注入的AI智能体
OpenAI发布了关于设计抗提示词注入攻击的AI智能体的指导意见,指出现代攻击日益采用社会工程学策略而非简单的字符串注入,并倡导采用系统级防御措施来限制影响范围,而不是单纯依赖输入过滤。