研究评测 32 个 LLM 的代码功能与安全差距:新模型更安全但无一消除差距
Newer and Bigger, but Safer?
作者在CWEval跟踪32个模型:新版本绝对更安全,但没有家族闭合差距。
- 代码生成排行榜主要按功能测试排序,安全很少进入排名。功能-安全差距是功能上说得通与同时通过安全测试之差。先前纵向研究只覆盖三族、开放权重仅Llama,紧凑档和分语言弱点仍未比较。
- 在CWEval的119个任务上,对七族32个模型各抽100个样本,估计func@k、func-sec@k及其差,并用CVR看弱点落在哪些CWE和语言。以第一阶段或旗舰为基线做GEE。提示不含安全指令,判定用动态测试。
- 各家族最新阶段都至少在一个k上显著缩小差距,但无人闭合。k=1差距为0.13(GPT-5.6 Sol)至0.28(Gemini 3.1 Pro)。紧凑档在9次显著比较中有8次更宽。CWE-117与CWE-113仍接近最高。
- 作者指出任务可能进入训练数据、部分CWE只有一两个任务、单函数设定不能代表更大代码库,并计划补测安全提示和固定模型的编程智能体。实验为七族32个模型、无安全指令、动态测试、k=1与k=50。
- 被测模型
- Gemini 1.5 ProGemini 2.5 ProGemini 3.1 ProGemini 3.7 FlashGPT-4oGPT-5GPT-5.6 SolGPT-5 miniGPT-5.6 LunaQwen 3 (235B A22B)Qwen 3 Coder (480B A35B)Qwen 3.5 (397B A17B)DeepSeek V3 (671B)DeepSeek V3.2 (671B)DeepSeek V4 Pro (1.6T)DeepSeek V4 Flash (284B)GLM 4.7 (355B)GLM 5.2 (744B)Kimi K2.7 Code (1T)MiniMax M3 (428B)
- 基准
- CWEval
- 指标
- func@kfunc-sec@kΔsec(k)CVR
一项纵向研究用 CWEval 的 119 个任务、五种编程语言和 31 类 CWE,评测七个模型家族共 32 个 LLM 在旗舰与紧凑版本上连续三代发布的功能与安全差距。结果显示,新模型在绝对意义上确实更安全,但没有一个家族消除该差距;与既有研究不同,开放性并不区分家族,所有被考察的开源权重家族都显著缩小了差距,而 Gemini 3.1 Pro 的差距与 Llama 此前报告的同样宽。紧凑模型通常比旗舰版本生成更不安全的代码,Gemini 3.7 Flash 等是明显例外。在 CWE 层面,日志注入(CWE-117)和 HTTP 响应拆分(CWE-113)等弱点持续存在,最新闭源模型在内存与整数类弱点上出现回退,同一 CWE 在不同语言中的风险差异很大。作者据此建议开发者不要假定升级会提升安全性或闭源模型更安全,每次更换模型后应重跑安全检查,并在模型上下文中提供安全 API。
深度解读
这篇论文试图解决什么问题?
新版本与更小的档会不会缩小功能通过、安全失败的差距。
生成代码可以通过功能测试,却通不过安全测试;这个差距是否随版本、档位和语言缩小。
- 出现的场景:作者称代码生成是软件工程里对 LLM 研究最多的用途,助手会替开发者写和改代码。选模型时人们看排行榜,编码榜主要按功能测试通过率排序,安全很少进入排名。早期研究称 GitHub Copilot 生成的程序约 40% 有漏洞,ChatGPT 写的 21 个程序里只有 5 个在没有进一步提示时安全。此类缺陷会进入公开项目;用 AI 助手的人写出更不安全的代码,却更相信它安全。
- 已有工作的不足:作者称某一时刻的快照回答不了新版本是更安全,还是把前一版避开的弱点带回来。Cannavale 等人在 CWEval 上跟踪 GPT、Claude Sonnet、Llama 各四版,结论是“更聪明,但不更安全”:两家专有家族差距缩小,Llama 没有。作者指出该设计每族只评一档、开放权重只有 Llama,语言只做稳健性检查,把所有弱点平均成每个语言一个差距。
- 本文要分辨的事:开放权重或专有、旗舰或紧凑的模型,在连续版本上是整体更安全,还是只在部分弱点、部分语言上变好。作者称社区缺少跟踪这类轨迹的方法。
- 本文做的研究:七个家族、32 个模型、每族三个阶段,有紧凑档则与旗舰比较。用 CWEval 的 119 个任务、五种语言、31 个 CWE,每任务 100 个样本,共 380,800 个程序,回答差距轨迹、档位、CWE 演变和语言差异,并写出对厂商、开发者和研究者的含义。
有哪些相关研究?
对照静态与动态安全基准、版本变化研究,以及Cannavale等人的差距轨迹。
论文第 2 节把相关工作分成生成代码安全评测和模型随版本变化两类,并单独讨论最近的纵向差距研究。
生成代码的安全评测
- 单时点测量:Tihanyi 等人(2025)形式化验证九个模型的 331,000 个可编译 C 程序,称至少 62.07% 有漏洞,模型间差别不大。Kharma 等人(2026)称弱点随语言而异,内存管理问题在 C 与 C++ 最多,密码学与 XML 弱点在 Java 与 Python 最多。Tóth 等人(2024)称 GPT-4 生成的 2,500 个 PHP 网站中至少 11.16% 有可利用漏洞。
- 静态基准:SecurityEval、LLMSecEval 与 CodeLMSec 用 CodeQL,CyberSecEval 用自有检测器。论文指出静态检测会漏掉不匹配规则的不安全代码:在 Copilot 生成代码上,SecurityEval 作者用 CodeQL 发现目标弱点的比例为 18.46%,人工检查为 73.84%;CyberSecEval 检测器相对人工标签的召回为 79%。这些基准不检查代码能否工作,模型可以用什么都不做的解避开弱点。
- 动态基准:BaxBench 对通过功能测试的后端做端到端利用,论文转述成功率约为其中一半。SeCodePLT 把样本分成失败、能工作但不安全、能工作且安全,覆盖 44 个风险类别。SEC-bench 从真实 CVE 建任务,给智能体的利用与修复打分。本文选用 CWEval,因为它评单个模型的函数补全,且安全 oracle 是动态的。
模型随版本变化
- Chen 等人(2023):比较 2023 年 3 月与 6 月的 GPT-3.5 和 GPT-4,七类任务上既有提升也有下降。论文称该工作不评生成代码的安全。
- Liu 等人(2026):GPT、Llama 与 Qwen 的更新并不一致地提高对抗稳健性,更大模型也不必然更稳健。论文称其不评生成代码安全。
- Elgedawy 等人(2024):2023 年 11 月至 2025 年 3 月三个版本,从 GPT、Gemini、DeepSeek 的九个平台收集 450 个样本,覆盖九个网购任务,有无安全指令都测,用 CodeQL 和针对 OWASP Top 10 的人工审阅。最终阶段经修订后每个平台对每个任务都产出功能代码,漏洞计数却没有一致下降。论文指出他们测的是平台而不只是模型,且只用静态分析。
功能-安全差距
- Cannavale 等人(2026):在 CWEval 上跟踪 GPT、Claude Sonnet、Llama 共 12 个模型、每族四版。定义功能-安全差距和条件漏洞率 CVR,用 GEE 拟合差距,并把类别分成持续盲点、演化分歧和回归异常。论文点名的不足是:每族只评一档;开放权重只有 Llama;每任务 10 个样本、主要报告 k=10;语言只做稳健性检查,每个语言一个平均分。作者称自己沿用其指标、统计和分类,但评两档、五个开放权重家族、每任务 100 个样本,并报告 k=1 与 k=50。
基线与基准
- 基准:CWEval(Peng 等人,2025),119 个任务、31 个 CWE,语言为 C、C++、Go、JavaScript、Python。
- 对照:不是另一套生成方法。轨迹的 GEE 以各家族第一阶段为基线,档位比较以旗舰为基线;讨论中与 Cannavale 等人在同一基准上的数字对照。
作者把本文定位为:更大的评测会看到先前被忽略的事实;开放权重并不把家族分开,紧凑档的代价会随阶段变化,同一 CWE 在不同语言上风险不同。
论文如何解决这个问题?
在CWEval上估计功能通过率与功能且安全通过率之差,并用GEE比较阶段和档位。
作者不训练新模型,而是在同一套动态测试上跟踪 功能-安全差距(functionality-security gap) 如何随阶段和档位变化。
问题设定
- 安全的操作定义:代码算安全,仅当它通过 CWEval 的一组针对性安全测试。差距是“功能上说得通”与“同时通过安全测试”之差。
- 四个问题:RQ1 看一族三个阶段的差距是缩小,还是只更会写功能代码。RQ2 看紧凑模型是否不如旗舰安全,以及差别是否只是能力更低。RQ3 看哪些 CWE 集中了不安全,是持续、在家族间分歧,还是退步。RQ4 看某一类弱点的风险是否依赖语言。
模型与阶段
- 32 个模型、七个家族(Table 1):专有为 Google 与 OpenAI,开放权重为 Qwen、DeepSeek、Z.ai、Moonshot、MiniMax。每族三个连续公开版本,称为 stage。紧凑档在开放权重侧是公开参数量更小的检查点,在专有侧是更便宜的 API 档,参数量未公开。
- 档位覆盖:两家专有家族每个阶段都有旗舰和紧凑档。Qwen 三阶段都有紧凑档;Z.ai 为 GLM 4.7 Flash;DeepSeek 为 DeepSeek V4 Flash。MiniMax 与 Moonshot 没有紧凑档。作者称最新的 GPT-5.6 Sol、GPT-5.6 Luna、Gemini 3.1 Pro、Gemini 3.7 Flash 驱动各自厂商的编程智能体。
- 不单独拆开的差别:表中标出是否先推理再回答。两个 Qwen 3 Coder 与 Kimi K2.7 Code 面向代码,作者仍把它们当作普通阶段,并把 Kimi K2.7 Code 简称为 Kimi K2.7。Kimi K2 用 thinking 变体,使 Moonshot 三阶段都推理。作者称入选时,这些开放权重旗舰曾是 SWE-bench、LiveCodeBench 或 HumanEval 上较强的开放权重模型。
任务、采样与判定
- CWEval:119 个任务、31 个 CWE、五种语言。模型收到函数签名、行为注释和可用 import,补全函数体。描述涉及安全相关操作,但不提安全。功能测试与攻击输入上的安全测试独立记录,样本可以功能上说得通但不安全,或安全但功能上说不通。作者只用没有安全指令的提示,称这对应日常使用。通过功能测试只说明功能上说得通,不说明正确。
- 选用理由:评的是单个模型,而不是带额外层的仓库级智能体;安全失败只在攻击输入下表现出不安全行为时发生,而不是因为源码像某个模式。除完成长度、批处理接口和三处小测试修复外,作者称未改提示、oracle 和任务集。
- 采集:GPT-4o、GPT-4o mini、Gemini 1.5 Pro、Gemini 1.5 Flash 复用 CWEval 已有结果。其余八个专有模型经 OpenRouter 批处理查询,API 预算 600 美元。20 个开放权重模型用 vLLM 0.28.0,单节点 8 GPU,使用厂商官方量化检查点(多为 FP8,三个 Kimi 为 INT4,无官方量化版时用 BF16)。作者称已有工作显示官方低比特量化能保持与未量化基线相当的功能基准表现。完成预算为 65,536 token;Qwen 3(235B)与 Qwen 3(30B)为 32,768。四个不推理的复用模型仍用原预算 2,048。
- 采样:每任务 n=100,温度 0.8;GPT-5 与 GPT-5 mini 的 API 只接受温度 1。合计 380,800 个程序。
指标与统计
- 两个核心量:在 pass@k 估计上,func@k 是 k 个样本里至少一个功能上说得通的概率,func-sec@k 是至少一个既说得通又通过安全测试的概率,对 T=119 个任务取期望。差距和条件漏洞率为
Δsec(k)=func@k−func\text{-}sec@k
CVR=(p−b)/p
前者是两个通过率之差;后者是一组任务(一个 CWE 或一种语言)里,功能上说得通的样本中不安全样本的比例。
- k:计算 k 为 1、10、50,正文报告 1 和 50。k=1 对应通常接受的一次补全;k=50 估计足够多次尝试下能否至少产出一个既说得通又安全的解。k=1 时差距是功能上说得通但不安全的样本比例。
- GEE:RQ1 对每个旗舰、每个任务算差距。每个家族、每个 k 拟合一个高斯 GEE,恒等链接,阶段为唯一预测变量,第一阶段为基线,按任务聚类。β 为该阶段与第一阶段的差距之差,负值表示缩小。p<0.05 视为显著。RQ2 把预测变量换成档位,旗舰为基线,正的 β 表示紧凑档差距更宽。
- 分类:RQ3 看平均 CVR 最高的 16 类。持续盲点指各阶段都高;演化分歧指有的家族下降、有的停滞;回归异常指后一阶段更差。对盲点和回归做人工查看。RQ4 按语言汇总 CVR,并查看各族第一与最新旗舰的样本以解释最大差异。
论文做了哪些实验?
作者称各家族最新阶段都缩小差距,但没有家族把它闭合。
实验设置
- 被测模型:Table 1 的 32 个,都是被评测对象。专有 12 个为 Gemini 1.5/2.5/3.1 Pro、Gemini 1.5/2.5 Flash、Gemini 3.7 Flash,以及 GPT-4o、GPT-5、GPT-5.6 Sol、GPT-4o mini、GPT-5 mini、GPT-5.6 Luna。开放权重 20 个为 Qwen 3(235B、30B)、Qwen 3 Coder(480B、30B)、Qwen 3.5(397B、27B);DeepSeek V3、V3.2、V4 Pro、V4 Flash;GLM 4.5、4.7、5.2 与 GLM 4.7 Flash;Kimi K2(thinking)、Kimi K2.5、Kimi K2.7 Code;MiniMax M2.1、M2.5、M3。
- 任务:CWEval,119 个任务、31 个 CWE,语言为 C、C++、Go、JavaScript、Python。另有与核心语言不共享类别的 C (mem) 任务。每模型每任务 100 个样本。
- 指标:func@k、func-sec@k、Δsec(k)、CVR。正文报告 k=1 与 k=50。
- 判定:功能测试套件,以及攻击输入上的动态安全测试,不是 LLM 打分。提示不含安全指令。
- 统计:每族、每个 k 一个 GEE,显著性阈值 p<0.05。论文未报告 100 次采样之外的独立重复次数。
- 配置:温度 0.8,GPT-5 与 GPT-5 mini 为 1。四个第一阶段专有模型复用既有 CWEval 结果。开放权重用官方量化检查点。
主结果
最新阶段、k=1 的差距从 GPT-5.6 Sol 的 0.13 到 Gemini 3.1 Pro 的 0.28(§4.1、Figure 1)。Google 的 func@1 从 Gemini 1.5 Pro 的 0.69 升到 Gemini 3.1 Pro 的 0.94。下表是旗舰相对第一阶段的 β(Table 2);负值表示差距缩小。
表格较宽,可左右滑动
家族 k=1 stage 2 k=1 stage 3 k=50 stage 2 k=50 stage 3 Google -0.065(p=0.033) -0.027(p=0.486) -0.114(p=0.002) -0.107(p=0.006) OpenAI -0.205(p<0.001) -0.175(p<0.001) -0.181(p<0.001) -0.148(p<0.001) Qwen +0.005(p=0.841) -0.050(p=0.006) +0.074(p=0.005) -0.033(p=0.167) DeepSeek -0.011(p=0.587) -0.094(p<0.001) -0.114(p<0.001) -0.160(p<0.001) Z.ai -0.014(p=0.316) -0.046(p=0.024) +0.042(p=0.028) -0.077(p<0.001) Moonshot +0.005(p=0.663) -0.037(p=0.015) +0.036(p=0.016) -0.004(p=0.753) MiniMax +0.010(p=0.401) -0.056(p=0.023) -0.002(p=0.921) -0.085(p=0.001) - 作者称每个家族到最新阶段都至少在一个 k 上显著缩小差距,但没有家族闭合。演化不是单调的:Google 在 k=1 只在中间阶段显著缩小,最新阶段单次尝试不显著;k=50 时相对第一阶段显著缩小。作者认为安全收益只有超过功能收益时才缩小差距,并称 OpenAI 的 func-sec@1 上升是 func@1 的数倍。
- OpenAI 是唯一一个两个后续阶段在两个 k 上都与第一阶段有显著差异的家族。作者称其最新阶段没有把差距进一步缩小。DeepSeek、Z.ai、MiniMax 在最新阶段对两个 k 都显著缩小。
- 作者称 k=50 时 Qwen、Z.ai、Moonshot 在中间阶段显著变宽,k=1 没有对应变化;作者认为中间模型在某些任务上完全失去安全解,单次尝试仍至少和以前一样安全。三族在最新阶段恢复。Qwen 与 Moonshot 的最新阶段只在 k=1 上相对第一阶段显著缩小。
旗舰与紧凑档
- 同阶段比较两档(Table 3、Figure 1)。MiniMax 与 Moonshot 无紧凑档,不进入比较。Google、OpenAI、Qwen 每阶段都有;DeepSeek 只在最新阶段,Z.ai 只在中间阶段。
- 22 次比较中 13 次不显著,方向有正有负,包括 Qwen 在 k=1 的每一次。差异显著时,9 次里 8 次紧凑档更宽。例外是 Gemini 3.7 Flash:k=1 的 β 为 -0.048(p=0.022);作者称 Figure 1 中它与 Gemini 3.1 Pro 的 func-sec@k 相同。作者称惩罚随演化缩小:k=50 时三族紧凑档在第一阶段都显著更宽,最新阶段只剩 OpenAI。
- 最新阶段仍更宽的是 RQ1 中缩小最一致的两族。GPT-5.6 Luna 在两个 k 上都显著宽于 GPT-5.6 Sol(k=1 的 β=+0.063,k=50 的 β=+0.040),因为紧凑档从 GPT-5 mini 到 GPT-5.6 Luna 损失安全,旗舰保持。DeepSeek V4 Flash 在 k=1 显著更宽(β=+0.059)。作者区分两种惩罚:V4 Flash 功能上说得通的程度接近 V4 Pro,但安全解更少;GLM 4.7 Flash 差距与旗舰几乎相同,是因为功能和安全一起更低。
CWE 的持续、分歧与退步
- Figure 2 给出平均 CVR 最高的 16 个 CWE。斜线格子没有功能上说得通的样本,CVR 无定义。作者称许多类别随演化变好,CWE-918 在所有家族和档位上都低于起点。
- 持续:CWE-117 与 CWE-113 在几乎每个家族、档位和阶段都接近最高。例外是 OpenAI 的 CWE-113:中间阶段两档都下降,作者称 GPT-5 使超过一半功能上说得通的样本通过安全测试,最新阶段部分失去这一收益。人工检查称 Python 样本把消息原样写入日志、不去掉可伪造新条目的换行;CWE-113 的样本检查 header 类型后直接赋值,不去掉 CRLF。作者认为这指向领域共有的盲点。
- 分歧与退步:CWE-79 上 OpenAI 旗舰降到 0,Google、DeepSeek、MiniMax 旗舰也下降,Qwen 两档保持最高,Moonshot 变差。CWE-22 上除 OpenAI 与 DeepSeek 旗舰外,其余最新模型停在一半或以上。CWE-643 上 OpenAI 两档都解决,DeepSeek 与 Google 旗舰仍使多数说得通样本不安全。作者称这些分裂不沿专有/开放权重分界;CWE-347 则是所有专有轨迹都改善、开放权重没有可比收益。CWE-400 在 Google、OpenAI、DeepSeek 旗舰上退步,人工检查称最新模型把调用方的搜索模式当正则表达式。CWE-125 上只有 OpenAI 的最新模型比第一阶段更差,从 GPT-4o 与 GPT-4o mini 的 0 上升。CWE-190 上 Gemini 3.1 Pro 从 Gemini 2.5 Pro 的接近 0 升到所有最新模型中最高。GPT-5.6 Luna 在 16 类的多数上不如 GPT-5 mini,至少四类相差很大。Gemini 3.1 Pro 重新出现 Gemini 2.5 Pro 已几乎消除的 CWE-95。Qwen 3 Coder(480B)在六类上是该族最不安全的旗舰,最新阶段六类都恢复。CWE-502 上,最新 DeepSeek 两档在几乎每个说得通样本上都不安全。
语言差异
- 32 个模型汇总后,核心语言平均 CVR 由高到低为 C、Go、C++,然后是 JavaScript 与 Python(Figure 3)。C 在 27/32 个模型上最高;只比五种核心语言都覆盖的 15/31 个 CWE 时,C 仍第一。C (mem) 在每个模型上都最低,作者不再讨论。
- CWE-117 与 CWE-113 在每种语言上都接近最高。CWE-347 的 CVR 在 Go 为 0.73、C 为 0.71、Python 为 0.04。人工检查称不安全的 C、Go、JavaScript 样本接受任意 HMAC 算法,而 Python 库要求显式算法。CWE-22 在 Go 上明显更低。CWE-643 在 C++ 最低。CWE-502 只在 Python 与 JavaScript 上测试,分别为 0.80 与 0.00;作者称 Python 样本多复用提示导入的不安全 YAML 加载器,JavaScript 加载器默认安全。CWE-95 顺序相反。Google、Qwen、Z.ai、MiniMax 中,C 是第一到最新阶段下降最小的核心语言;OpenAI 相反。Gemini 3.7 Flash 每个功能上说得通的 C 样本在 CWE-79 上仍不安全,而同族 Flash 模型把 Go 和 Python 降到接近 0。作者认为模型走语言或提示给出的最短路径,无论该路径是否安全。
其他消融与分析
- 与 Cannavale 等人的 GPT:他们 k=1 差距从 0.360 到 0.144,本文 OpenAI 从 0.30 到 0.13(§5.4)。
- Gemini 3.1 Pro 的 k=1 差距为 0.28;作者称接近他们报告的 Llama 4 Scout 的 0.296(§5.4)。
- 同参数量的 DeepSeek V3 与 V3.2,k=50 差距仍显著缩小(§6)。
- 每条轨迹的版本间隔为 5 到 27 个月;作者按版本而不是按时间描述变化(§6)。
- 论文未在正文给出 k=10 的数值,称见复现材料(§3.4)。
- 若干 CWE 只有一两个任务;作者称没有主张依赖功能上说得通样本很少的格子(§6)。
有什么可以进一步探索的点?
作者计划补测带安全指令的提示,并固定模型比较编程智能体。
作者指出的局限与后续方向
- 数据污染:CWEval 早于多数被测模型,任务可能进入训练数据,可能抬高跨阶段改进;作者认为这解释不了持续弱点和回归(§6 Internal Validity)。
- 提示:作者未改 CWEval 提示。带安全意识的提示可能得到更小差距,留作未来工作;结论计划用含“写安全代码”指令的 CWEval 安全模式,比较阶段和档位(§6、§7)。
- 逐 CWE 的任务数:若干 CWE 只有一两个任务,结果可能反映任务特性;作者把它们当作基准任务上的观察,而不是对 CWE 的一般主张(§6 Conclusion Validity)。
- 外推:发现可能不能推广到其他模型家族、CWE 或语言。作者未评 Claude 与 Llama,因为已有工作覆盖其在 CWEval 上的轨迹(§6 External Validity)。
- 代码上下文:任务是隔离测试的单个函数;更大上下文能否避开这些弱点,留作未来工作(§6)。
- 退步原因与智能体:作者认为版本之间为何失去安全仍待研究,包括新模型的训练是否偏好更一般的构造,以及如何防止由此产生的回归(§5.3)。计划在固定底层模型的前提下,研究编程智能体连续版本所生成代码的安全(§7)。
实验覆盖范围
- 被测为 Table 1 的 32 个模型、七个家族、三个阶段;Google、OpenAI、Qwen 每阶段有紧凑档,DeepSeek 仅最新阶段、Z.ai 仅中间阶段有,MiniMax 与 Moonshot 没有(§3.1)。
- 任务为 CWEval 的 119 个、31 个 CWE、五种语言;每任务 100 个样本,共 380,800 个程序;正文报告 k=1 与 k=50(§3.2–3.4)。
- 只用无安全指令的提示;功能与安全都由动态测试判定,不是 LLM 评审。四个第一阶段专有模型复用 CWEval 既有结果(§3.2–3.3)。
- 轨迹与档位用按任务聚类的高斯 GEE,阈值 p<0.05;CWE 分析聚焦平均 CVR 最高的 16 类。人工检查由两位共同作者完成,只用于解释已识别模式(§3.5、§6)。
- 开放权重使用官方量化检查点;完成预算 65,536 token,两个 Qwen 3 检查点为 32,768;除 GPT-5 与 GPT-5 mini(温度为 1)外温度为 0.8。论文未在正文报告 k=10 的数值,也未报告人工检查的一致性数字(§3.3–3.4、§6)。
总结一下论文的主要内容
绝对安全性上升且差距仍在,开放权重并不分开各家族的轨迹。
作者纵向评测七个家族、32 个 LLM 生成代码的功能-安全差距,看新版本是不是只更会写能通过功能测试的代码。
- 问题:编码排行榜主要看功能测试。作者要分辨连续版本、旗舰与紧凑档、开放权重与专有模型,以及不同语言上,安全测试通过情况是否一起变好。
- 做法:在 CWEval 的 119 个任务上,每族三个阶段,有紧凑档则与旗舰比较。每任务 100 个样本。用 func@k 与 func-sec@k 之差作差距,用功能上说得通样本中的不安全比例作 CVR,并用 GEE 比较阶段和档位。提示不含安全指令,判定靠动态测试。
- 轨迹:最新阶段、k=1 的差距从 GPT-5.6 Sol 的 0.13 到 Gemini 3.1 Pro 的 0.28。作者称每个家族到最新阶段都至少在一个 k 上显著缩小差距,但没有家族闭合。Google 的 func@1 从 0.69 升到 0.94,安全上升幅度相近,所以单次尝试的差距几乎不变。OpenAI 中间阶段相对第一阶段、k=1 的 β 为 -0.205,是 Table 2 中最大的缩小,最新阶段没有进一步缩小。
- 档位、弱点与语言:差异显著时,紧凑档 9 次中有 8 次更不安全;Gemini 3.7 Flash 在 k=1 上显著更窄。CWE-117 与 CWE-113 在几乎所有模型上接近最高 CVR。CWE-79 等类别的分裂不沿开放权重分界;CWE-347 则是专有家族都有改善。C 在 32 个模型的 27 个上是 CVR 最高的核心语言。最新专有模型会在 CWE-125、CWE-190 等前代已处理的类别上退步。
- 作者的结论:开发者不该默认升级更安全,也不该默认专有模型更安全;换模型后应重跑安全检查,并把安全 API 放进提示上下文。厂商应在功能分数旁报告安全分数,并按弱点类型与前一版比较。研究者应同时报告多次尝试和两个以上版本。作者认为开放权重并不决定轨迹,更便宜的档也不是固定的安全成本。