阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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:203467

评论

发布
暂无评论

Redis进阶知识点(可学习,可复习,可面试)

钟奕礼

java; 编程、

Android 开发环境的搭建(Android Studio + 逍遥模拟器)

Android Studio 安卓开发 9月月更

APICloud可视化编程(二)

YonBuilder低代码开发平台

前端开发 APICloud 多端开发

面试中经常问到的几个问题,快来看看能答对几道吧(Java)

钟奕礼

java; 编程、

详解数据计算能力的四种类型

穿过生命散发芬芳

9月月更 数据计算

史上最全的Java容器集合之equals 和 hashCode

自然

集合 Java core 9月月更

【编程实践】详解MySQL在Python中的使用(1)

迷彩

Python MySQL 数据库 pymysql 9月月更

信我,Java面试的苦只吃一次,看完这八股文合集,渣渣也能进大厂

钟奕礼

编程 java;

vivo鲁京辉:数据安全与隐私保护是消费者的基本权利,是企业的“铁律”

极客天地

架构实战营模块一作业

π

架构实战营

极客时间-架构师训练营作业-模块一

沐の爹

未来智安加入中国通信标准化协会成为全权会员

未来智安XDR SEC

Groovy closure 与Java function转换

FunTester

挑战Python的语法练习

芯动大师

项目实战 9月月更 模块创建

01简单架构分析

神奇的叶叔叔

作业一

小虎

架构实战营

Python语法之模块和包(2)

芯动大师

9月月更 模块创建 包的应用

2022-09-28:以下go语言代码输出什么?A:1 1;B:1 2;C:2 2;D:不确定。 package main import ( “fmt“ ) func main() { var

福大大架构师每日一题

golang 福大大 选择题

后疫情时代,RTE“沉浸式”体验还能这么玩?丨RTE 2022 编程挑战赛赛后专访

声网

人工智能

史上最全的Java容器集合之HashMap(源码解读)

自然

集合 Java core 9月月更

【编程实践】详解 MySQL 在 Python 中的使用(2)-pymysql的使用

迷彩

MySQL 数据库 增删改查 pymysql 9月月更 数据库操作

【最右】面向TS生态的新型Flutter框架

刘剑

typescript 小程序 移动端 动态化 flutter for web

【云原生 | 从零开始学Kubernetes】十二、k8spod的生命周期与容器钩子

泡泡

Docker 云计算 云原生 k8s 9月日更

这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)

钟奕礼

编程 java;

开发者有话说|要不是家里穷,我也不想当码农

三掌柜

个人成长 个人感悟

Java | abstract关键字【面向对象的第三大特征——多态】

Fire_Shield

Java 9月月更 abstract

Python语法之异常处理

芯动大师

异常处理 9月月更 Python异常处理方法

模块一作业

知足🐏

程序员未来职业规划路线,请收藏

收到请回复

Java 程序员 架构 职业规划 语言 & 开发

天天都在谈的防火墙到底是个啥,有哪些分类?如何选择防火墙?

wljslmz

网络安全 防火墙 9月月更

实战案例,个个是经典,不愧是阿里P7私传“并发编程核心讲义”,竟能讲的如此通透

程序知音

Java 并发编程 多线程 高并发 后端技术

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