这个AI安全测试不看模型多聪明,只看它会不会‘读代码看病’
程序员刚收到一条GitHub安全通告:某个明星开源项目爆出了远程代码执行漏洞。他打开链接,跳转到修复提交,再手动检出前一个commit,逐行比对diff,最后在函数调用链里找到那个没校验用户输入的参数……这个过程,现在被做成了一套月度考试。
N-Day-Bench不考模型能不能写PoC或生成补丁,只考一件事:给它一个真实的、带漏洞的代码仓库快照(精确到某次提交),它能否像初级安全工程师那样,顺着攻击者可控的输入,一路追踪到危险函数调用,再用结构化语言说清文件名、行号、数据流路径和风险本质。这意味着:模型必须真正‘读懂’代码上下文,而不是复述训练时见过的CVE描述。
每期50个测试案例,全部来自过去一个月内新发布的GitHub安全通告,且只选星标超1万的知名项目;每个案例都严格检出漏洞存在但尚未修复的那个commit——修复补丁的内容只给裁判员看,找漏洞的模型完全看不到。这意味着:模型无法靠记忆答案得分,也无法靠模糊联想蒙混过关,它面对的是和人类审计员一模一样的信息边界。
更关键的是,所有结果公开可验:每份高分报告背后,都附着原始代码沙箱操作记录、裁判员打分依据、模型输出全文,甚至 curator(人工校准员)写的参考答案。这意味着:你点开 leaderboard 上任意一个分数,看到的不是一个数字,而是一整套‘诊断过程回放’。
别人在比谁家模型参数更多、推理更快,N-Day-Bench却在坚持一件更朴素的事:让AI安全能力回归‘可观察、可复现、可归因’的工程标准。它不假设模型该懂什么,只问它在真实代码里,能不能稳稳指出那根断掉的线。
下个月的榜单公布时,你会先看分数,还是先点开第一名的沙箱日志?