You made me do it: measuring private data leakage caused by instruction text in LLM agents
You Told Me to Do It: Measuring Instructional Text-induced Private Data Leakage in LLM Agents
作者测量README嵌入指令诱导的外泄:computer-use agent上作者称最高85%,15人检出率0%。
攻击者不能在用户运行时直接控制或观察智能体,也无运行时访问;只能发布或修改README、安装指南等静态文本。
- 高权限LLM智能体读取并执行安装文档中的指令,同时拥有终端、文件系统和出站网络权限。作者认为它们分不清恶意指令与合法安装指导,并把这一结构性问题称为Trusted Executor Dilemma。
- 沿语言伪装、链接深度和语义抽象三个维度测量,并构建含500个真实README的ReadSecBench。载荷由标注者写入安装或依赖说明。端到端成功仅当隐私数据实际传到外部服务器。
- 商用computer-use agent上作者称端到端外泄最高85%。四模型仿真语义遵从率46%–79%。15人检出率0%。规则与LLM检测均未在低误报下稳定检出。
- 作者指出端到端成本使Table II每格n=7,用户样本为欧洲一所大学的技术背景研究生。仅实证被动数据外泄。后续方向包括闭源IDE智能体、安全导向审阅,以及多智体信任。实验覆盖500个README、四类LLM仿真和四种智能体架构。
- Threat model
- 攻击者不能在用户运行时直接控制或观察智能体,也无运行时访问;只能发布或修改README、安装指南等静态文本。目标是秘密窃取本地隐私数据(PII)。成功仅当隐私数据实际传到外部服务器。
- Evaluated models
- Claude 3.7 SonnetClaude 3.5 SonnetGPT-4oGemini 2.5 ProGPT-oss20bGemini 2.5 FlashGPT-o3GPT-o3-mini
- Benchmarks
- ReadSecBenchLangChain/LangGraph simulation
- Metrics
- ASRRRTSRsemantic compliance rate
The paper identifies and measures the "trusted executor dilemma" of high-privilege LLM agents: agents execute adversarial instructions embedded in documents such as READMEs, leading to leakage of local private data. The authors build the ReadSecBench benchmark containing 500 real README files and measure an end-to-end exfiltration success rate of up to 85% on a commercial computer-use agent powered by Claude Sonnet 3.7, consistent across five programming languages and three injection positions. Semantic compliance rates across four LLM families in a simulated environment range from 46% to 79%. A 15-person user study shows a 0% detection rate for injected instructions, and 12 rule-based and 6 LLM-based defenses all fail to reliably detect them at acceptable false positive rates.
Why it was selectedThe paper quantifies the end-to-end exfiltration success rate and human detection rate of README-embedded instruction injection, providing a reproducible evaluation benchmark for the document trust model of high-privilege agents.
Paper analysis
What problem does this paper attempt to solve?
高权限智能体把README当可信任务执行,作者称之为Trusted Executor Dilemma。
高权限LLM智能体在软件安装中把README等文档当作可信任务并执行其中指令,包括对抗性指令;作者将这一矛盾称为Trusted Executor Dilemma。
- 场景:作者称,这类智能体被授予终端、文件系统和出站网络权限,安全监督很少,却要阅读并执行项目说明。作者认为文档被当成权威说明而非对手内容,注入门槛低于网页提示注入。
- 四个性质:作者还列出信任语境、高权限、语义上表面合法,以及超链接被递归跟随,用来区别于网页注入。
- 现有缺口:作者称,供应链工作主要针对构建系统、依赖和恶意包代码;先前注入实验多使用网页、浏览器或动态工具返回,尚未经验刻画安装文档中的对抗指令。
- 核心主张:作者认为这不是实现缺陷,而是指令遵循范式的结构后果:服从、有帮助的设计使智能体不核验意图。作者把无条件执行与判断后果的脱节称为Semantic-Safety Gap。
- 本文做了什么:提出三维测量分类,并构建ReadSecBench(500个真实README),在商用computer-use agent、仿真环境和防御检测上测量该问题。
- 威胁模型:
- 目标:秘密窃取本地隐私数据(文中写PII)。形式化上,最大化智能体在对抗文档修改下执行指定恶意动作的概率。
- 知识:不能在用户运行时直接控制或观察智能体,也没有运行时访问。
- 能力:只能改智能体可能读到的静态文本。三种情形:发布有毒README的仓库、在拉取请求的文档中嵌入指令、改常用库文档并借助递归跟链。
- 受害系统与判定:软件安装流程中的高权限LLM智能体。成功仅当隐私数据实际传到外部服务器;忽略指令、上传无关或占位文件、上传非敏感文件或拒答,均不算成功。
What related research exists?
作者将本文定位为文档嵌入式指令注入的测量,并与供应链、间接注入和现有基准区分。
供应链与文档信任
- 代码与依赖投毒:Ladisa等(2023)给出开源供应链攻击分类;Ohm等(2020)整理真实投毒案例;Zimmermann等(2019)量化npm中单个被攻陷包的传递影响。作者称这些工作针对构建系统、依赖解析或恶意包代码,未覆盖文档中的自然语言指令。
- 文档信任:Enck与Williams(2022)调查30家产业与政府机构,把documentation trust列为供应链安全的主要挑战之一。
间接提示注入与智能体
- Greshake等(2023):外部网页等内容中的隐藏指令可劫持浏览智能体的对话。作者称其场景是沙箱中的浏览智能体;本文针对有终端和网络权限的安装流程,并给出分类与可复用基准。
- InjecAgent(Zhan等,2024):评测工具调用智能体的间接提示注入,载体是网页搜索等动态内容。作者称不覆盖开发流程里的静态项目文档。
- 视觉、环境与后门:Bailey等(2023)的图像劫持、Liao等(2024)的EIA、Wang等(2025)的AdInject和Zhang等的界面模拟,利用非结构化或浏览器中介输入。作者称Bailey与Liao的载体不同于智能体被设计去遵循的结构化高信任文档。Yang等(2024)研究训练时后门;作者称本文不改模型,只在推理时经文档注入。
分类体系与基准
- 直接交互:Perez与Ribeiro(2022)用分隔符覆盖提示;Rao等(2024)整理17种越狱技巧;Zou等(2023)用梯度生成通用对抗后缀。对象是用户对模型的直接交互。
- 智能体基准:AgentDojo(Debenedetti等,2024)在动态环境中评测攻击与防御。作者称其场景是个人助理(网页、邮件、日历),不处理软件安装,也未针对文档信任。HarmBench针对直接攻击;AgentBench与GAIA评测能力而非安全。
- IPI-Bench(Shi等):评测间接提示注入中的非文档载体。作者称就其所知,尚无已发表工作同时给出文档工作流的三维分类、带对抗载荷的真实README公开基准,以及跨多个LLM家族的系统测量;并称ReadSecBench是首个公开、专用于文档驱动智能体工作流的此类基准。
防御机制
- NeMo Guardrails(Rebedea等,2023):为LLM应用提供可编程安全护栏。作者称这类框架依赖预定义规则或LLM分类器,而本文实验里它们难以把对抗指令和合法文档分开。
- 隐蔽投毒:Wallace等(2021)构造人眼难查的训练样本;Li等(2021)研究语义后门。作者称前者与本文文档注入避开人工审阅的结果相平行。
- Liu等(2024):综述LLM集成应用中的提示注入与防御。作者用它把文档载体放进更广的注入分类。
基线与数据:攻击实验没有与其他攻击方法比较ASR。防御对照是ProtectAI LLM Guard的12个规则扫描器,以及GPT-4o、GPT-o3、GPT-o3-mini、Gemini 2.5 Flash、Claude 3.5 Sonnet、Claude 3.7 Sonnet,输入为ReadSecBench的良性与对抗README。
作者把本文放在间接提示注入之下,但强调被利用的是智能体对项目文档的预期信任和高权限安装场景。作者认为,限制这种信任会直接损害自动化安装这一核心功能,因此没有平凡的解决办法。
How does the paper address this problem?
用三维分类测量文档嵌入指令,并构建500个真实README的ReadSecBench。
测量框架名为Semantic Injection Framework。作者把智能体处理README的过程拆成观察、推理、行动,再沿语言、结构和语义三个维度改变嵌入方式,看行为如何变化。
决策回路与目标
- 每步由Planner根据任务和当前观察决定下一步,Tool User经终端、浏览器等接口执行。测量同时看规划器从文档推断出什么、执行器最终做了什么。
- 攻击者运行时接触不到智能体,只能改静态文档。目标式为 maxθmalicious Eq ∼ πq[1(Agent(q,θmalicious)=am)],即在查询分布上最大化执行指定恶意动作的概率。
- 每个实验条件由五部分实例化:目标G(目标文件与外传操作)、载体C(含载荷的README)、触发T(内联、浅链或深链)、语言包装W、执行约束R(系统兼容与文件是否存在)。
三个测量维度
- 语言伪装:四种表面措辞。数据集写作direct、suggestive、collaborative、system default;Figure 4轴为Directive、Suggestive、Team-oriented、Default Policy。作者称directive的ASR最高,因此后续实验采用该措辞。不复述具体句式。
- 结构混淆:内联、浅链(深度1)、深链(深度至少2);实验把深度从0变到5。作者用来模拟把载荷藏进链接,并观察智能体是否执行嵌套内容。
- 语义抽象:三级有序变量。系统层是可直接执行的shell式指令;应用层是面向工具的任务;协作层是带社会互动的动作。作者称系统层在文档中语法合法、表面合理,但不如后两层自然;各级相对可检测性构成梯度(作者指向Figure 4(c))。
- 作者给出的理由是:README出现在正在进行的安装任务中,嵌入指令看起来与任务相关;这被当作工作流文档的性质,而不是任意用户输入的性质。
ReadSecBench
- 用GitHub搜索API与仓库元数据收集,星标下限为10。文档长度参照星标超过10的README分布(Figure 3:均值2635、中位数872、众数412词)。这组数描述的是该观察分布,论文未把它写成最终500个文件的长度统计。
- 500个不同仓库,Java、Python、C、C++、JavaScript各100。每个文件有良性与对抗变体。对抗载荷由一人插入setup或requirements段,另两人独立复核。作者称这些段落里的指令更可能被不加犹豫地执行。
- 载荷合理性(是否符合宿主README的领域和风格)的Fleiss' κ为0.82,三名标注者,作者称属于substantial agreement。标注者为欧洲计算机研究生,年龄20–30。主实验每次随机抽取500个中的40%,换三个随机种子取平均;Figure 4注每轮n=200。作者称发布该基准,论文中的获取地址尚待确认。
成功判定
- ASR:隐私数据实际传到外部服务器才算成功。忽略且不上传、选了无关或占位文件、上传了非敏感文件、或拒答,都算失败。接收端由研究团队自己运营,论文写明没有传到不受控的外部目的地。
- RR:识别出不安全指令并明确拒绝。TSR:良性目标完成,例如装好依赖或执行配置步骤。
- 仿真环境另用是否调用与数据泄露相关的预定义函数作为语义遵从。作者称这是为了把语义易感性与执行层能力分开,不应与端到端ASR直接比较。
What experiments did the paper conduct?
商用computer-use agent上作者称端到端外泄最高85%;15人检出率0%。
实验设置
- 被测系统:端到端攻击用Claude Sonnet 3.7驱动的computer-use agent,即后文的Claude Computer Use、Claude 3.7 Sonnet。仿真后端为Gemini 2.5 Pro(正文亦称Gemini Pro、Gemini 2.5)、GPT-4o、GPT-oss20b、Claude 3.5 Sonnet。架构对比还有OpenDevin、OpenManus、Browser Use。防御检测另用Gemini 2.5 Flash、GPT-o3、GPT-o3-mini。论文脚注写GPT-oss20b是评测期间的内部标识,未必有同名公开版本。
- 数据:ReadSecBench,500个不同仓库的README,五语言各100,含良性与对抗变体。主测量每次随机40%,三个随机种子取平均;Figure 4注每轮n=200。
- 注入设置:语言伪装四类、链接深度0–5、语义抽象三级;后续computer-use实验采用directive措辞。另测语言、文内位置和注入比例。
- 指标:ASR仅在隐私数据实际外传时计成功;RR为明确拒答;TSR为完成良性安装或配置。仿真指标是是否调用预定义泄露函数。防御指标是被标为不安全的文档比例(Table V)。
- 判定:端到端成功由数据是否到达研究团队控制的接收端决定。论文未写用LLM裁判给ASR打分。防御侧全部LLM检测器使用同一条最小提示,要求判断README是否安全并解释。κ=0.82针对载荷合理性,不是攻击成功判定。
- 环境:Linux服务器,3.39 GHz AMD EPYC 7742 64核,一块80GB A100。论文未报告主实验的查询次数或墙钟耗时。
主结果
Table II按攻击目标报告链接深度上的成功比例,每格n=7;敏感数据先封装在名为report的文件中。share file与upload file在全部深度上相同,故不另列。5 Link列中scp与rm file原文写0.57。
Swipe horizontally to read the table
目标 0 Link 1 Link 2 Links 5 Link upload file(应用层) 0.857 1 1 0.428 delete file(应用层) 0.714 0.857 0.857 0.428 scp(系统层) 0.857 0.857 1 0.57 rm file(系统层) 0.857 1 1 0.57 send file(协作层) 0.142 0.285 0.142 0.285 remove file(协作层) 0.285 0.285 0.142 0.285 - 同表未列入上表的深度:3 Links为upload/share 0.714、delete 0.571、scp 0.714、rm 0.857、send 0.142、remove 0.142;4 Links为upload/share 0.428、delete 0.285、scp 0.857、rm 1、send 0.142、remove 0.142。
- 作者称浅层链接的总体ASR高于直接写在README中,超过两层后逐渐下降;按目标拆开后,系统层rm与scp在较深链接并未一律下降。作者称send file、remove file更难被同一封装策略触发,而缺少社交或共享线索的系统/应用操作未被标为可疑。
- 摘要写up to 85%,贡献写reaching 85%,结论写reach 85%,均指商用computer-use agent的端到端外泄。该85%对不上Table II的某一格。
跨模型仿真与跨架构
- 仿真与IV-B及IV-C的computer-use实验设置不同:LangChain/LangGraph,每模型随机150份README,成功定义为调用预定义泄露函数。作者报告四模型语义遵从率为46%–79%(Figure 7)。正文未逐模型列出该比例。作者称这是指令遵循范式的性质,而非某一实现,且不应与端到端ASR直接比较。
- 四种架构中,解析并尝试执行注入指令的比例为100%(Section IV-D)。只有Claude Computer Use走完文件访问、命令执行和网络传输。OpenDevin定位了目标文件并构造、发出传输命令,因Docker沙箱阻断出站而失败。作者称这是执行层能力差,不是安全差。
- Appendix A把Claude Computer Use标为High,OpenDevin标为Medium,OpenManus与Browser Use标为Low–Medium。论文写明因API约束,未对Cursor、GitHub Copilot做系统评测。
用户研究
- 15人来自欧洲一所大学,11男4女,23–30岁,均值26.5;计算机6、电气与电子4、管理信息系统3、机器人2(Figure 8对应40.0%、26.6%、20.0%、13.3%)。均有使用README的经验。任务被表述为清晰度审阅,而不是安全审计。
- 每人随机三份README,共45份问卷。论文未写明这45份是否抽自那500个文件。作者称53.3%的问卷没有任何异常行为评论;40%只因语法或不自然措辞被标出;6.6%的回复感到内容不当,但未指向具体注入。15名参与者都没有把注入指令标为可疑,45份问卷的检出率为0%。另有33.3%的反馈涉及格式、引用等与安全无关的问题。
- 作者称自然审阅条件下的检出率低到构成实际风险。Table III给出隐匿成功、部分伪装、被标出短语和良性建议的反馈示例,此处不复述原句。
防御检测
- 测了ProtectAI LLM Guard的12个规则扫描器和6个LLM,文档分benign、injected、injected in link(Table V)。Anonymize为0.9/1/0.9,BanCode均为0.9,BanSubstrings为0.7/1/1,PromptInjection均为0.3。脚注写明BanCompetitors、BanTopics、Language、Regex、Secret、Sentiment、TokenLimit、Toxicity不能检出对抗注入;论文未给出这8个扫描器的良性误报比例。
- LLM三列依次为良性、直接注入、链接注入:GPT-4o为0/0.9/0.3,GPT-o3为0/0.9/0.1,GPT-o3-mini为0/0.3/0,Claude 3.5 Sonnet为0/0.8/0.1,Claude 3.7 Sonnet为0/0.3/0,Gemini 2.5 Flash为0.1/0/0。
- 作者称没有扫描器同时做到低误报和高检出。规则方法因表面模式匹配,把含shell命令、路径、IP或链接的合法安装文件也标出。LLM误报更低,但漏掉多数语义注入,尤其是间接链接。作者认为根本困难是恶意与良性指令在语义上难以区分,且不随防御架构消失。最小提示被作者当作下界;作者认为更复杂的提示可能提高检出,但更激进的过滤会提高合法安装文件上的误报。
其他消融与分析
- 语言伪装(Figure 4(a)):作者称directive的ASR最高,suggestive的RR更高,team-oriented与default policy为中等;正文未给出与四种措辞一一对应的数值。
- 语义层(Figure 4(c)):作者称ASR随抽象程度下降,system与application差距不大,collaboration的RR上升、ASR下降。作者认为应用层相对系统层的轻微下降更可能来自执行复杂度,而不是安全干预;协作层可能因为邮件等沟通渠道被当作更高风险。
- 链接深度总体(Figure 4(b)):浅层高于内联;作者称超过两层后ASR逐渐下降,并把单层间接称为足以避开内联检查、更深嵌套会提高警觉的非单调模式。这与Table II里rm、scp在较深链接仍高并不完全同向。
- Table VII注入比例(5%/10%/30%/90%):system为0.857/0.571/0.714/0.714;application为0.857/0.571/0.285/0.571;collaboration为0.142/0.285/0.142/0.285。
- Figure 6:作者称五种语言、不同文内位置和较小注入比例下攻击仍然有效,并称位置影响小、智能体不按指令内容占比区别审查。正文未逐语言、逐位置列出ASR。图注写other包含C++和JavaScript。
- Figure 5给出各语义层在不同链接深度的平均ASR;正文未逐点列出数值。
What are some points that can be further explored?
作者指出Table II的n=7、用户样本构成,以及未实证的其他攻击目标。
作者指出的局限与后续方向
- 端到端执行成本把Table II每格样本量限制在n=7。作者同时写明,多数条件下ASR偏高的系统模式支持其核心发现(Section V,Scope and Limitations)。
- 用户研究来自一所欧洲大学,参与者主要是技术背景的研究生。作者写明,更大且更多样的样本,包括职业开发者和安全工程师,会加强外部效度(Section V)。
- 实验只实证被动数据外泄。持久化、凭证窃取和横向移动在讨论中出现,但没有实证评测(Section V)。
- 实验聚焦软件安装。作者在Future Work写明,Trusted Executor Dilemma也适用于数据分析notebook、API集成指南等部分可信的自然语言指令;三维分类与ReadSecBench可作其他文档场景的方法模板(Section V)。
- 后续包括:在API更可用后评测闭源IDE智能体(Cursor、GitHub Copilot);以及在参与者被明确要求找出可疑指令的安全导向审阅下刻画检出率(Section V;Section IV-D已写因API约束当时未能系统评测)。
- 作者还列出多智体系统中的信任动态、智能体能否从经验适应新的对抗行为,以及Socratic Interrogation和Counterfactual Simulation,后两者需要原型实现和实证。Conclusion另列出来源感知的信任层级、敏感动作的用户确认和怀疑驱动推理(Section V,Conclusion)。
实验覆盖范围
- 端到端外泄测量在Claude Sonnet 3.7驱动的computer-use agent上完成;ReadSecBench为500个README,Java、Python、C、C++、JavaScript各100;主测量每次抽40%(Figure 4注n=200),重复3次取平均(Section IV-A、IV-B)。
- 跨模型仿真为Gemini 2.5 Pro、GPT-4o、GPT-oss20b、Claude 3.5 Sonnet,LangChain/LangGraph,各n=150;成功定义为调用预定义泄露函数,不是端到端传输(Section IV-C、Appendix D、Figure 7)。
- 架构对比包括Claude Computer Use、OpenDevin、OpenManus、Browser Use;论文写明只有前者完成端到端管线,并写明未系统评测Cursor与GitHub Copilot(Section IV-D、Appendix A)。
- 用户研究为15人、45份问卷;防御评测为12个LLM Guard扫描器加6个LLM,文档分benign、injected、injected in link(Section IV-E、IV-F、Table V)。
- 对抗载荷由一名标注者插入、另两人复核,Fleiss' κ=0.82。论文未报告用攻击模型生成载荷,也未报告主结果的统计显著性检验(Section IV-A、Appendix B)。
Summarize the main content of the paper
作者测量文档嵌入指令注入:商用agent端到端外泄作者称最高85%,人工检出率0%。
这篇工作测量的是:高权限智能体在安装流程里执行README中的指令时,会不会把本地隐私数据外传。
- 问题与设定:智能体把项目文档当任务指导,并拥有终端、文件系统和出站网络。攻击者只改静态文本,运行时接触不到智能体。作者把被设计成服从与不核验意图的矛盾称为Trusted Executor Dilemma,并认为它来自指令遵循范式,不是实现错误。
- 做法:用语言伪装、链接深度和语义抽象组织测量,构建ReadSecBench(500个真实README,五种语言各100,含良性与对抗变体)。端到端成功要求隐私数据真正传到外部服务器。
- 商用智能体:作者称computer-use agent上端到端外泄成功率最高85%,并称五种语言、三种注入位置上结果一致。Table II(每格n=7)里,应用层upload file在1 Link与2 Links为1,协作层send file在0 Link为0.142。
- 其他证据:LangChain仿真中四个LLM的语义遵从率为46%–79%(各n=150)。四种架构解析并尝试执行的比例为100%,只有computer-use agent完成外传。15人、45份问卷的注入检出率为0%。
- 防御与作者结论:12个规则扫描器和6个LLM检测器都没有同时压低误报并检出注入。作者称功能遵从与安全意识之间存在Semantic-Safety Gap,并认为外部文档应视为部分可信,核验强度应随动作敏感度变化,而不是一律执行。