2026年に報告されたCVEは、1日あたり前年比131%増加しています。
← 用語集に戻る

CPE

Common Platform Enumeration(CPE)は、cpe:2.3:a:tukaani:xz:5.6.0のようにIT製品を表す標準の命名体系で、NVDがCVEの影響を受ける製品を示すのに使います。

最終更新日:2026年11月11日

Common Platform Enumeration(CPE)は、サイバーセキュリティでIT製品(アプリケーション、オペレーティングシステム、ハードウェア)を表すための構造化された命名体系です。バージョン2.3はNISTがNISTIR 7695(2011年8月)で定めています。National Vulnerability Database(NVD)は、CVEがどの製品に影響するかをCPE名で示し、公式のCPE辞書を管理しています。

CPE 2.3の形式

CPE 2.3の名前は、接頭辞cpe:2.3の後に11の属性を持ちます:part、vendor、product、version、update、edition、language、sw_edition、target_sw、target_hw、other。partはアプリケーションならa、オペレーティングシステムならo、ハードウェアならhです。*は任意の値、-は該当なしを意味します。

cpe:2.3:a:microsoft:internet_explorer:8.0.6001:beta:*:*:*:*:*:*
cpe:2.3:a:lodash:lodash:4.17.20:*:*:*:*:node.js:*:*
cpe:2.3:h:raspberrypi:raspberry_pi_4_model_b:-:*:*:*:*:*:*:*

1つ目は仕様に載っている例です。2つ目はnpmライブラリのlodashで、対象ソフトウェアがnode.jsです。3つ目はハードウェア製品です。3つともNVDの辞書に登録されています。

CPE照合の仕組みと、うまくいかない点

NVDのレコードは、CVEが該当するCPEを、多くの場合バージョン範囲とともに列挙します。スキャナーはSBOMの各コンポーネントをCPEの推測に変換して比較します。うまくいかない点は3つあります。

  • あいまいな名前。 辞書のベンダー名や製品名は、エコシステムでのパッケージ名と一致するとは限りません。xzライブラリはcpe:2.3:a:tukaani:xzですが、Debianではxz-utilsというパッケージとして配布されています。パッケージ名から作った推測は、別の製品に一致するか、何にも一致しません。
  • 広すぎる範囲。 適用範囲の記述が、影響を受けないバージョンやプラットフォームまで含むことがあります。たとえば、影響を受けたのが1つのビルド構成だけなのに、製品の全バージョンが対象とされる場合です。一致したコンポーネントはすべて、トリアージが必要な検出結果になります。
  • データの欠落。 NISTは「2024年初めから、NVDでは未エンリッチのCVEが大幅に滞留した」と述べています。2026年4月15日以降、NVDは優先度に基づいてCVEをエンリッチし(CISA KEVの項目、米連邦政府が使うソフトウェア、EO 14028の重要ソフトウェアが優先)、それ以外を「Lowest Priority - not scheduled for immediate enrichment」としています(NIST)。CVE Numbering AuthoritiesはCVEレコードの中で、CPEを含む影響製品を提供でき、NVDは2026年6月からCNAやADPが提供したこうしたデータを自身のレコードに取り込んでいますが、網羅性はCNAによってまちまちです。Yocto Projectの5.2リリースノートは、その影響をはっきり述べています。CPEに基づくチェックでは「一部の脆弱性はまったく報告されない」のです。

誤った製品との照合は、誤検知の原因のひとつです。脆弱性ノイズの削減を参照してください。

CPEとPackage URLの比較

Package URLCPE
名前を決めるのはパッケージのエコシステムNVDのCPE辞書
識別する対象レジストリやディストリビューション内のパッケージハードウェアやOSを含む製品
形式pkg:type/namespace/name@versioncpe:2.3:part:vendor:product:version:...
規格ECMA-427NISTIR 7695(CPE 2.3)
利用先OSV、GitHubアドバイザリ、SBOMツールNVD、多くのスキャナー
よくある失敗ベンダリングや手動記載のコードで欠落ベンダー名・製品名があいまい、新しいCVEの多くにCPEデータがない

パッケージのエコシステムがあるものにはPackage URLを、商用製品、ファームウェア、ハードウェアにはCPEを使い、要件で両方が求められる場合は両方を使います。CISAの2026 Minimum ElementsはCPEとPackage-URLを一般的な識別子として挙げており、BSI TR-03183-2は、存在する場合には各コンポーネントにこうした識別子を求めています。

SBOMにおけるCPE

CycloneDXには各コンポーネントにcpeフィールドがあり、SPDXはCPEを外部識別子として記載します。サプライヤーであれば、CPEを自作せず、NVDが自社製品に実際に使っているCPE(辞書で確認できます)を記載してください。自作したCPEは何にも一致しません。識別子はSBOMのフィールド品質の一部であり、リストに何かが欠けているかどうかは別の問題、すなわちSBOMの完全性の問題です。

CRACIは、ビルドが取り込むすべてのパッケージをPackage URLで識別します。ビルド時SBOMを参照してください。