首页/安全/漏洞与攻击面速查/CWE 弱点分类体系
漏洞基础与评分46 条

CWE 弱点分类体系

CWE(Common Weakness Enumeration)对软件弱点类型做统一分类编号,如 CWE-79(XSS)、CWE-89(SQL 注入);它描述缺陷类型而非单个漏洞,是代码审计与安全评审的通用语言。

漏洞与攻击面速查安全更新于 2026-10-13

CWE 是什么

CWE(Common Weakness Enumeration,通用弱点枚举)对软件弱点的类型做统一分类编号,例如 CWE-79 指跨站脚本、CWE-89 指 SQL 注入。它描述的是「哪一类的编码或设计问题」,与 CVE 描述「哪一个具体漏洞实例」形成层次关系:一个 CVE 可能映射到一个或多个 CWE,而一个 CWE 会覆盖大量 CVE。这种类型视角对治理很有用——按类别整改能一次消灭一批同源缺陷,而按编号逐个修只能解决单点。

基本信息

维护方MITRE
编号含义软件弱点的类型,不是具体漏洞实例
与 CVE 的关系CVE 是实例,CWE 是类型,一个实例可映射多个类型
常见用途代码审计标注、编码规范条目、缺陷统计分类
衍生清单CWE Top 25 常用危险弱点排序,可作为培训重点
配套信息每个编号含说明、示例与缓解措施建议

典型使用场景

  • 代码审计报告:把每个缺陷定位到具体行并标注对应弱点类型
  • 编码规范:按类型组织约定,如输入校验、输出编码、错误处理
  • 缺陷统计:按类型聚合历史问题,找出反复出现的根因
  • 培训材料:以类型为主线讲解典型案例与修复方式
  • 工具配置:静态分析规则与弱点类型对应,便于结果归并
  • 供应商沟通:用类型说明问题的共性,而非只给单点结论

高频 CWE 对照

编号弱点类型
CWE-79跨站脚本(XSS)
CWE-89SQL 注入
CWE-78OS 命令注入
CWE-22路径穿越
CWE-352CSRF
CWE-918SSRF
CWE-502不安全反序列化
CWE-611XXE 外部实体
CWE-434危险文件上传
CWE-798硬编码凭据

使用方式

使用方式
代码审计报告:缺陷定位 -> 标注 CWE 编号
SDL 检查表:按 CWE 组织编码规范条目
漏洞台账:CVE 与 CWE 双字段,便于按类别治理
# 统计口径示例:按 CWE 聚合季度缺陷数,看哪一类在反复出现
# 治理动作示例:某类型反复出现时,优先改公共库或框架默认配置
一个 CVE 可能映射多个 CWE;CWE 官方站点提供每个编号的说明、示例与缓解措施。

易错点

  • 把 CWE 当漏洞编号写进通报是常见笔误:CWE 是类型,CVE 才是实例
  • 只标类型不定位代码:缺少文件与行号的审计结论无法进入修复排期
  • 按类型数量简单排名:读写频率高、影响面大的类型应优先治理,而非只看计数
  • 类型与修复动作脱节:应给出对应缓解措施,否则报告只有问题没有方案
  • 忽略设计类弱点:部分类型根因在架构与流程,单靠编码改写无法解决
  • 不同团队口径不一致:同一缺陷在不同报告里标注不同编号,统计与趋势分析会失真

数据来源与参考

  • MITRE CWE 官网(cwe.mitre.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌