Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 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:202

评论

发布
暂无评论

多线程知识体系01-线程池源码阅读讲解-Executor

小马哥

多线程 高并发 源码阅读 源码剖析 日更

【Flutter 专题】58 图解 Flutter 嵌入原生 AndroidView 小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

第一波场DAPP系统搭建,DAPP介绍

合肥艾数199四②43⑧797

netty系列之:搭建自己的下载文件服务器

程序那些事

Java Netty io nio 程序那些事

浪潮云说丨上云迁移——快,准,稳!

云计算

深入分析3种线程池执行任务的逻辑方法

华为云开发者联盟

Java 线程 线程池 ThreadPoolExecutor类

电信运营商基于 MQTT 协议构建千万级 IoT 设备管理平台

EMQ映云科技

物联网 IoT mqtt 通信运营商 emq

模块(二)如何设计架构

我是一只小小鸟

柯基数据通过Rainbond完成云原生改造,实现离线持续交付客户

北京好雨科技有限公司

云原生 需求落地 离线部署 可持续交付

API与ESB 、ServiceMesh、微服务究竟关系如何?

BoCloud博云

云管理

华为云IoT如何连接边缘和云,实现海量IoT数据就地处理的技术实践

华为云开发者联盟

IoT 边缘 IoT边缘 实时数据 IoT Edge

携手伙伴,共赴星海-百度飞桨应急行业AI私享会成功举办

百度大脑

人工智能 飞桨

Electron团队为什么要干掉remote模块

刘晓伦

Electron Node

架构学习模块一

George

如何设计企业特色的数字化转型架构?

博文视点Broadview

如何采购ARM六核RK3399安卓工控开发主板?

双赞工控

安卓主板 工控主板 rk3399主板

聊聊什么样的代码是可读性强的代码?

卢卡多多

代码质量 代码 9月日更

企业级即时通信市场能否告别“孤岛时代”?

BeeWorks

移动数字化底座 企业即时通讯平台 移动数字化平台 即时通讯IM 移动办公

【Vue2.x 源码学习】第四十三篇 - 组件部分 - 组件相关流程总结

Brave

源码 vue2 9月日更

从一个并发异常问题引起的想法

卢卡多多

并发编程 9月日更

【LeetCode】 二叉树中和为某一值的路径Java题解

Albert

算法 LeetCode 9月日更

❤️用武侠小说的形式来阅读LinkedList的源码,绝了!

沉默王二

Java

IDC:2021年全球大数据和分析支出预计达2157亿美元

BeeWorks

阅读

在线JSON转JAVA工具

入门小站

工具

升级mysql-connector-java-8.x踩坑纪实

小江

Java MySQL 时间戳 服务器时区 夏令时

华为云PB级数据库GaussDB(for Redis)揭秘:如何搞定推荐系统存储难题

华为云开发者联盟

数据库 推荐系统 存储 华为云 GaussDB(for Redis)

祝贺 StreamNative 工程师张勇成功跻身 Apache BookKeeper Committer

Apache Pulsar

bookKeeper Apache Pulsar StreamNative

Vue进阶(九十):过滤器

No Silver Bullet

Vue 9月日更

就靠这一篇文章,我就弄懂了 Python Django 的 django-admin 命令行工具集

梦想橡皮擦

9月日更

国产接口管理工具APIPOST中的常见设置项

Proud lion

大前端 后端 Postman 开发工具 接口文档

全球教育行业机构遭受的攻击增长了 29%

BeeWorks

阅读

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