pikit:面向间接提示注入研究与评测的可组合工具包
pikit: A Composable Toolkit for Indirect Prompt Injection Research and Evaluation
作者用 pikit 在 pi 智能体上评测间接提示注入;高风险子集内九种防御均降低 ASR。
- 间接提示注入通过智能体读取的外部内容改变执行行为。作者认为,现有评测缺少可独立组合攻击措辞、载体与防御的框架,难以系统研究三者的交互。
- pikit 将攻击、通道和防御分成独立注册组件,用 craft() 合成输入、MatrixRunner 执行组合评测,并保存提示词、事件轨迹、会话和判定记录。
- 在 pi 智能体的匹配高风险子集上,九种防御的 ASR 均低于各自基线,但均未降至零。离线检测中,三种启发式检测器均无误报;PatternDetector 未检出任何污染样本。
- 作者明确将防御观察限定于所评测的智能体架构、目标模型、载荷措辞和高风险组合。目标 LLM 匿名;正文完成运行数与 Table 1 汇总样本数不同,论文未解释差异。
- 基准
- pi coding agenthigh-risk evaluation subsetbalanced 630-sample evaluation corpus
- 指标
- Attack Success Rate (ASR)PrecisionRecallF1 ScoreFalse Positive Rate (FPR)
研究者发布 pikit,一个用于系统评测间接提示注入威胁的可组合工具包,覆盖 13 种攻击方法、16 种文本与文件载体以及 9 种防御策略和 3 种离线检测基线。
深度解读
这篇论文试图解决什么问题?
作者要把攻击、载体和防御拆开组合,以系统评测智能体的间接提示注入风险。
核心问题是如何独立改变攻击措辞、投递载体和防御策略,并统一评测它们对智能体执行行为的影响。
- 风险场景:智能体在用户发起的正常任务中自动读取网页、文件、邮件或日志,污染内容可能使其偏离用户授权。作者强调,不可信数据、敏感上下文和外部通信同时存在时的风险。
- 现有评测:作者认为 AgentDojo 和 InjecAgent 提供了工具调用智能体的静态基准,但缺少能独立组合攻击、通道和防御的框架。
- 核心观察:作者引用先前工作称,成功攻击集中于部分攻击—通道组合,因此仅单独评测攻击或载体可能遗漏交互产生的成功路径。
- 威胁模型:第 2.2 节采用 black-box 设定。
- 目标与对象:攻击者希望通过外部内容摄入流程重定向 LLM 智能体的执行。
- 控制能力:攻击者控制载荷措辞和载体格式,将污染工件放入仓库或文件系统等外部环境。
- 知识与适应性:攻击者看不到内部推理轨迹,不能在单次会话内交互式调整载荷。
- 防御约束:攻击者不能篡改或绕过外部工件与上下文窗口之间的防御转换流程。
- 提出的工具:pikit 用独立组件注册、统一合成接口和矩阵运行器组织评测,并保存可审计的运行记录。
有哪些相关研究?
论文围绕间接注入风险、智能体评测环境和提示词防御定位 pikit 的组合式工具作用。
相关工作主要用于界定风险、现有评测和防御组件,没有单独的 Related Work 节。
间接提示注入与风险条件
- Greshake 等(2023)——讨论通过外部内容攻击 LLM 集成应用;论文以此说明间接注入与用户直接提交攻击输入的区别。
- Willison(2025)——提出私人数据、不可信内容和外部通信同时存在的风险条件,论文称其为“lethal trifecta”。
- EchoLeak;Liu 等(2026)——前者讨论 Microsoft 365 Copilot 的零点击数据外泄,后者研究污染仓库对智能体编码编辑器的命令执行攻击;本文将其作为现实风险背景。
智能体评测与运行环境
- AgentDojo;InjecAgent(均为 2024)——评测工具调用智能体的提示注入攻击与防御。作者认为二者缺少独立改变攻击措辞、载体和防御的组合框架。
- DeepSeek harness;pi;OpenClaw(均为 2026)——作为处理不可信仓库并拥有系统、文件和网络权限的框架出现在引言;本文实际验证环境为 pi。
- Ying 等(2026)的 DeepSeek harness 安全评估——先前研究覆盖攻击、通道、载体模式与载荷的组合矩阵;本文据其风险刻画聚焦高风险组合的防御回归。
防御与本文实验基线
- Wallace 等(2024);Hines 等(2024)——分别研究 instruction hierarchy 和 spotlighting,论文将其作为已有缓解思路讨论。
- 基线方法与数据——本文使用无防御匹配运行比较九种预防策略;另外以 PatternDetector、LengthDetector、RepetitionDetector 评测平衡的 630 样本检测语料。
作者将 pikit 定位为连接这些攻击、载体和防御原语的统一框架,重点是组件可组合与防御回归,而不是提出一种新的攻击优化算法。
论文如何解决这个问题?
pikit 用独立组件接口、统一合成 API、矩阵运行器和标准化判定连接评测全流程。
pikit 将任务、攻击、通道、防御、智能体和判定器连接为可组合流程。Figure 1 的图注说明,运行结果与轨迹都会保存;防御可作用于提示词、系统指令或上下文结构,并非固定插入位置。
三轴组件接口
- Attack:inject 接收原始提示词上下文和攻击者任务,返回合成字符串;它负责改变注入指令的措辞或结构。
- Channel:taint 处理文本载体,taint_file 生成文件载体。文件模式支持由下游工具原生解析的二进制或结构化工件。
- Defense:apply 转换或加固推理前的提示词;可选 instruction 参数传入可信用户意图,供上下文相关防御重新强调任务。
注册与输入合成
- 组件注册:装饰器把名称映射到组件,注册后可用于 craft()、TOML 配置和运行器;注册表检查名称唯一性。
- 统一合成:craft() 返回结构化 CraftResult,组合攻击与通道;文件模式生成真实载体,作者用其区分文档解析与普通文本摄入。
- 组件目录:工具包含 13 种攻击、16 种通道、9 种预防策略和 3 种离线检测基线;攻击涵盖结构、混淆和语义等类别。
组合评测与审计
- 矩阵运行:MatrixRunner 从 TOML 读取配置,对攻击、通道、防御和智能体执行笛卡尔积评测,再调用判定器导出记录。
- 目标适配:工具支持 chat、tool-calling、email triage、RAG、browser automation 和 software engineering 六类架构;实证验证使用 pi 编码智能体。
- 运行记录:保存完整提示词、智能体事件轨迹、会话转录和判定记录,便于回查成功与失败案例。
防御与检测的位置
- 预防策略:九种组件包含指令优先级、警告、边界标记及上下文转换等策略,作用于模型推理前的输入或上下文。
- 离线检测:三个启发式模块检查原始摄入工件,不修改提示词,也不调用第二个 LLM;分别使用模式、长度和重复程度信号。
成功判定
- 结果类别:FULL 表示达到攻击目标;PARTIAL 表示讨论或引用载荷等非致命影响;FAILURE / NOT_REACHED 包括正常完成任务、明确拒绝或没有载荷效果。
- ASR 定义:ASR=(NFULL)/(Nvalid)×100%。分母排除系统超时和执行错误,只计 FULL 为成功。
- 判定器:框架支持确定性的 RuleJudge 或可选 LLMJudge;Figure 1 标注 RuleJudge,实证部分未报告具体 LLM 评审模型。
论文做了哪些实验?
实验证据来自 pi 的高风险组合防御回归,以及平衡的 630 样本离线检测评测。
实验集中于一个 pi 编码智能体环境的防御回归和三个启发式检测器的离线表现。
实验设置
- 被测环境:pi coding agent 由 anonymized LLM 驱动,作者称环境接近生产使用;未报告目标模型名称或版本。
- 防御数据:选择基线筛查识别的前 9 个高风险攻击—通道—模式组合,每个组合使用全部 35 个载荷案例;论文未列出这 9 个组合。
- 预防策略:评测 few_shot_warning、instruction_hierarchy、spotlighting、self_reminder、instructional、delimiters、retokenization、sandwich、random_sequence_enclosure。
- 匹配协议:各防御运行通过 baseline_run_id 连接到确切的无防御运行。计划 2,835 对,正文称完成 2,832 对,完成率 99.89%(第 4.1 节)。
- 判定与指标:ASR 只计 FULL,排除超时和执行错误;工具提供 RuleJudge 和可选 LLMJudge。未报告实验中的具体 LLM 评审模型、人工一致性或独立重复次数。
- 检测语料:630 样本由 315 个污染工件和 315 个良性对照组成;三个检测器直接检查工件,报告 Precision、Recall、F1 Score 和 FPR。
主结果
据 Table 1,以下均为 pi、匿名 LLM、高风险匹配子集的防御回归结果;每行基线只使用与该策略配对的运行。
表格较宽,可左右滑动
防御策略 n 匹配基线 ASR 防御后 ASR few_shot_warning 315 6.03% 0.32% instruction_hierarchy 315 6.03% 0.32% spotlighting 314 6.05% 0.96% self_reminder 314 5.73% 1.27% retokenization 315 6.03% 2.22% sandwich 315 6.03% 3.17% random_sequence_enclosure 314 6.05% 3.18% All Defenses 2,817 6.00% 1.69% - 省略的两行:instructional 和 delimiters 均为 n=315,匹配基线 ASR 6.03%,防御后 ASR 1.90%(Table 1)。
- 作者解读:作者报告合并 ASR 相对降低 71.8%,认为明确强调指令优先级的策略在该子集上优于结构边界策略;没有一种策略消除全部成功攻击。
- 图表与计数:Figure 2 可读到的数值标注与 Table 1 各防御行一致。Table 1 汇总 n=2,817,而正文完成运行数为 2,832;论文未解释差异。
离线检测基线
据 Table 2,以下结果均来自 630 样本语料,315 positive / 315 negative。
表格较宽,可左右滑动
检测器 Precision Recall F1 Score FPR PatternDetector 0.00% 0.00% 0.00% 0.00% LengthDetector 100.00% 11.11% 20.00% 0.00% RepetitionDetector 100.00% 17.78% 30.19% 0.00% - 检出情况:正文报告 LengthDetector 检出 35 个污染样本,RepetitionDetector 检出 56 个;PatternDetector 没有触发任何污染样本(第 4.2 节)。
- 作者解读:作者认为静态启发式检测适合作为辅助信号,不能作为独立防御边界。摘要将检测基线概括为完美精确率,但 Table 2 的 PatternDetector 是反例。
- 图中文字:Figure 3 标注横轴检测器名称、纵轴 Score (%),图例为 Precision、Recall、F1;部分数值使用一位小数,此处以 Table 2 为准。
其他消融与分析
- 报告范围:正文没有另列消融或参数分析结果;13 攻击 × 16 通道 × 2 模式 × 35 载荷的完整矩阵被明确归于先前工作,不计为本次 pi 实验。
有什么可以进一步探索的点?
作者明确将防御效果的观察限定于本次架构、目标模型、载荷和高风险组合。
作者明确讨论的是结论适用条件,没有给出具体的后续实验计划。
作者指出的局限与后续方向
- 观察的适用条件:第 5.2 节明确说明,防御表现的观察取决于所评测的智能体架构、目标模型、载荷措辞及高风险组合。
- 研究定位:第 6 节表达希望 pikit 支持进一步智能体安全研究,但未列出具体后续方法或实验安排。
实验覆盖范围
- 目标环境:第 4 节实际验证 pi coding agent,驱动模型匿名;未报告模型名称、版本或采样设置。
- 防御范围:第 4.1 节覆盖 9 个高风险组合、35 个载荷案例和 9 种预防策略,采用确切运行 ID 匹配的无防御对照。
- 检测范围:第 4.2 节评测三个启发式检测器,语料由 315 个污染工件和 315 个良性工件组成,不调用第二个 LLM。
- 攻击约束:第 2.2 节采用 black-box,单次会话内不能交互式改写载荷,也不能篡改或绕过防御转换流程。
- 报告信息:论文未报告效用变化、延迟、查询成本、人工判定一致性或独立重复次数;正文完成运行数与 Table 1 汇总样本数的差异未解释。
总结一下论文的主要内容
pikit 提供组合式间接注入评测;本次防御回归降低 ASR,但仍有成功攻击。
pikit 是面向间接提示注入研究的组合式工具包,主要贡献是组织攻击、投递通道、防御和判定流程,而非提出新的攻击优化算法。
- 问题与方案:作者认为单独评测载荷或载体难以捕捉交互风险。工具以独立注册组件、craft() 和 MatrixRunner 合成并运行组合,保存提示词、会话和判定轨迹。
- 防御回归:在 pi、匿名 LLM 的高风险匹配子集上,Table 1 的 All Defenses ASR 从 6.00% 降至 1.69%;作者报告相对降低 71.8%。
- 策略差异:同一环境下,few_shot_warning 与 instruction_hierarchy 的防御后 ASR 均为 0.32%;random_sequence_enclosure 为 3.18%(Table 1)。所有策略仍有成功攻击。
- 检测表现:在 315 个污染工件与 315 个良性工件上,三个检测器的 FPR 均为 0.00%;RepetitionDetector Recall 为 17.78%,PatternDetector Recall 为 0.00%(Table 2)。
- 作者结论与证据边界:作者将启发式检测定位为辅助信号,并强调防御观察依赖本次架构、模型、载荷和高风险组合。Table 1 汇总样本数与正文完成运行数不同,论文未解释。