Skip to content
Latchkey

脆弱性データベースとは?scannerが頼りにするインデックス

脆弱性データベースは、既知のセキュリティ欠陥、それが影響するソフトウェアバージョン、そしてその深刻さを構造化してカタログ化したもので、scannerがリスクを見つけるために照会します。

scannerはその背後にあるデータと同じだけの性能しかありません。脆弱性データベースがそのデータです。既知の欠陥(CVEやその他のIDによる)を、それが影響する正確なパッケージとバージョン範囲にマッピングする、継続的に更新されるカタログです。scannerが「このライブラリは脆弱です」と言うとき、それはあなたの依存関係をこれらのデータベースの1つと照合しているのです。

レコードが含むもの

  • 脆弱性識別子(多くの場合CVE)。
  • 影響を受けるパッケージとバージョン範囲。
  • 重大度スコアと説明。
  • 参照、修正、そしてパッチ適用済みバージョン。

主要なデータベース

National Vulnerability Database(NVD)、GitHub Advisory Database、OSV(Open Source Vulnerabilities)データベースが広く使われています。エコシステム固有のフィード(npm、Pythonなど向け)は正確なパッケージデータを追加し、商用scannerはしばしば複数のソースを組み合わせます。

なぜ新鮮さが重要なのか

新しい脆弱性は毎日公開されます。古いデータベースを使うscannerは最近の欠陥を見逃します。良いスキャンは定期的に新鮮なデータを取得します。だからこそ昨日クリーンだったイメージを再スキャンすると今日は新しいfindingが浮上することがあるのです。

照合の仕組み

scannerはあなたのコンポーネントとバージョンのインベントリを構築し、影響範囲があなたの持つものを含む任意のレコードをデータベースに照会します。正確な照合は、false negative(見逃した欠陥)とfalse positive(無関係なアラート)の両方を避けます。

パイプラインで

CIの依存関係とコンテナのscannerは実行のたびにこれらのデータベースを参照します。SBOMと組み合わせることで、データベースは「この新しい公開に影響を受けているか?」をすべてのbuildにわたって迅速かつ確実に答えられるようにします。

重要なポイント

  • 脆弱性データベースは既知の欠陥を影響を受けるパッケージとバージョンにマッピングします。
  • NVD、GitHub Advisory Database、OSVが主要なソースです。
  • 新鮮なデータが不可欠です。scannerは実行のたびにあなたのコンポーネントをそれと照合します。

関連ガイド