先记住这个答案
核心是先建立带标注测试集,计算精确率、召回率与F1,画出ROC曲线并选业务可接受的阈值;再模拟攻击者改写样本,测量检测率下降。还要区分已知变体和未知变体,误报与漏报的代价由具体Agent动作的高风险性决定,理想评估应给出在不同容忍度下的表现。
- 评估需分别统计误报率与漏报率
- 攻击者自适应会显著降低检测能力
- 阈值选择依赖具体场景的风险偏好
用混淆矩阵建立评估基础
评估从构建带标记的测试集开始,其中正常输入和注入输入比例参照真实环境。分类器输出对应每个样本的判定,统计出真正例(TP)、假正例(FP)、真负例(TN)、假负例(FN)。精确率=TP/(TP+FP)反映误报造成干扰的比例,召回=TP/(TP+FN)反映漏报严重性。实际需要同时报告二者,因为准确率在类别不平衡时极具欺骗性。
更系统的方法是计算不同阈值下的TPR与FPR并绘制ROC曲线,其AUC衡量排序能力但不代表具体操作点。部署时要选择一个阈值,它对应允许的最大FPR内的最大TPR。例如邮件Agent要求FPR≤0.1%,则选择合适的阈值并观察此时TPR是否达到95%。替换阈值时,误报与漏报会反向变化,权衡没有统一最优,取决于被保护操作的后果。
在邮件自动回复Agent上评估分类器
例如,假设一个金融Agent读取客户邮件并生成转账回复,输入邮箱为攻击面。用10万条正常邮件与3000条人工构造的注入诱导邮件训练分类器。离线测试时设阈值使得误拦率≤0.3%,对已知注入样式的召回为92%。上线两周后安全团队用Bigram改写、编码混淆、小语种翻译、穿插清空指令等方式重构原始攻击,检测召回跌至31%,漏报大涨。
随后,假设应对措施立即启动分层方案:保持分类器作为第一道闸门,对低置信度(分数介于0.4~0.6)的输入强制身份分级和人工复核;对高置信度正常仍放行。同时把新变体补充到训练数据并每周重调阈值。再次测量发现召回恢复到74%,但原先误拦率从0.3%升到1.1%,因此假设团队重新接受更高误报并配合更严格人工策略,避免直接阻断整个业务。
攻击者自适应使静态评估失效
攻击者通常至少能观测到一类业务反馈:如果注入成功,他会继续推进更高权限行为;如果被拦下,他看到的错误提示可能暴露触发词。因此攻击者会在探测几次后构造特定绕过,让分类器失效。常见手段包括用同义词替换关键字、将指令藏在富文本图片中、把恶意顺序打散并搭配无害填充。许多分类器基于困惑度或语义特征,这类变换恰好躲过高频词匹配和部分交叉编码器。
所以有效性评估必须包含对抗重测:将独立生成的改写器应用到原本召回高的测试集,查看召回下降幅度。若下降超过30个百分点,则分类器在真实攻击中的价值可能大打折扣,需要结合其他防御手段。同时要明确保护范围,只对直接用户输入声明有效,不把检索文档或工具返回内容作为担保。实践上应每季度重新引入新的绕过方法,并记录检测列表,最终用一条基线说明你能防住什么,防不住什么。
容易答错的地方
- 检测准确率超过99%就安全
- 准确率在正样本极少时不反映可用性。假设只有0.1%注入,模型误报1%,则每1000条正常输入就有10条被误拦,用户会不断投诉;同时如果攻击样本占比低,漏报样本可能完全淹没于噪声。需看精确率和召回率及其与业务阈值配合。
- 持续重训就能应对所有变体
- 每次重训只针对已收集到的变体,攻击者空间是无界的。对抗训练可提高鲁棒性,但无法保证在看过有限变体后推广到无限改写,因此评估时必须验证模型对全新变体的泛化能力,而不是只报道已见过的样本。
面试官还会怎么问?
误报与漏报的代价怎样量化?
先量化两类错误的影响:误报导致用户拒绝使用Agent,漏报可能导致数据外泄。用成本矩阵求出期望成本最低点,常用ROC曲线下不同阈值对应的成本曲线。实际中往往更倾向于追求高精确率以降低误报干扰,并接受某些低频注入漏过,但需根据场景权衡召回与精确率。
分类器与主模型联合评估是否更好?
是的。分类器和目标LLM不是独立的,LLM对输入的敏感度会影响攻击难易。更有效的做法是把分类器的决策概率作为数据特征,与主模型一起在模拟攻击场景中端到端测试,观察最终工具调用是否被劫持。
离线评估和线上评估有什么差异?
离线测试集是静态快照,无法反映真实用户的分布漂移和攻击者进化。线上评估要监控每条被拦和放过的样本并做人工抽样复核,用实时召回率和每日误报率指标,并保留一段时间未缓解的样本用于回溯分析。
参考资料
示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。