VictorOsondu/ai-prompt-injection-explained

GitHub: VictorOsondu/ai-prompt-injection-explained

面向非开发者的 AI 提示词注入通俗解释文档,帮助职场用户理解风险并采取切实可行的防护措施。

Stars: 0 | Forks: 0

# AI 提示词注入解析 ![最近更新](https://img.shields.io/badge/last%20updated-2026--07--28-00d4aa) ![Track](https://img.shields.io/badge/track-explainer-1a1a2e) ![Practitioner-built](https://img.shields.io/badge/practitioner--built-yes-f0a500) ![Licence](https://img.shields.io/badge/licence-CC%20BY%204.0-00d4aa) 这是一份关于提示词注入 (prompt injection) 的通俗解释,专为在工作中使用 ChatGPT、Copilot 或 Gemini,且从未写过一行代码的人而写。它涵盖了问题的本质以及你切合实际的应对方法。这里没有晦涩的专业术语,也不在目前尚无完美解决方案时假装它存在。 它是 **[AI 时代数据与隐私指南](https://github.com/VictorOsondu/ai-data-privacy-playbook)** 的配套文档。那份指南关注的是供应商如何处理你提供的数据。而本文关注的是陌生人能利用你的 AI 助手做些什么。 ## 目录 - [本文的受众](#who-this-is-for) - [核心理念](#the-one-idea) - [为什么你的防病毒软件拦截不到它](#why-your-antivirus-doesnt-catch-this) - [它是从哪里进来的](#where-it-comes-in-from) - [发生了什么改变](#what-changed) - [什么能保护你,什么不能](#what-protects-you-and-what-doesnt) - [亲自验证](#prove-it-to-yourself) - [真实案例](#real-cases) - [检查清单](#the-checklist) - [适用范围](#scope) ## 本文的受众 - **使用 AI 助手处理实际工作,且身后没有安全团队支持的任何人**。 - **将 AI 助手连接到其电子邮件、文件或共享工作区的小型团队**。 - **曾听说过“提示词注入”这个词,并想得到一个关于它是否会对自己产生影响的明确答案的任何人**。 如果你从事构建 AI 系统的工作,这篇文章对你来说可能太慢了。请直接从 [`examples/`](examples/) 中的带注释案例开始阅读。 ## 核心理念 AI 助手会将它接收到的所有内容当作一段连续的文本流来读取。你的问题、你附加的文档、它刚刚抓取的网页。所有这些都抵达同一个地方,而助手并没有可靠的方法来分辨哪部分来自你,哪部分来自其他地方。 因此,从外部传入的文本可以充当一条指令。 来看一个具体的场景。你将一份求职者的简历粘贴到助手中并要求提供摘要。在这份简历中,隐藏着一行你永远看不到的四号字大小的白色文本: 助手读取这一行的方式与读取文档其余部分的方式完全相同,因为对助手而言,并没有什么“其余部分”的区别,一切都只是文本。而且它很可能会按照这行文本的要求去执行。 这就是提示词注入。没有人强行闯入任何系统。是这份文档与你的助手进行了对话,而你的助手照做了。 如果你要从本仓库中记住一件事,那就是这个。 ## 为什么你的防病毒软件拦截不到它 你的第一直觉可能是 IT 部门已经解决了这个问题,那些扫描你电子邮件以防范恶意附件的工具也能拦截这种攻击。但它们做不到,原因值得我们深入了解一下。 没有任何东西被安装。没有文件落到你的机器上,没有代码在运行,也没有弹出权限请求框。危险的内容只是一句英文。它看起来像一句英文是因为它本身就是一句英文,这就是为什么搜寻恶意软件特征的扫描器会直接掠过它。 助手也没有发生故障。它正在做的正是它被构建出来要做的事情:读取文本并遵循它找到的指令。它做不到的是去检查是谁写下了这些指令。 你的 IT 部门并没有在睡大觉。供应商提供了缓解措施,这些措施确实有帮助。但他们无法让这个问题彻底消失,因为你笔记本电脑上安装的工具所寻找的目标与此完全不符。 ## 它是从哪里进来的 几乎你遇到的所有情况都源于以下三种途径。 ### 你上传或分享的文档 一份简历、一份合同、一张供应商的发票、一个客户发来的电子表格。在文档中隐藏文本非常容易。白底上的白字、四磅大小的字体、一条修订批注、图片背后的替换文本,或是人类永远不会去查看的元数据。你看到的是一份整洁的两页 PDF。而助手看到的是文件中的每一个字符。 ### 助手浏览的网页 如果你的助手能够抓取网页,它就会读取整个页面的内容,包括那些从来不是给人类看的部分。指令可以隐藏在隐藏元素、HTML 注释,或者与背景色相同的文本中。你要求它总结一篇文章。它不仅读取了文章本身,还读取了隐藏在周围的所有内容。 ### 它能看到的邮件和消息 连接到你的邮箱或团队聊天的助手会读取陌生人发送的信息。这正是连接它的全部意义所在。但这同时也意味着,陌生人可以在你不打开任何东西,甚至没有注意到有消息到达的情况下,将文本推送到你的助手面前。 ## 发生了什么改变 在过去的一段时间里,这仅仅被看作是新奇事物。当助手只能在屏幕上输出文本时,一段被注入的指令能造成的最坏后果也只是让聊天机器人说些傻话,代价无非是尴尬。 现在的助手都有了账户。它们读取你的邮件,驻留在你的文档存储库中,拥有你正在使用的系统的登录权限,并代表你调用工具。一旦助手能够采取行动,它从陌生人文档中获取的指令就会变成以你的访问权限和你的名义执行的动作。 因此,关于你使用的任何助手,一个有用的问题是:它能访问到什么,以及一旦它到达那里,它被允许做什么。这才是目前造成损害的根源所在。 ## 什么能保护你,什么不能 目前你无法获得彻底的解决方案。我宁愿坦率地告诉你这一点,也不愿给你一份暗示问题已解决的检查清单。 研究人员已经在这个问题上努力了多年,但还没有人提出一种通用的防御方案。供应商过滤输入并修补报告上来的漏洞。优秀的供应商会告诉你他们做了什么。所有这些都在增加攻击的成本。但没有一个能彻底堵住漏洞。 你能改变的是,一旦注入攻击成功,它能造成多大的损害。这对于个人用户来说才是应对的核心。 **能够真正降低风险的因素:** - **减少连接。** 你接入的每一个账户既会成为指令的潜在来源,也会成为指令可以触达的目标。只连接你实际会用到的东西。断开那些你几个月前就停止使用的连接。 - **从严授权。** 只读权限优于读写权限。仅限于访问单个文件夹的连接器,要优于能访问你整个驱动器的连接器。 - **在进行任何不可逆操作时,务必让自己保持参与。** 比如发送邮件、转移资金、删除记录、与组织外部共享文件。如果助手能在不事先向你确认的情况下执行这些操作,那就假定它迟早会这么做。 - **将外部文档视为高风险文件。** 你不熟悉的供应商的发票、陌生人的简历、不请自来的 PDF。这些文件携带着并非由你编写的文本。 - **检查它实际做了什么,而不仅是听它的汇报。** 如果你的助手报告说它已经整理了你的收件箱,请亲自去查看一下收件箱。 - **关注供应商发布的安全公告。** 你无法亲自为托管服务打补丁,因此了解修复了什么以及何时修复,是你唯一能掌握的主动权。 **效果不如预期的措施:** - **防病毒软件和邮件过滤**,原因如上文所述。 - **告诉助手忽略文档中发现的指令。** 你的指令和攻击者的指令最终会进入同一个文本流。它只是变成文本堆里的又一句话,并不具备任何特权。 - **仅信任可靠的来源。** 研究人员表明,公共 Slack 频道中一条没人读过的消息,可能会在稍后触达同事的助手。一旦助手跨越所有这些边界去读取信息,你所依赖的信任边界就不再是你以为的那种含义了。 - **保持谨慎和经验丰富。** 在 EchoLeak 演示中,用户从未打开过攻击者的电子邮件,也从未点击过任何东西。谨慎会有所帮助。但它算不上一种安全控制手段。 ## 亲自验证 读是一回事。[`demo/`](demo/) 为你提供了一份文档,你可以将其复制到自己的助手中,并按照指引向它提问,从而亲眼看着助手执行一条你从未下达过的指令。那里的每个 payload 都在 [payload 规则](CONTRIBUTING.md#payload-rules) 的限制下被构建为绝对无害:它们中最严重的后果也不过是改一个词或加一行字,没有任何一个会将数据发送到任何地方。 ## 真实案例 带有注释的详细案例记录在 [`examples/`](examples/) 中。包含主要参考资料的来源记录,以及明确划分“研究人员演示”与“发生在真实人群身上”界线的资料,保存在 **[AI 安全事件库](https://github.com/VictorOsondu/ai-incident-library)** 中。 有两个值得了解的案例: - **Watsonville 雪佛兰,2023 年 12 月。** 公众成功诱导一家在线经销商的聊天机器人同意以 1 美元的价格出售一辆车,并让其将该报价描述为具有法律约束力。这件事真实发生了,并且在公开场合发生在一家真正的企业身上。 - **EchoLeak,2025 年 6 月** (CVE-2025-32711)。Aim Security 的研究人员表明,一封包含隐藏指令的电子邮件可以导致 Microsoft 365 Copilot 在无需任何点击的情况下泄露用户上下文中的数据。Microsoft 分配了 CVE 编号并在服务端进行了修复。这属于研究员的演示,目前没有任何公开证据表明曾有人利用此漏洞受到攻击。 这种区分非常重要。你读到的大多数关于提示词注入的内容,都是研究人员在报告并修复漏洞过程中的严谨工作,应当以客观的态度去阅读,而不是将它们视为一场灾难的清单。 ## 检查清单 [`checklist/personal-ai-security.md`](checklist/personal-ai-security.md) 是精简版,你可以在一个下午的时间内完成。它涵盖了需要断开哪些连接、重新调整哪些权限,以及在允许助手代表你行动之前需要检查什么。如果管理这些工具的不是你,请把它交给你团队中的负责人。 ## 适用范围 这是为使用非自建 AI 助手的个人和小型团队提供的实用指南。它不是威胁模型或控制框架。如果你打算将 AI 助手部署给公众使用,你需要比这更全面的考量,而雪佛兰案例恰好证明了这一点。 防御措施和供应商行为变化很快。在依赖此处描述的任何具体行为之前,请查阅当前的供应商文档,并参阅 [sources.md](sources.md) 获取验证说明。 ## 系列的一部分 作为主题解析,与 **[AI 采用指南](https://github.com/VictorOsondu/ai-adoption-playbooks)** 系列、**[AI 时代数据与隐私指南](https://github.com/VictorOsondu/ai-data-privacy-playbook)** 以及 **[AI 安全事件库](https://github.com/VictorOsondu/ai-incident-library)** 相配套。 由 [Victor Osondu](https://aitutorium.com)(AI Tutorium 创始人)维护。欢迎提出修正、优化措辞以及提供带来源的案例 —— 详见 [CONTRIBUTING.md](CONTRIBUTING.md)。 *本内容为从业者经验指南,并非绝对的安全保证。如果你负责处理敏感数据的 AI 部署,请务必引入具备资质的专业人员进行评估。*
标签:AI, 安全教育, 提示注入, 数据隐私, 科普文档, 自动化代码审查, 防御加固, 集群管理, 风险防范