📢 转载信息
原文链接:https://openai.com/index/prompt-injections
原文作者:OpenAI
人工智能工具开始执行超出简单问答范围的任务。它们现在可以浏览网页、协助研究、规划行程以及帮助购买产品。随着它们能力增强,能够访问您在其他应用中的数据并代表您采取行动,新的安全挑战也随之出现。我们目前重点关注的挑战之一就是提示注入(prompt injection)。
什么是提示注入?
提示注入是一种特定于对话式AI的社会工程学攻击。早期的AI系统是单个用户与单个AI代理之间的对话。而在今天的AI产品中,您的对话可能包含来自许多来源的内容,包括互联网。“提示注入”一词源于这样一个概念:第三方(既非用户也非AI)可以通过将恶意指令注入对话上下文来误导模型。
提示注入就像网络钓鱼邮件或网络诈骗试图欺骗人们交出敏感信息一样,它试图欺骗AI去执行您没有要求的操作。
想象一下,您要求AI帮助您进行在线度假研究,在此过程中,它遇到了隐藏在网页上的误导性内容或有害指令,比如评论区或商品评价中。这些内容可能是精心设计的,旨在欺骗AI推荐错误的房源,或者更糟的是,窃取您的信用卡信息。
这些只是“提示注入”攻击的几个例子——这些有害指令旨在诱骗AI执行您未打算的操作,通常隐藏在普通内容中,如网页、文档或电子邮件。
随着AI可以访问更多敏感数据并承担更多主动性和更长的任务,这些风险也随之增加。
|
摘要 |
您要求AI做什么 |
攻击者做什么 |
如果攻击成功,可能的结果 |
|
您要求AI研究公寓,但它被提示注入攻击误导,推荐了一个最不适合您的房源。 |
您要求AI根据给出的一些标准研究公寓。 |
攻击者在公寓信息中植入了提示注入攻击,旨在欺骗AI,使其认为无论用户的偏好如何,都必须选择他们的房源。 |
如果攻击成功,AI可能会根据您的偏好错误地推荐一个次优的公寓房源。 |
|
您要求一个AI代理回复您夜间的邮件,结果它泄露了您的银行对账单。 |
您要求AI代理总的来说回复您昨晚的邮件,因为您今早很忙。 请参阅下方“尽可能为代理提供明确指示”
|
攻击者给您发送了一封包含错误信息的邮件,该信息欺骗模型查找您的银行对账单并将其分享给攻击者。 |
如果攻击成功,代理可能会在您的邮件中查找任何类似银行对账单的内容(您已授权其访问该任务),并将其与攻击者分享。 |
我们保护用户的方法
防范提示注入是整个AI行业面临的挑战,也是OpenAI的核心关注点。我们预计对手将继续开发此类攻击,但我们正在构建旨在执行用户预期任务的防御措施,即使有人在积极试图误导他们。这种能力对于安全地实现通用人工智能(AGI)的益处至关重要。
为了保护用户并帮助改进我们的模型以应对这些攻击,我们采取了多层次的方法,包括以下几点:
安全训练
我们希望AI能够识别提示注入攻击并不上当。然而,对对抗性攻击的鲁棒性一直是机器学习和AI领域一个长期存在的挑战,使其成为一个艰难的、未解决的问题。我们开发了一项名为指令层级(Instruction Hierarchy)的研究,旨在让模型能够区分受信任和不受信任的指令。我们不断开发新的方法来训练模型更好地识别提示注入模式,以便它们可以忽略或向用户标记这些模式。我们应用的技术之一是自动化红队测试,这是一个我们研究了多年(研究链接(在新窗口中打开))的领域,旨在开发新颖的提示注入攻击。
监控
我们开发了多个自动化的AI驱动的监控器来识别和阻止提示注入攻击。这些监控措施是对安全训练方法的补充,因为它们可以快速更新,以便快速阻止我们发现的任何新攻击。这些监控器不仅有助于识别针对我们用户的潜在提示注入攻击,还可以让我们在这些攻击在野外部署之前,发现使用我们平台进行的对抗性提示注入研究和测试。
安全保护
我们的产品和基础设施在设计中采用了各种重叠的安全保护措施,以帮助保护用户数据。我们将在未来的文章中更详细地探讨这些功能,它们是针对每个产品量身定制的。例如,为了帮助您避免不受信任的网站,我们将要求您在ChatGPT中批准某些链接,特别是那些要求我们不要编目的网站上的链接(在新窗口中打开),然后才能访问。当我们的AI使用工具来运行其他程序或代码时(如在Canvas或我们的开发工具Codex中),我们使用一种称为沙盒(sandboxing)的技术,以防止模型因提示注入而进行有害更改。
给予用户控制权
我们在产品中内置了控件,以帮助用户保护自己。例如,在ChatGPT Atlas中,您可以选择登出模式(logged-out mode),允许ChatGPT代理在未登录网站的情况下开始任务。ChatGPT代理在执行购买等敏感步骤之前会暂停并请求确认。当代理在敏感网站上运行时,我们还实施了“观察模式(Watch Mode)”,它会提醒您该网站的敏感性质,并要求您保持标签页处于活动状态才能观察代理的工作。如果您离开包含敏感信息的标签页,代理将暂停。这确保您了解代理正在执行的操作,并保持对其的控制。
红队测试
我们与内部和外部团队进行广泛的红队测试,以测试和改进我们的防御、模拟攻击者行为并寻找改进安全性的新方法。这包括专门针对提示注入的数千小时的专注测试。随着我们发现新技术和攻击,我们的团队会主动解决安全漏洞,并改进我们的模型缓解措施。
漏洞赏金
为了鼓励善意的独立安全研究人员帮助我们发现新的提示注入技术和攻击,我们在漏洞赏金计划(在新窗口中打开)下提供经济奖励,前提是他们展示了可能导致意外用户数据泄露的现实攻击路径。我们激励外部贡献者快速上报这些问题,以便我们能够解决它们并进一步加强我们的防御。
让用户做决定
我们向用户宣传使用某些产品功能的风险,以便用户能够做出明智的决定。例如,在将ChatGPT连接到其他应用程序时,我们会解释可能访问哪些数据、如何使用这些数据,以及可能出现哪些风险(例如网站试图窃取您的数据),并附带一个了解如何保持安全的链接。我们还让组织控制其工作区中的用户可以启用或使用哪些功能。
您可以采取哪些措施来保持安全
提示注入是一个前沿的安全挑战,我们预计它将随着时间的推移而不断发展。新的智能和能力水平要求技术、社会和风险缓解策略共同发展。就像2000年代初期的计算机病毒一样,我们认为让每个人都了解提示注入的威胁以及如何规避风险非常重要,这样我们才能共同安全地利用这项技术。在使用可以代表您采取行动的AI和代理功能时,保持警惕和谨慎有助于保护您的数据安全。
使用内置功能限制对敏感数据的访问
在可能的情况下,将代理对敏感数据或凭据的访问限制在其完成任务所需的范围内。例如,当使用ChatGPT Atlas中的代理模式进行度假研究时,如果代理只需要进行研究而不需要登录访问权限,请使用“登出模式”。
当代理请求确认时,仔细审查它是否即将执行正确的操作
我们通常会设计代理系统,在执行某些后果重大的操作(如完成购买或发送电子邮件)之前从您那里获得最终确认。当代理要求您确认某项操作时,请仔细检查该操作是否正确,并且在当前上下文中共享的任何信息是否合适。
当代理在敏感网站(例如您的银行)上运行时,请观察代理的工作过程。这就像通过将手放在方向盘上来监控自动驾驶汽车一样。
尽可能为代理提供明确指示
给代理一个非常宽泛的指示,例如“审查我的电子邮件并采取一切必要行动”,可能会更容易被隐藏的恶意内容误导模型,即使它被设计为在采取敏感操作前与您核实。
更安全的做法是要求代理执行特定的任务,而不是给予它很大的自由度去可能遵循来自电子邮件等其他地方的有害指令。虽然这不能保证不会发生攻击,但它使攻击者更难成功。
保持了解并遵循安全最佳实践
随着AI技术的发展,新的风险和保障措施将出现。请关注OpenAI和其他可信来源的更新,以了解最佳实践。
展望未来
提示注入仍然是一个前沿的、具有挑战性的研究问题,就像网络上的传统诈骗一样,我们预计我们的工作将是持续的。虽然我们尚未看到攻击者对这种技术的显著采用,但我们预计对手将投入大量的时间和资源来寻找使AI上当的方法。我们将继续大力投资于确保我们的产品安全,并投入研究以提高AI对此类风险的鲁棒性。我们将分享我们所学到的最新进展,包括我们在该领域安全工作的持续进展。例如,我们正在撰写一份报告,很快将发布,其中详细介绍了我们如何检测您的AI与互联网的通信是否会传输您对话中的信息。
我们的目标是使这些系统像与您最值得信赖、最懂安全的同事或朋友共事一样可靠和安全。随着技术的进步,我们将不断从实际使用中学习、安全地迭代,并分享我们的经验。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区