ビルド中にアーティファクトの修正済み脆弱性 (CVE)を検出
大型のプロジェクトでCIを使ってアーティファクトをビルドする時は、CVE (Common Vulnerabilities and Exposures)の影響を受けたアーティファクト(標準ジョブ、ビッグデータジョブ、ルート)のうち、最新のTalend Studioアップデートがリリースされてからどのアーティファクトが修正されているか検出できます。
- 修正されたCVEを検出してファイルでレポートするオプションは、org.talend.ci:builder-maven-pluginの8.0.3 (R2022-03から追加)以降のバージョンで利用できます。R2022-05より、ルートアーティファクトでの修正CVEの検出はサポートされていません。
- このオプションは、Talend Studioのアップグレードによって修正される可能性があるCVEをユーザーが特定しやすくすることを目的としており、Talend Studioジョブライブラリーの脆弱性を見つけるサードパーティツールの代替となるものではありません。
技術的な制限により:
- Talend Studioでのみ使われ、どのコンポーネントでも使われないjarのCVEは検出できません。
- レポートでOSGI BundleまたはMicroserviceとしてビルドされたアーティファクトのCVEは正確ではありません。
CVEレポートをビルド
以下は、CVEの影響を受けたアーティファクトのリストをビルドするコマンド例です。このコマンドはプロジェクトアーティファクトのPOMファイルを生成する前後に実行できます。
# To generate a report file listing all CVEs
mvn org.talend.ci:builder-maven-plugin:8.0.3:detectCVE
-Dgeneration.type=local
-Dproduct.path=/home/talend/talend_studio
-Dlicense.path=/home/talend/talend_studio/license
-Dproduct.path=/home/talend/talend_studio/commandline/Talend-Studio-YYYYMMDD_1234-V8.0.X/
<!-- This parameter is only supported and needed for users with Talend Studio 8.0.1 R2024-04 or lower
-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base -->
-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2022-03
-Dworkspace=/home/talend/talend_studio/CI/workspace
-DcveReportFilePath=/home/talend/talend_studio/CI/cvereport.csv
-s /home/talend/talend_studio/maven_user_settings.xml
これによって、CIワークスペースでcvereport.csvという名前のレポートが作成されます。このレポートには、既存のプロジェクトのアーティファクトに影響を与える、最新のTalend Studioアップデートで修正されたすべてのCVEが含まれます:
CVEレポートを分析
生成されたCVE (Common Vulnerabilities and Exposures)レポートのカラムの詳細は次のとおりです。
カラム名 | 定義 |
---|---|
Status | 次のいずれかとなります。
|
Fix Version | CVEが修正された時のアップデートバージョンです。 例: R2022-03 |
Project Name | CVE (Common Vulnerabilities and Exposures)の影響を受けたプロジェクトの名前です。 例: CI_PROJECT |
Item type | CVE (Common Vulnerabilities and Exposures)の影響を受けたアーティファクトのタイプです。 例: PROCESS |
Item ID | CVE (Common Vulnerabilities and Exposures)の影響を受けたアーティファクトの識別子です。 例: _GXOmQFizEeiOq-rLS_Z-8g |
Item Name | CVE (Common Vulnerabilities and Exposures)の影響を受けたアーティファクトの表示名です。 例: MyVeryComplexJob |
GAV with CVE | 未解決の脆弱性があるJARファイルのMavenグループ、アーティファクト、バージョン(GAV)です。 例: org.apache.logging.log4j:log4j-core:2.13.2 |
GAV with CVE mitigated | 脆弱性が修正されたJARファイルのMavenグループ、アーティファクト、バージョン(GAV)です。 例: org.apache.logging.log4j:log4j-core:2.17.1 |
UsedByTalendComponent | 次のいずれかとなります。
|
CVE-ID | CVE (Common Vulnerabilities and Exposures)の識別子。利用できない場合はCVE-NOT_DISCLOSEDが取得されます。 例: CVE-2021-44228 |
CVSS | ソフトウェアのセキュリティ脆弱性の重大度を評価するためのCVSS (Common Vulnerability Scoring System)スコア。範囲は0.0から10.0までで、10.0が最も深刻です。CVSSの詳細は、https://nvd.nist.gov/vuln-metrics/cvssをご覧ください。 |
Component Names | CVE (Common Vulnerabilities and Exposures)の影響を受けたコンポーネントの名前です。この名前は、コード生成に使われるテクニカル名となることも、Talend Studio全体に影響する場合はstudioとなることもあります。 |
Comment | 追加のコメントです。 |
CVEリストをTalend Studioのどのアップデートバージョンからビルドするかを表示
CVEレポートをビルドする際、fromVersionパラメーターを使って、Talend StudioのどのアップデートバージョンからCVEレポートを比較してビルドするか指定できます。
情報メモ注: 修正されたCVEを検出できるオプションをR2022-03バージョンから利用できるようになったため、R2022-03アップデートにはTalend Studioのバージョン8.0.1のリリース以降修正されたCVEがすべて含まれています。
以下は、R2022-05バージョンから検出された修正済みCVEのリストをビルドするコマンド例です。
# To generate a report file listing all fixed CVEs detected from R2022-05
mvn org.talend.ci:builder-maven-plugin:8.0.3:detectCVE
-Dgeneration.type=local
-Dlicense.path=/home/talend/talend_studio/license
-Dproduct.path=/home/talend/talend_studio/commandline/Talend-Studio-YYYYMMDD_1234-V8.0.3/
<!-- This parameter is only supported and needed for users with Talend Studio 8.0.1 R2024-04 or lower
-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base -->
-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2022-05
-DfromVersion=R2022-05
-DcveReportFilePath=/home/talend/talend_studio/CI/cvereport.csv
-s /home/talend/talend_studio/maven_user_settings.xml