时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

DeepMind 提出 CaMeL,抵御 LLM 提示词注入

  • 2025-05-14
    北京
  • 本文字数:1419 字

    阅读完需:约 5 分钟

大小:701.94K时长:03:59
DeepMind提出CaMeL,抵御LLM提示词注入

为了防止在处理来自不可信来源的数据时遭受提示词注入攻击,谷歌 DeepMind 的研究人员提出了 CaMeL,一种围绕 LLM 的防御层,通过从查询中提取控制流和数据流来阻止恶意输入。根据他们的实验结果,CaMeL 能够在 AgentDojo 安全基准测试中抵御 67% 的攻击。


众所周知,攻击者可以将恶意数据或指令注入到 LLM 的上下文中,目的是窃取数据或诱导模型以有害的方式执行操作。例如,攻击者可能会尝试获取聊天机器人的系统提示词,以便获取控制权或窃取敏感信息,例如访问私有 Slack 频道中的数据。更令人担忧的是,当 LLM 能够访问具有现实世界影响的工具时,比如发送电子邮件或下单,这种情况的风险就更大了。


即使 LLM 采取了特定策略来防御提示词注入攻击,攻击者仍会设法绕过这些防护措施。一个近期的例子是 AI 安全专家 Johann Rehberger 展示的一种类似网络钓鱼的攻击,成功绕过了 Gemini 对延迟工具执行的保护


CaMeL 是一项旨在解决这些风险的新提案。CaMeL 不依赖更多的人工智能来防御人工智能系统(例如基于人工智能的提示词注入检测器),而是采用了传统的软件安全原则,如控制流完整性、访问控制和信息流控制。


CaMeL 为每个值关联了一些元数据(在软件安全文献中通常被称为能力),用于限制数据和控制流,并通过使用细粒度的安全策略来表达可以和不可以对每个独立值进行哪些操作。


CaMeL 使用自定义的 Python 解释器来跟踪数据和指令的来源,强制执行基于能力的安全性保障,无需对 LLM 本身进行任何修改。它借鉴了 Simon Willison(他首次提出了“提示词注入”一词)所描述的双 LLM 模式,并以巧妙的方式对其进行了扩展。


Willison 最初的提议包含了一个拥有特权的 LLM,它直接处理用户的提示词,以及一个被隔离的 LLM,它接触的是不可信的数据,并且无法使用任何工具。拥有特权的 LLM 管理工作流程,并可能要求被隔离的 LLM 从不受信任的数据中提取特定信息,例如电子邮件地址。这确保了特权 LLM 永远不会直接接触到不受信任的内容,只处理隔离模型返回的、经过过滤的结果。


谷歌研究人员表示,这种方案的缺陷在于,攻击者仍然可以操纵被隔离的 LLM 生成误导性的输出,例如未经授权访问敏感信息的收件人的电子邮件地址。


在他们的新方案中,特权 LLM 会生成一个使用受限的 Python 子集编写的程序,这个程序负责执行所有必要的步骤。当这个程序从被隔离的 LLM 或其他工具接收数据时,它会构建一个数据流图,跟踪每个数据元素的来源、访问权限和相关元数据。随后,这些元数据被用来确保对数据的任何操作都符合特权限制。


正如 Willison 在回应 CaMeL 提议时所强调的,这种方法的重要性在于不依赖更多的人工智能来解决人工智能问题


人工智能技术使用的是概率:你可以用一系列以前的提示词注入示例来训练模型,并在检测新的示例时获得 99% 的分数……但这毫无用处,因为在应用安全中,99% 是一个不及格的分数。


为了测试 CaMeL 的有效性,DeepMind 的研究人员将其整合到 AgentDojo 中,一个自主智能体安全基准测试,涵盖了现实世界的一系列实用性和安全性任务。


DeepMind 的研究人员承认,CaMeL 并不是 LLM 安全的完美解决方案,最大的局限在于在于依赖用户定义的安全策略。此外,由于 CaMeL 可能需要用户手动审批涉及隐私的任务,这可能会导致用户疲劳,做出自动化或草率的审批。


如需了解更多讨论细节,请不要错过原始论文。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


查看英文原文https://www.infoq.com/news/2025/04/deepmind-camel-promt-injection/

2025-05-14 10:203583

评论

发布
暂无评论

SAP Cloud for Customer Extensibility的设计与实现

汪子熙

SAP abap C4C 11月日更

Chrome 插件特性及实战场景案例分析

vivo互联网技术

大前端 插件设计 chrome扩展

数仓如何限制临时数据文件下盘量

华为云开发者联盟

sql 线程 GaussDB(DWS) 临时文件 落盘

在线数值列表求和工具

入门小站

工具

分析一个错误使用MemoryCache导致的BUG

喵叔

11月日更

linux下prometheus+grafana安装

小鲍侃java

11月日更

IntelliJ IDEA 如何针对 Java 项目创建 H2 数据库连接

HoneyMoose

筹备两年,60万字诚意续作《腾讯游戏开发精粹Ⅱ》正式发布

博文视点Broadview

linux之realpath命令

入门小站

Linux

JavaScript 数组方法 splice() 的 3 个示例

devpoint

JavaScript splice 11月日更

IoT 的概念、发展趋势与挑战

liuzhen007

11月日更

「Oracle」Oracle 数据库安装

恒生LIGHT云社区

数据库 oracle

搞定大厂算法面试之leetcode精讲4.贪心

全栈潇晨

LeetCode 算法面试

“愚公移山”的方法解atoi,自以为巧妙!

老表

Python LeetCode 11月日更 算法与数据结构

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPushConsumer的实现原理及源码分析

码界西柚

RocketMQ 11月日更 Apache RocketMQ DefaultMQPushConsumer

MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

蒋川

MySQL MariaDB MySQL 数据库

dart系列之:在dart中使用数字和字符串

程序那些事

flutter dart 程序那些事 11月日更

前端开发:数据处理方法分享(其一)

三掌柜

11月日更

填坑总结:python内存泄漏排查小技巧

华为云开发者联盟

Python 内存 内存泄漏 回收 全局变量

美东某 IoT 公司技术流程第一轮沟通就挂了

HoneyMoose

Hibernate H2 数据库连接配置 URL 解读

HoneyMoose

云原生社区上线了

云原生

开源 云原生 技术社区 社区

如何让 Sublime Text 编辑器支持新的 ABAP 关键字

汪子熙

SAP abap 11月日更 Sublime

关于HTTPS认证,这里解决你所有疑惑

华为云开发者联盟

https 证书 数据加密 认证 签发证书

吐司盒子?芝士码?HarmonyOS创新音视频测试技术来啦|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

一次谈不上有点内卷的美东某金融公司面试

HoneyMoose

OpenHarmony驱动框架解读和开发实践|HDC2021 技术分论坛

HarmonyOS开发者

HarmonyOS

有幸和美团大佬共同探讨单节点连接数超1.5W的问题

中间件兴趣圈

架构 微服务 11月日更

Android C++系列:Linux进程(三)

轻口味

c++ android jni 11月日更

Junit 4 的 @Before 和 @BeforeClass 对比 Junit 5 @BeforeEach 和 @BeforeAll

HoneyMoose

创建第一个微信小程序

坚果

微信小程序 11月日更

DeepMind提出CaMeL,抵御LLM提示词注入_AI&大模型_Sergio De Simone_InfoQ精选文章