AI 写代码犯的错,早被写进了错题集

两年前最轰动的安全事件,差点让所有 Linux 发行版中招。

攻击者在 xz 压缩库里埋了后门,编号 CVE-2024-3094,CVSS 评分 10.0。这件事上过每一篇安全头条,三个月后却没人再提。

但它归类的 CWE-506 还在那里。 下一次同类事件出来,换个 CVE 编号,背后的毛病是同一个。

x-cmd 最近发布的 v0.9.14 里,主要改了两个模块:x cvex cwe,前者是在命令行查 CVE 编号的接口,后者是用来查 CWE 类别的接口。借这个钩子,正好把 CVE 和 CWE 的分工讲清楚。

CVE 是哪道题,CWE 是哪类错

这两个编号的全称很少有人能一次说全。

CVE 是 Common Vulnerabilities and Exposures,给每一个公开漏洞发编号。CWE 是 Common Weakness Enumeration,Weakness 常被译成"弱点",说成人话就是一类毛病,它给每类毛病发编号。

一句话分清:CVE 是"哪道题错了",CWE 是"这类题错在哪"。 再具体一点:CVE 是错题本上的一道具体错题,CWE 是错题本里按知识点归类的标签。

CVE-2024-3094 是那道具体错题。它有时间、有影响范围、适合上头条。CWE-506 是知识点标签,它不问年月、不看热度,只问一个事:什么样的开发模式,会让恶意代码混进依赖里。

具体错题会淡出首页,知识点标签会换个编号再来。

AI 写代码,在复刻老错误

现在大量代码是 AI agent 生成的。agent 想得快、写得快,犯错也成体系。

它犯的错很少是新鲜的。

AI 训练的目标是让代码"能跑通"。而训练数据里能跑通的代码中,不安全写法占比很高。于是它很自然地复刻了 CWE 已经归纳好的老问题:

  • CWE-79:XSS,把用户输入直接拼进页面;
  • CWE-89:SQL 注入,把用户输入直接拼进查询;
  • CWE-22:路径穿越,用用户输入拼接文件路径;
  • CWE-798:硬编码凭证,把密钥写死在代码里;
  • CWE-20:输入校验不足,默认用户输入总是善意的。

这些不是新坑,是老坑被 AI 用新代码又写了一遍。

人也一样会犯这些错,但人的产量有限,AI 的产量几乎无限。于是同一个老问题在更大的代码基数里被更快地复刻出来。CWE 的价值从"事后翻错题集",变成了"事前检查清单"。

我觉得更实际的用法是:把 CWE 前置到 agent 的计划阶段。 让它动手写代码之前,先对照相关类别检查自己的方案,把整类毛病在设计层面排除掉,而不是等写完再扫漏洞。MITRE 每年发布的 CWE Top 25,就是现成的检查顺序。

人审 AI 写的代码也是同一个逻辑。逐行 review 几千行生成代码不现实,但按类别过一遍"有没有踩这几类坑",是可行的。

把事件和类型一起查

漏洞刷屏时,多数人不需要成为安全专家。只需要快速搞清楚两件事:这个编号说的是什么,它归哪类毛病。

只知道"出了个满分漏洞",不知道该慌还是该看戏。顺着编号看到它属于 CWE-506,再看到这一类毛病的典型后果和官方缓解建议,才能判断自己的系统是不是暴露在同一种风险下。

x cvex cwe 做的就是把这两步合成一步。把编号交给它,事件的影响范围、归类的毛病、有没有正在被利用,一次出来;想再顺着类别翻下去,把 CWE 编号给它就行。数据来自 NVD、MITRE 和 CISA 的公开目录。

更实际一点的用法是接进 agent 的工作流。agent 自己查 CVE 编号、翻 CWE 描述、看缓解建议,比让它去搜索引擎翻一堆过时博客靠谱。

你不需要背编号,也不需要先把安全学一遍。只需要让 agent 知道有这个数据源可以用。

新闻会过时,错题集不会

我觉得,安全素养不是背漏洞编号,而是两个习惯。

一个习惯是追事件:出了事能第一时间知道是什么、多严重、跟自己的技术栈有没有关系。CVE 负责这一步。

另一个习惯是翻类别:动手写代码、或者审 AI 写的代码时,记得那些毛病类别一直都在,换着编号重演。CWE 负责这一步。

新闻会过时,类别不会。AI 把代码产量放大了很多倍,这两个习惯的价值也跟着放大了很多倍。前者让你知道出事了,后者让同样的事不发生在你身上。

相关推荐
夏雪coding1 小时前
Dify 自定义插件实战:FastAPI + localtunnel 30 分钟搭一个天气查询工具
后端·ai编程
吐了啊取名字太难1 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
huijingjituan2 小时前
新一代IM聊天软件|构建企业专属智能通讯生态
安全·实时互动·即时通讯·极光鸟·灰鲸
其实防守也摸鱼2 小时前
补天SRC新手入门指南:从0到1的漏洞挖掘之路
网络·python·学习·安全·web安全·数据挖掘·挖洞
imc.112 小时前
linux基础IO
linux·运维·服务器
●VON3 小时前
鸿蒙 PC Markdown 编辑器内部隐私与安全评审
安全·华为·编辑器·harmonyos·鸿蒙
我不是QI3 小时前
一、主持人信息(域名 网站资产情报搜集)原理解析
安全·网络安全
腻害兔3 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
txg6663 小时前
网络安全领域简报(2026年7月14日—20日)
安全·web安全