
原文:Understanding prompt injections: a frontier security challenge
AI 工具的功能早已超越简单的问答。现在它们可以浏览网页、协助研究工作、规划旅行,甚至帮助您购物。随着这些工具变得越来越强大,能够访问您在其他应用中的数据并代您执行操作时,新的安全挑战也随之而来。其中我们最关注的问题之一,就是提示词注入。

什么是提示词注入?
提示词注入是一种专门针对对话式 AI 的社会工程攻击手段。在早期的 AI 系统中,对话只发生在单个用户和单个 AI 聊天机器人之间。而在当今的 AI 产品中,您的对话可能包含来自多个来源的内容,包括互联网上的信息。由于第三方(既不是用户也不是 AI 本身)可以通过在对话上下文中注入恶意指令来误导模型,“提示词注入(prompt injections)”这个术语应运而生。
正如网络钓鱼邮件或网络诈骗试图欺骗人们泄露敏感信息一样,提示词注入的目的是诱骗 AI 执行您从未要求过的操作。
设想这样一个场景:您让 AI 帮您在网上做一些度假研究,而它在浏览过程中遇到了网页上的误导性内容或隐藏的恶意指令,比如藏在房源评论或评价中的内容。这些内容可能经过精心设计,企图诱骗 AI 推荐不合适的房源,更严重的情况下,甚至可能窃取您的信用卡信息。
这些就是“提示词注入”攻击的典型案例。那些精心设计用来诱骗 AI 执行您本不打算让它做的事情的恶意指令,通常隐藏在看似普通的内容中,比如网页、文档或电子邮件里。
当 AI 能够访问更多敏感数据,并承担更复杂、更长期的任务时,这些风险会进一步增加。
摘要
| 您对 AI 的请求 | 攻击者的行为 | 攻击成功后的潜在后果 |
|---|---|---|
| 您要求 AI 研究公寓,结果它被提示词注入诱导,推荐了一个并非最适合您的房源。 | 您要求 AI 按照特定标准研究公寓。攻击者在公寓房源信息中植入了提示词注入攻击,试图欺骗 AI,让它认为无论用户的实际偏好如何,都必须选择他们的房源。 | 如果攻击得手,AI 可能会违背您的实际偏好,错误地推荐一个次优的公寓房源。 |
| 您要求 AI 智能体处理夜间邮件,结果它最终泄露了您的银行对账单。 | 由于早上很忙,您让 AI 智能体帮您大致处理一下夜间收到的邮件。请参见下文“尽可能给智能体明确的指令”部分。攻击者发给您一封包含虚假信息的电子邮件,诱骗模型去查找您的银行对账单并分享给攻击者。 | 如果攻击成功,智能体可能会在您的电子邮件中(您已授权它访问)搜索类似银行对账单的内容,然后将这些信息分享给攻击者。 |
我们保护用户的方法
防御提示词注入是整个 AI 行业面临的共同挑战,也是 OpenAI 的核心关注点。尽管我们预计攻击者会不断开发新的攻击手段,但我们正在构建防御体系,确保即使在有人主动试图误导系统的情况下,AI 也能执行用户的真实意图。这种能力对于安全地实现 AGI 的价值至关重要。
为了保护我们的用户,并不断改进模型对这些攻击的抵御能力,我们采取了多层防御策略,具体包括:
安全训练
我们希望 AI 能够识别提示词注入并拒绝上当。然而,提升对抗性攻击的鲁棒性一直是机器学习和 AI 领域的长期挑战,这使得它成为一个艰巨的开放性问题。我们开发了名为“指令层次结构”的研究项目,致力于让模型能够区分可信任和不可信任的指令来源。我们持续开发新的方法来训练模型,使其更好地识别提示词注入模式,从而能够忽略这些攻击或向用户发出警告。我们采用的技术之一是自动化红队测试,这是我们多年来一直深入研究的领域,用于开发新型的提示词注入攻击。
监控
我们开发了多个由 AI 驱动的自动化监控系统,用于识别和拦截提示词注入攻击。这些监控系统是对安全训练方法的补充,因为它们可以快速更新,迅速阻止我们发现的任何新攻击。这些监控器不仅能帮助识别针对用户的潜在提示词注入攻击,还能让我们在攻击被部署到实际环境之前,就捕获到使用我们平台进行的对抗性提示词注入研究和测试活动。
安全防护
我们在设计产品和基础设施时内置了多重重叠的安全防护措施,以帮助保护用户数据。这些功能根据不同产品的特点进行定制,我们将在后续文章中更详细地探讨技术细节。举例来说,为了帮助您避开不受信任的网站,在 ChatGPT 中,我们会要求您批准某些链接后才能访问,特别是那些要求我们不要编入索引的网站。当我们的 AI 需要使用工具来运行其他程序或代码时(比如在 Canvas 或我们的开发工具 Codex 中),我们会使用一种叫做“沙箱”的技术,防止模型因提示词注入而做出有害的更改。
赋予用户控制权
我们在产品中内置了控制功能,帮助用户自我保护。例如,在 ChatGPT Atlas 中,您可以选择未登录模式,让 ChatGPT 智能体在未登录网站的状态下开始任务。ChatGPT 智能体在执行敏感操作(如完成购买)之前也会暂停并征求您的确认。当智能体在敏感网站上操作时,我们还启用了“观看模式”,提醒您该网站的敏感性质,并要求您保持标签页处于活动状态以监视智能体的工作。如果您切换到其他标签页,智能体会自动暂停。这样可以确保您始终清楚并掌控智能体正在执行的操作。
红队测试
我们与内部和外部团队开展大规模的红队测试,用以检验和改进我们的防御措施,模拟攻击者的行为模式,并探索改进安全性的新途径。仅针对提示词注入这一项,我们就投入了数千小时的测试工作。随着发现新的攻击技术和手段,我们的团队会主动修补安全漏洞,不断改进模型的防御能力。
漏洞赏金
为了鼓励善意的独立安全研究人员帮助我们发现新的提示词注入技术和攻击方式,我们设立了漏洞赏金计划。当研究人员展示出可能导致用户数据意外泄露的真实攻击路径时,我们会提供经济奖励。我们通过激励外部贡献者快速上报这些问题,以便我们能及时解决并进一步强化防御体系。
让用户自主决策
我们会向用户说明使用某些产品功能可能带来的风险,让用户能够做出知情的决定。例如,当您将 ChatGPT 连接到其他应用时,我们会解释可能访问哪些数据、这些数据如何被使用,以及可能出现的风险(比如网站试图窃取您的数据),同时提供一个链接,帮助您了解如何保持更安全。我们还允许组织管理员控制其工作空间中的用户可以启用或使用哪些功能。
您可以采取的安全措施
提示词注入是一个我们预计会持续演变的前沿安全挑战。新的智能水平和能力需要技术、社会规范和风险应对策略共同进化。就像 2000 年代初期的计算机病毒一样,我们认为让每个人都了解提示词注入的威胁以及如何应对风险非常重要,这样我们才能安全地享受这项技术带来的好处。在使用可以代表您采取行动的 AI 和智能体功能时,保持警觉和谨慎能让您的数据更加安全。
利用内置功能限制对敏感数据的访问
在可能的情况下,只授予智能体完成任务所必需的敏感数据或凭据访问权限。例如,在 ChatGPT Atlas 中使用智能体模式进行度假研究时,如果智能体只需要做研究而不需要登录访问,就使用“未登录”模式。
当智能体请求确认时,仔细核实它即将执行的操作
我们通常会设计智能体在执行某些重要操作(如完成购买或发送邮件)之前征求您的最终确认。当智能体请求您确认某个操作时,请仔细检查该操作是否正确,以及准备共享的信息在当前情境下是否适合共享。
当智能体在敏感网站(如您的银行网站)上操作时,请全程监视智能体的工作过程。这就像监控自动驾驶汽车时需要把手放在方向盘上一样。
尽可能给智能体明确的指令
给智能体下达过于宽泛的指令,比如“查看我的邮件并采取任何必要的行动”,可能会让隐藏的恶意内容更容易误导模型,即便模型本身设计为在执行敏感操作前需要与您确认。
更安全的做法是要求您的智能体执行具体的任务,不要给它太大的自由度去执行可能来自其他地方(如邮件)的有害指令。虽然这不能完全保证没有攻击,但会大大增加攻击者成功的难度。
保持关注并遵循安全最佳实践
随着 AI 技术的发展,新的风险和防护措施也会不断涌现。请关注 OpenAI 和其他可信来源发布的更新,了解最新的最佳实践。
展望未来
提示词注入依然是一个前沿的、充满挑战性的研究问题。正如网络上的传统诈骗手段一样,我们预计这方面的工作将是一个持续的过程。虽然目前我们还没有看到攻击者大规模采用这种技术,但我们预计对手会投入大量时间和资源来寻找让 AI 上当的方法。我们将继续大力投资于产品安全以及提升 AI 抵御此类风险的研究工作。随着了解的深入,我们会持续分享最新进展,包括我们在这一领域安全工作的进展情况。例如,我们正在准备一份即将发布的报告,将详细介绍我们如何检测您的 AI 与互联网通信时是否会传输您对话中的信息。
我们的目标是让这些系统像与您最值得信赖、最具安全意识的同事或朋友协作一样可靠和安全。随着技术的不断进步,我们将继续从实际应用中学习经验,安全地迭代优化,并及时公开我们的研究成果。

评论(0)