
CVSS、EPSS、およびCISAの既知の悪用された脆弱性データをダウンロードして集約し、統合JSON/CSVファイルとSQLiteデータベースにまとめます。脆弱性スキャナーのレポート(例:OpenVAS)をエンリッチし、優先順位付けされた修復を支援します。オプションのLogstashパイプラインとPowerBIダッシュボードテンプレートを含みます。
Common Vulnerability Scoring System(CVSS)は、コンピュータシステムのセキュリティ脆弱性の重大度を評価するための無料でオープンな業界標準です。
Exploit Prediction Scoring System(EPSS)は、ソフトウェアの脆弱性が悪用される可能性を推定します。
CISAは既知の悪用された脆弱性のリストを公開しています。
このプロジェクトは、3つのソースから情報をダウンロードし、1つのリストにまとめます。
スキャナーはCVE番号とCVSSスコアを表示しますが、「exploitabilityScore」や「userInteractionRequired」のような詳細情報はエクスポートしないことがよくあります。EPSSスコアを追加することで、環境に適したしきい値でフィルタリングし、何を優先すべきかを選択する選択肢が増えます。
この情報を使って、OpenVASのような脆弱性スキャナーから提供される情報を充実させ、修復の優先順位付けに活用できます。
PowerBIのようなツールを使用して、脆弱性スキャナーの結果とリポジトリ内のスクリプトでダウンロードした情報を組み合わせることができます。
ダウンロード後、必要な情報が抽出・整形され、出力ファイルが生成されます。
CVSS、EPSS、およびすべてのCVE情報をまとめた結合ファイルが利用可能になります。出力はjsonとcsv形式で提供されます。
さらに、情報はsqliteデータベースにインポートされます。
目標はパフォーマンスや効率性ではありません。
代わりに、スクリプトはシンプルに書かれています。理解しやすくトレース可能にするために、複数のステップが設けられています。中間ステップのファイルはディスクに書き込まれ、コマンドをニーズに合わせて調整しやすくなっています。
bash、jq、sqlite3のみを使用しており、初心者に非常に優しく、jqの使用方法を示しています。
このリポジトリには、PowerBIテンプレートファイルを含むデモフォルダが含まれています。ニーズに合わせて調整可能なダッシュボードを生成します。

インポートを機能させるには、OpenVASレポートがcsv形式である必要があります。

PowerBIは作成されたCVE.jsonファイルを使用し、リレーションシップを作成します:

PowerBIはhttps://aka.ms/pbiSingleInstallerから無料でダウンロードでき、使用にMicrosoftアカウントは必要ありません。
cronがスケジュールに従ってダウンロードスクリプトを実行するのを待つことができます。
または、以下のコマンドを実行して手動でダウンロードスクリプトを実行することもできます:
docker exec -it vulnerability-tables-cron bash /opt/scripts/download.sh
3つのDockerコンテナがあります。
cronコンテナは週に1回(月曜06:00)情報をダウンロードし、出力ディレクトリにファイルを保存します。
ファイルのダウンロードにはcurlとwgetを使用します。jqはjsonの処理に使用されます。
filebeatコンテナはjsonファイルを読み取り、logstashコンテナに転送します。
logstashコンテナは、OpenSearchインスタンスへの送信、Azure Log Analyticsへのアップロード、またはその他のサポートされている出力に使用できます。
Filebeatとlogstashはオプションであり、便宜上含まれているだけです。
複数の出力ファイルが生成されます。推定値は次のとおりです:
316K CISA_known_exploited.csv
452K CISA_known_exploited.json
50M CVSS.csv
179M CVSS.json
206M CVE.json
56M CVE.csv
6.7M EPSS.csv
12M EPSS.json
49M database.sqlite
すべてのCVEについて、次の情報が期待できます:
grep -i 'CVE-2021-44228' CVE.json | jq
{
"CVE": "CVE-2021-44228",
"CVSS2_accessComplexity": "AV:N/AC:M/Au:N/C:C/I:C/A:C",
"CVSS2_accessVector": "NETWORK",
"CVSS2_authentication": "MEDIUM",
"CVSS2_availabilityImpact": "NONE",
"CVSS2_baseScore": "COMPLETE",
"CVSS2_baseSeverity": "COMPLETE",
"CVSS2_confidentialityImpact": "COMPLETE",
"CVSS2_exploitabilityScore": "9.3",
"CVSS2_impactScore": "null",
"CVSS2_integrityImpact": "8.6",
"CVSS2_vectorString": "10",
"CVSS3_attackComplexity": "null",
"CVSS3_attackVector": "null",
"CVSS3_availabilityImpact": "null",
"CVSS3_baseScore": "null",
"CVSS3_baseSeverity": "null",
"CVSS3_confidentialityImpact": "null",
"CVSS3_exploitabilityScore": "null",
"CVSS3_impactScore": "null",
"CVSS3_integrityImpact": "null",
"CVSS3_privilegesRequired": "null",
"CVSS3_scope": "null",
"CVSS3_userInteraction": "null",
"CVSS3_vectorString": "null",
"CVSS3_acInsufInfo": "null",
"CVSS3_obtainAllPrivilege": "null",
"CVSS3_obtainUserPrivilege": "null",
"CVSS3_obtainOtherPrivilege": "null",
"CVSS3_userInteractionRequired": "null",
"EPSS": "0.97095",
"EPSS_Percentile": "0.99998",
"CISA_dateAdded": "2021-12-10",
"CISA_RequiredAction": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks. Temporary mitigations using one of the measures provided at https://www.cisa.gov/uscert/ed-22-02-apache-log4j-recommended-mitigation-measures are only acceptable until updates are available."
}