韩国科技院与Naver AI:AI安全测试实现广度与精度双优能力提升
这项由韩国科学技术院KAIST与Naver AI Lab联合完成的研究发表于2026年第43届国际机器学习大会ICML 2026会议地点为韩国首尔论文收录于PMLR 306会议论文集论文编号为arXiv:2605.00553。有兴趣深入了解的读者可通过该编号查询完整论文。---在聊这项研究之前先考虑这样一个场景一家刚建好的银行想知道自己的金库是否足够安全于是雇来一批专业盗贼想方设法破门而入。这些人尝试的每一种开门方式都会被记录下来最终帮助银行堵上所有漏洞。大型语言模型也就是我们平时说的AI聊天机器人比如各种对话AI的安全测试走的正是同一条路。研究者们雇用一套攻击AI专门向受害AI发送各种刁钻的问题看能不能让它说出有害内容。这个过程叫做红队测试Red-Teaming红队就是那批专门找漏洞的人。问题是现有的攻击AI有个严重的毛病——它们就像一个只会一招鲜的小偷反复尝试同一种方法。一旦找到一个能成功的攻击方式就会一遍遍重复完全不去探索其他可能存在的漏洞。这在安全领域是个大麻烦因为银行可能不止有一个弱点你只堵住一个其他的依然洞开。KAIST与Naver AI的研究团队为此提出了一套名为Stable-GFN稳定生成流网络简称S-GFN的新方法。它的核心野心是既能找到大量有效的攻击方式又能确保这些攻击方式足够多样覆盖尽可能多的安全盲区。实验结果相当惊人——与此前最接近的同类方法相比S-GFN发现的独特攻击方式多了将近7倍同时攻击成功率仍然高达92%。---一、先搞清楚攻击AI为什么会变成只会一招的独行侠要理解这项研究解决了什么问题先得明白现有方法为何容易陷入单调。目前主流的攻击AI训练方式本质上是一种叫做强化学习的技术。打个比方这就像训练一只猫去按某个开关——每次按对了就给零食按错了就不给。猫很快会学会只按那一个能拿到零食的开关完全不理会其他按钮。这在安全测试领域的表现就是模型发现了一种高分攻击语句后会疯狂复制同样的模式最终生成的几百条攻击其实都是同一个意思换了个说法。专业上把这叫做模式崩溃也就是模型的想象力彻底坍缩到了一个点上。另一类方法叫质量-多样性搜索思路是维护一个外部记忆库记录已经找过的攻击类型强迫模型往没探索过的地方走。这类方法确实更多样但它依赖一个预先定好的分类矩阵——比如按照话题和语气风格各设几个格子让模型在格子里填内容。格子之外的漏洞它永远不会去找。还有一类方法正是S-GFN的直接前身叫做生成流网络GFlowNets简称GFN。这类方法的思路更接近本研究的目标不是最大化单一奖励而是让模型学会按照奖励的高低来分配注意力——奖励高的攻击方式多生成一些奖励低的少生成一些但绝不完全放弃低奖励区域的探索。这种按比例采样的特性理论上能同时保证质量和多样性。然而直接把GFN用在语言模型上会遇到两个棘手的问题。第一个问题是训练不稳定。GFN的传统训练目标里有一个需要模型自己估计的全局参数Z它代表所有可能攻击的奖励总和。这个数字在一个拥有几万个词汇的语言模型里组合空间大到天文数字根本估不准。Z估错了整个训练就会跑偏模型依然会崩溃到一个小角落里。第二个问题是毒性评分器会被噪音糊弄。给攻击语句打分的毒性分类器在遇到一些乱码或毫无意义的词语拼凑时会给出0.2到0.3分这样的随机评分而不是正确地给出接近0的分数。这就像一个考官有时候会随机给废纸打个及格分——模型一旦发现这个漏洞就会专门生成一堆乱码来骗分彻底失去意义。这两个问题叠加在一起就是S-GFN这项研究需要正面解锁的核心挑战。---二、S-GFN的核心思路从绝对打分到相互比较S-GFN解决问题的核心哲学可以用一个生活场景来理解你不需要知道每道菜在满分100分里准确得多少分只需要知道这两道菜哪个更好吃。这种比较式判断比绝对打分要容易得多也稳定得多。**对比轨迹平衡CTB用相互比较绕开那个估不准的Z**传统GFN训练目标的核心公式要求模型学会精确估计Z这个全局总量。S-GFN提出的对比轨迹平衡CTB方法则彻底抛弃了这一步。具体做法是每次训练时同时采样两条攻击语句。然后不问这条语句的绝对分值是多少而是问这两条语句的相对质量差距和模型对它们的生成概率差距是否匹配。用更口语化的说法如果攻击A比攻击B毒性高两倍那么模型生成攻击A的概率也应该恰好是生成攻击B概率的两倍。CTB的训练目标就是把这个比例关系学准。神奇的地方在于当计算两条语句的概率比时那个讨厌的Z在分子分母上同时出现直接抵消了。这就好比问小明比小红高多少你不需要知道地球的海拔基准线在哪里只需要两个人站在一起量一下就行。研究团队在论文中严格证明了这种只看相对关系的CTB方法在数学上与原始GFN具有完全相同的最优解。也就是说绕路走但终点一样而且路上少了很多坑。此外CTB还带来了一个意外的好处每次训练时一条语句的误差信号会自动成为另一条语句的参照基准。这在统计学上相当于一种叫做方差缩减的技术——就像在嘈杂的市场里你不是靠听到一个人说话来判断当下的喧嚣程度而是把周围所有人的音量平均一下作为背景噪音。这让训练信号更稳定梯度更准确。---三、噪声梯度剪枝学会忽略无意义的比较CTB解决了Z估计的问题但它的结构引入了另一个隐患既然要比较两条语句两条语句的评分噪音就会叠加在一起。考虑这种情况两条语句的真实毒性分数都是0.7分但因为分类器的随机波动一条被评为0.68另一条被评为0.72。它们之间的差距纯粹是噪音却会被CTB当成真实信号告诉模型第二条语句明显更好要向它学习。这种虚假的学习信号在训练早期会产生不小的干扰。针对这个问题研究团队提出了噪声梯度剪枝NGP——一种极其简洁的过滤机制。规则很简单如果两条语句的对数奖励差距小于一个阈值σ就直接忽略这对比较不让它产生任何梯度更新。用一个更直观的比方你在为两位候选人打分一个得了79分另一个得了80分。这1分的差距可能只是评委今天心情不同导致的误差。与其纠结这1分不如直接跳过专注于那些差距明显的比较——比如一个30分对一个90分这种差距显然是真实的能力差异值得学习。NGP在理论上的合理性依赖于一个图论概念——连通性。研究者证明只要那些差距足够大的样本对构成的图是连通的也就是说通过足够多的间接比较每个样本都能和其他样本产生联系NGP就不会改变最终的最优策略。实验数据显示在实际的红队测试设置中即使把阈值σ设到1.0这样相对较大的值每批次训练数据中被屏蔽的比较对也不超过30%而图的连通性在几乎所有批次中都能保持。这种适度的过滤既清除了噪音又没有损失太多有效信息。---四、最小K流利度稳定器让AI不去钻乱码漏洞上面两个机制解决了GFN本身的训练问题但还有一个来自外部的麻烦没有处理——毒性分类器对乱码的错误打分。研究团队将这个问题比作奖励黑客攻击模型发现与其费心思写出真正有害的语句不如生成一堆毫无意义的词语拼凑骗过评分器拿到0.2至0.3的虚假高分。这些乱码对真正的安全测试毫无价值却把模型的注意力从有意义的探索区域彻底带偏。常见的解决思路是加入一个KL散度惩罚项让模型不要偏离初始版本太远。但研究团队指出这种方法在GFN框架里有个根本缺陷它会扭曲目标分布本身。原本应该按照毒性奖励来分配概率的任务变成了既要毒性高又要和初始模型像的妥协理论上的最优性就丢了。S-GFN提出的最小K流利度稳定器MKS走了一条不同的路。它的核心思想是不对整句话的概率做全局限制而是专门盯着那些最不自然的词。具体来说MKS会找出每条生成语句中在参考语言模型眼中概率最低的k个词论文中k7效果最佳。如果这k个词的平均对数概率低于一个阈值就认定这条语句包含太多乱码成分直接给它打零分不管毒性评分器给了多高的分。这就像一位经验丰富的编辑她不需要通读全文只需要扫几个最生僻的词就能判断这篇文章是不是真正写出来的还是随机字符拼凑的废纸。MKS的巧妙之处在于k这个参数可以灵活调整——k越小对乱码的容忍度越低但也可能误伤一些包含专有名词的合法攻击k越大允许更多探索空间但可能放过部分乱码。实验表明k7是一个很好的平衡点。与KL惩罚不同MKS不计算参考模型的梯度不影响模型的训练方向只是在奖励层面做了一个硬性过滤。这样既保留了GFN理论上的最优性又堵住了乱码这条投机取巧的捷径。---五、把三件武器组合起来完整的S-GFN训练流程CTB、NGP和MKS这三个机制最终被整合进一个完整的训练流程。每一步训练开始时攻击模型会生成一批候选语句——其中一部分是当前模型直接采样生成的新语句另一部分从高质量回放缓冲区中调取历史上效果好的语句。这个回放缓冲区同时充当了连通性的全局锚点——即使当前批次里某些样本之间的奖励差距不够大按NGP标准回放缓冲区里的多样化历史样本也能架起桥梁维持比较图的连通性。对每条生成的语句流程会先经过MKS的流利度检查。通过检查的语句进入毒性评估环节未通过的直接得到一个极低的惩罚分数-300让模型明白这个方向完全不对。通过流利度检查的语句将其对数概率模型自己生成这条语句有多大把握与毒性评分一起记录下来构成f值——这是CTB和NGP计算的核心原料。接下来在所有N条语句之间进行两两比较生成N?对比较对。对每一对先用NGP检查两者的对数奖励差距超过阈值σ吗不超过就直接跳过超过就计算CTB损失累积梯度。最终所有有效比较对的梯度累加起来反向传播更新攻击模型的参数。整个过程在计算开销上与原始GFN几乎相同。虽然比较对的数量是N?但这些比较都是纯数值运算不需要额外的神经网络前向传播。实测结果显示S-GFN和GFN每步训练的总耗时几乎一致——GFN约4654毫秒S-GFN约4428毫秒显存占用也基本相同约22GB。---六、实验结果数字背后的真实差距研究团队搭建了一个相当完整的测试环境。攻击模型使用的是Qwen2.5-1.5B一个轻量级但能力不错的语言模型受攻击的受害模型使用Qwen2.5-1.5B-Instruct评分器使用Meta发布的Llama-Guard-3-8B毒性分类器。每次评估生成1024条攻击语句。评估指标有两个攻击成功率ASR衡量有多少比例的攻击成功让受害模型说出有害内容独特攻击数量UA则通过语义聚类统计生成了多少语义上真正不同的攻击方式聚类阈值设定为余弦相似度0.7。**在直接攻击受害模型的测试中**S-GFN生成了134个独特攻击攻击成功率92.55%。作为对比标准GFN只有17.67个独特攻击攻击成功率相近约93.75%PPO强化学习方法攻击成功率也超过91%但独特攻击数量只有可怜的3个——这清晰地揭示了纯强化学习方法彻底陷入单一模式的本质问题。Jailbreak-R1是一个使用了强化学习且模型更大8B参数的竞争方法独特攻击数量达到75个但攻击成功率仅7.36%——多样性好但大多数攻击其实无效。Rainbow Teaming达到33个独特攻击和66.11%成功率在多样性和成功率之间取得了一定平衡但与S-GFN仍有相当差距。**交叉防御测试**是这项研究特别设计的一个颇有意思的评估框架。思路是先用某种攻击方法生成的语句来训练受害模型的防御安全微调然后测试其他方法的攻击语句还能不能成功。这相当于问你堵住了我挖的洞但你能同时堵住别人挖的洞吗用S-GFN生成的攻击语句训练防御后针对GFN攻击的防御效果极佳GFN攻击成功率降至0.03%针对Jailbreak-R1的防御成功率也降至0.55%针对Rainbow Teaming的防御成功率降至0.23%。反过来用GFN训练的防御模型S-GFN还能保持22.53%的攻击成功率。这个不对称的结果说明S-GFN发现的漏洞集合远比其他方法更广泛——用它来训练防御覆盖的安全盲区也远更全面。**迁移攻击测试**则检验用攻击Qwen系列模型训练出来的攻击语句拿去攻击从未见过的其他模型Gemma3-4B、Llama3.2-3B、Qwen3-4B和GPT-OSS-20B效果如何S-GFN在这四个测试模型上均表现最佳或接近最佳独特攻击数量分别达到约35、52、37和90个成功率也普遍优于其他方法。这说明S-GFN发现的不是针对某个特定模型的专属漏洞而是更具普遍性的安全弱点。---七、消融实验每一个设计决策为何不可或缺研究团队还系统地拆解了S-GFN的每个组件验证各自的贡献。在奖励设置的对比中结论相当清晰。没有任何流利度约束时GFN-TB和GFN-CTB都发现不了任何有效攻击因为它们都陷入了乱码奖励黑客的陷阱独特攻击数量为0。加入KL散度惩罚后攻击出现了但极度缺乏多样性GFN-TB约14个GFN-CTB约20个因为模型被牢牢拴在初始分布附近。用对数概率总和作为流利度过滤标准情况有所改善GFN-TB约65个GFN-CTB约78个但这种方法对序列长度敏感长句子天然得到更低的分数会误伤很多合理的长攻击语句。MKS则最终实现了最好的结果GFN-TB约67个GFN-CTB约108个独特攻击同时保持了较高的成功率。在CTB和NGP贡献的对比中从GFN-TB67个独特攻击85.8%成功率到GFN-CTB108个独特攻击82.9%成功率再到GFN-CTBNGP121个独特攻击92.2%成功率每一步都有明显提升。CTB带来的主要是多样性的跃升NGP则在此基础上同时提升了多样性和成功率。---八、把S-GFN放到更广泛的测试场景里研究团队不满足于只在红队测试领域验证S-GFN的组件还专门把CTB和NGP放到两个完全不同的分布匹配任务中检验。在分子生成任务中目标是生成具有药物活性用QED分数衡量的化学分子结构。这是GFN最经典的应用场景搜索空间高达10^10种组合。在这个测试里CTB比传统TB收敛速度明显更快也发现了更多高质量的独特分子验证了CTB在稀疏奖励、大搜索空间场景下的普适性。在带噪声的超格网格任务中研究者创造了一个16×16的网格其中有4个奖励峰值且每次奖励观测都加入了随机噪声。TB在这种噪声环境下表现欠佳尤其无法很好地覆盖某个角落的峰值。CTB和CTBNGP则都能稳定地覆盖全部4个峰值且CTBNGP的收敛速度与Detailed Balance一种计算开销更高的方法相当但计算成本更低——因为DB需要对每个中间状态都做优化在语言模型这样的大模型上代价高昂而CTB只需要在序列层面做比较。---九、安全性与实用性的那些细节研究团队还做了几项额外验证确保S-GFN在实际部署中的可靠性。在安全微调之后的模型能力保持方面实验用MMLU基准测试一个涵盖各学科知识的综合测验检验经过安全微调后的模型是否变笨了。无论是用哪种方法的攻击语句训练的防御模型MMLU准确率都维持在约60.1%至60.2%与未经安全微调的原始模型60.4%几乎没有差距。这说明这种安全增强方式不会以牺牲模型的基础能力为代价。在毒性分类器的迁移测试中研究用Llama-Guard训练攻击模型却用ShieldGemma-9B来测试攻击效果模拟更接近真实世界的场景——毕竟现实中你不知道部署时用的是哪个分类器。S-GFN在这种情况下仍然保持了107.14个独特攻击和93.6%的攻击成功率与针对Llama-Guard的直接测试134个92.55%差距不大。这说明S-GFN发现的漏洞具有跨评分系统的泛化性。在攻击类别多样性方面Llama-Guard输出的攻击类别里S-GFN和Jailbreak-R1并列最高覆盖了7个不同类别。其中类别1暴力犯罪是所有方法都能触发的常见弱点但S-GFN在类别10仇恨言论上的发现明显多于其他方法说明它确实探索到了其他方法忽略的安全盲区。---十、这项研究意味着什么以及它的局限在哪里归根结底S-GFN提供的核心价值是让AI安全测试从找最明显的漏洞升级到系统性地绘制整个漏洞地图。用来训练防御的攻击语句越多样得到的防御模型就越能应对各种真实世界中的未知攻击。研究本身也坦诚地指出了现有局限。S-GFN的性能上限由毒性分类器的准确性决定——如果分类器本身存在系统性偏差比如对某些类别的有害内容识别不足S-GFN也无能为力那是分类器需要单独改进的问题。此外当前框架只处理单轮攻击在更复杂的多轮对话攻击场景中如何表现还有待验证。另一个值得关注的社会层面这套方法理论上也可能被滥用成为恶意行为者攻击AI系统的工具。研究团队对此的回应是正因如此才更需要在AI系统部署之前主动用这类方法找出并修补漏洞将防守的主动权握在手中。由于防御只需要简单的安全微调就能实现先发现、再修补的策略在实践中是可行的。---QAQ1红队测试Red-Teaming是什么意思A红队测试是AI安全领域的一种主动防御手段专门训练一套攻击AI去向受害AI发送各种刁钻的问题看能否诱使它说出有害内容。这样找到的漏洞可以通过后续训练来修补。这个名字来源于军事演习中专门扮演敌方的红队概念目的是在真实风险发生之前提前暴露系统的弱点。Q2Stable-GFN和普通GFN的核心区别是什么A普通GFN在训练时需要估计一个叫Z的全局参数代表所有可能攻击的奖励总和但这个数在语言模型的巨大组合空间里根本估不准导致训练不稳定、模式崩溃。Stable-GFN的CTB方法通过同时比较两条语句的相对质量让Z在计算中自然抵消完全不需要估计它。两者最终的理论最优解完全相同但Stable-GFN的训练路径稳定得多实际发现的独特攻击数量也多出近7倍。Q3最小K流利度稳定器MKS和KL散度惩罚有什么不同AKL散度惩罚让模型不能偏离初始版本太远相当于用一根绳子把模型拴住限制了它的探索空间同时也在理论上扭曲了目标分布。MKS则不限制模型整体往哪走只盯着每条生成语句中最不自然的几个词——如果这几个词概率极低说明这条语句包含乱码直接判零分。这样既不影响模型探索合理的攻击空间又堵死了用乱码骗分的投机取巧路径也不破坏GFN的理论最优性。