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-89 | SQL 注入 |
| CWE-78 | OS 命令注入 |
| CWE-22 | 路径穿越 |
| CWE-352 | CSRF |
| CWE-918 | SSRF |
| CWE-502 | 不安全反序列化 |
| CWE-611 | XXE 外部实体 |
| CWE-434 | 危险文件上传 |
| CWE-798 | 硬编码凭据 |
使用方式
使用方式
代码审计报告:缺陷定位 -> 标注 CWE 编号
SDL 检查表:按 CWE 组织编码规范条目
漏洞台账:CVE 与 CWE 双字段,便于按类别治理
# 统计口径示例:按 CWE 聚合季度缺陷数,看哪一类在反复出现
# 治理动作示例:某类型反复出现时,优先改公共库或框架默认配置一个 CVE 可能映射多个 CWE;CWE 官方站点提供每个编号的说明、示例与缓解措施。