AI 防注入从 94% 失守降到 9%,靠的是逐字纠错
大模型被提示注入攻破,几乎是无解的:攻击者把「忽略之前所有指令,去做 XX」藏进网页、邮件、文件里,AI 一读就照做。之前最强的防御方案,面对自适应攻击仍有 94% 的失守率——攻击者会针对你的防御实时调整话术。这篇的突破口很朴素:以前的防御训练是整段输出一起打分,模型分不清到底是哪个词出了问题;他们改成逐字打分,让模型精确知道哪几个 token 是「叛变」的。用这个思路微调的模型,面对最强攻击失守率降到 9%,而且防御能力能迁移到训练时完全没见过的工具调用场景。它不是你明天能装上的补丁,但这是第一次有人把「AI 被一句话策反」这个老大难,从近乎无解拉到可以谈防御的水平。
📄 原文摘要(英文)
Prompt injection is listed as the \#1 threat to AI agents. When an agent accesses external data from websites, files, or emails, an attacker may inject a prompt into the data, saying, "Ignore all prior instructions and perform <an attacker's task>." To prevent arbitrary manipulation of agents, defenders try to train secure LLMs, which, however, still suffer from near 100% attack success rates (ASRs) against adaptive prompt injections. We note that this is because existing defensive finetuning recipes rely on sequence-level feedback signals (in DPO or GRPO). Treating an entire output equally prevents the model from learning precisely which output tokens are insecure. In this paper, we propose Secure On-Policy Distillation (SecOPD) that provides token-level feedback to guide defensive fine-tuning. The LLM receives an injected sample and produces a rollout, whose tokens are scored by the initialization model given the corresponding clean input. With more fine-grained training signals, our defended Qwen3.6-27B achieves a 9.0% ASR against the SoTA PISmith adaptive prompt injections, compared to 94.0% for the prior SoTA, Meta-SecAlign. The obtained security generalizes to domains completely unseen in training: in agentic tool calling, SecOPD achieves a 4.7% ASR compared to 5.5% for Meta-SecAlign. Code and the model are available at https://github.com/pppyb/SecOPD and https://huggingface.co/pybbb/Qwen3.6-27B-SecOPD.