CIRCL是Cloudflare维护的实验性密码学库,涵盖门限签名、属性加密、后量子算法,一向被视为密码工程里写得比较讲究的代码。就是这样一个库,被人从zk/qndleq模块里翻出一处:一个本该由验证方锁死的安全参数SecParam,被塞进了证明结构体自己传回来——攻击者把这个参数改成1,验证就退化成一次抛硬币。
发现它的不是盯代码的安全研究员,是一套AI审计流水线。zkSecurity把自研的审计agent对准CIRCL扫了一遍,确认了7个真实漏洞,全部已在上游修复,多数拿到Cloudflare的HackerOne赏金确认。听起来像"AI又赢了一次",但真正有意思的地方在别处:AI给自己打的严重程度分,和Cloudflare最后定的级别,对不上。
七个漏洞,一眼扫完
最重的一个在CP-ABE属性加密模块:一行AND-share逻辑写错,直接击穿访问控制——这是唯一一个AI和Cloudflare都判定为Critical的漏洞,双方口径一致。
另外六个,大多出自门限RSA(tss/rsa)和DLEQ零知识证明(zk/qndleq):
- float64精度丢失.门限RSA的多项式求值用了浮点数做指数运算,超过53位精度直接静默舍入,密钥分片算错。AI打Critical,Cloudflare定Low。
- SecParam伪造.前面提到的安全参数漏洞。AI打High,Cloudflare定Low。
- FillBytes符号碰撞.一个对负数取符号时被序列化函数悄悄丢弃的bug,配合代数恒等式,能让约一半的合法证明被"改头换面"后重新通过验证。AI打High,Cloudflare定Low。
- BLS聚合签名缺失消息区分性检查:教科书级别的rogue key攻击,攻击者不需要知道受害者私钥就能伪造聚合签名。AI打Medium,Cloudflare定High——这是唯一一次AI低估。
- 剩下两个(Lagrange系数用int64导致溢出、HPKE的PSK校验被一个按位或写错的
switch绕过),严重程度评分同样有落差。
七个里三个AI打分偏高、一个偏低,只有CP-ABE那个双方完全吻合。
双方都在训练AI,不是单挑
这件事更值得留意的背景,是Cloudflare自己也没闲着。它公开写过一套内部AI"漏洞挖掘框架",走的是研究agent、猎手agent、对抗性验证器、二次验证的多阶段流程,用来自查自己的代码。
也就是说,这不是一个"外部AI单枪匹马挑战大厂人工审计"的故事,而是审计方和被审计方在同步把AI塞进密码学代码审查这件事里。zkSecurity拿AI找Cloudflare的漏洞,Cloudflare也在用AI找自己的漏洞。谁的AI更准、谁的AI更早发现,正在变成新的比赛项目。
其兴也勃焉——密码学审计这门手艺过去靠静态分析、模糊测试、常数时间检测和形式化验证撑着,成本高、周期长,全靠人力堆。现在两边都在往这条流水线里塞AI,说明这不再是某家公司的噱头,而是在变成行业里的标准动作。新闻性正在从"AI能找到漏洞"退化成"你有没有AI在找漏洞"。
为什么AI的打分不能直接信
三次高估、一次低估,这个偏差不是随机噪声,是有迹可循的。
AI高估的三个漏洞(float64精度丢失、SecParam伪造、FillBytes符号碰撞),共同点是攻击链条长、触发条件苛刻:需要特定参数规模、特定的字节序列、特定的哈希输出低位。AI擅长发现这类"存在即成立"的逻辑缺陷,却不太擅长评估现实世界里触发它到底有多难,于是倾向按"理论上能破坏协议soundness"就直接打满分。
低估的那一个(BLS聚合签名缺失消息区分性检查)恰恰相反:AI在推理里正确指出了这是经典的rogue key攻击,却因为代码注释写着"这项检查由调用方负责",就把这句话当成了免责声明,自己把严重程度往下调。它把"契约上该谁管"和"实际上有多危险"搞混了。
找到漏洞和判断漏洞有多致命,是两种能力,AI目前只练出了一种。
- 风险.如果读者把AI报告里的severity数字当结论直接用,三次里就有一次会把真正的高危漏洞(BLS)压成中等,两次会把低风险问题当成紧急工单。
这仍是一篇产品验证博客
文章本身也承认,AI产出的只是"候选发现",可利用性确认、PoC最小化、披露流程,全靠人工完成——这一步没有被AI省掉,反而是zkSecurity正在攻克的难点。候选发现总量、误报率,文章里没有披露。
CIRCL的GitHub仓库能查到对应的修复记录(涉及门限RSA的签名分片验证、序列化重写,以及CP-ABE的AND门秘密分享修复),时间线能对上。但除了zkSecurity自己的博客,目前没有独立的第三方安全公告明确把这7个漏洞的发现归功于AI审计。这不代表结论有问题,只说明它现在更适合被当作一次产品能力展示来读,而不是一份中立的第三方审计报告。
这不影响漏洞是真的、修复是真的这两件事。但读这类稿子时,最该多问一句的不是"AI又立功了吗",而是——这个数字是谁给的,谁复核过。
