【しーだぶりゅーいー】

CWE(共通脆弱性タイプ一覧) とは?

最終更新:
💡 個別の問題ではなく、弱点の種類を共有する

脆弱性の原因となるソフトウェア・ハードウェアの弱点を分類した一覧。個別の問題を識別するCVEとの違いと、番号やTop 25の読み方を説明します。

📌 このページのポイント
CWEは弱点の種類、CVEは個別の問題CWE:原因になる弱点の種類例:CWE-79(XSSに関わる弱点)製品Aの問題CVEで識別製品Bの問題別のCVEで識別同じ種類が、複数の個別の問題に関わる例番号の大小は危険度や発生順ではない
製品A・Bは架空の例で、実在するCVE番号は示していません。線は弱点の種類との対応で、実行や攻撃の流れではありません。
ひよこ ひよこ
CWEとCVEは、同じ番号?
ペンギン先生 ペンギン先生
役割が違うよ。CVEは特定の製品などで見つかった個別の脆弱性を識別する。CWEは、その原因になる弱点の種類を分類するんだ。一つの種類の弱点が、複数の製品の問題につながる場合があるよ。
ひよこ ひよこ
CWE番号は、何を表すの?
ペンギン先生 ペンギン先生
例えばCWE-79はクロスサイトスクリプティングに関わる弱点を示す。利用者が制御できる入力を、Webページへの出力時に適切に扱わない問題だよ。番号は特定の製品名や、危険度の点数ではないんだ。
ひよこ ひよこ
誰が、一覧を作る?
ペンギン先生 ペンギン先生
MITREが一覧を維持し、開発者や研究者などのコミュニティも関わっているよ。ソフトウェアだけでなく、設計や実装にあるハードウェアの弱点も対象になるんだ。
ひよこ ひよこ
Top 25だけ直せば、安全?
ペンギン先生 ペンギン先生
代表的な危険な弱点を学ぶ手がかりだけれど、全てを網羅する検査ではないよ。2025年版は対象のCVEデータを使い、出現頻度と深刻度を組み合わせて順位を計算している。どの年の、どんな対象から集計したかも読むんだ。
ひよこ ひよこ
開発では、どう使う?
ペンギン先生 ペンギン先生
報告やレビューで、何の弱点かを同じ言葉で共有するために使う。例えばCWE-79なら、出力する場所に合ったエンコーディングなどの対策を調べる。番号を付けただけでは修正にならないので、実際のコードと条件を確認するんだ。
もっと詳しく知りたい人へ

一つのCWEに、一つのCVEだけが対応する?

一対一とは限りません。同じ種類の弱点が、異なる製品の複数の脆弱性の原因になることがあります。弱点の分類と、個別の問題の識別を分けます。

Top 25の順位を、自分のシステムへそのまま使える?

集計対象のデータや計算方法による順位です。自分の製品の構成、実際にある弱点、影響や利用条件も確認し、対応の優先度を決めます。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CWE」って出てきたら「脆弱性の原因になる、弱点の種類を分類した一覧」と思えばだいたいOK!
📖 おまけ:英語の意味
「Common Weakness Enumeration」 = 共通の弱点の一覧
💬 Weaknessは弱点を指します。弱点が条件次第で具体的な脆弱性につながるため、個別の脆弱性の識別子とは区別します。

参考資料

← 用語集にもどる