メイン コンテンツをスキップする 補完的コンテンツへスキップ

ビルド中にアーティファクトの修正済み脆弱性 (CVE)を検出

大型のプロジェクトでCIを使ってアーティファクトをビルドする時は、CVE (Common Vulnerabilities and Exposures)の影響を受けたアーティファクト(標準ジョブ、ビッグデータジョブ、ルート)のうち、最新のStudio Talendアップデートがリリースされてからどのアーティファクトが修正されているか検出できます。

  • 修正されたCVEを検出してファイルでレポートするオプションは、org.talend.ci:builder-maven-pluginの8.0.3 (R2022-03から追加)以降のバージョンで利用できます。R2022-05より、ルートアーティファクトでの修正CVEの検出はサポートされていません。
  • このオプションは、Studio Talendのアップグレードによって修正される可能性があるCVEをユーザーが特定しやすくすることを目的としており、Studio Talendジョブライブラリーの脆弱性を見つけるサードパーティツールの代替となるものではありません。

技術的な制限により:

  • Studio Talendでのみ使われ、どのコンポーネントでも使われない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/
-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という名前のレポートが作成されます。このレポートには、既存のプロジェクトのアーティファクトに影響を与える、最新のStudio Talendアップデートで修正されたすべてのCVEが含まれます:

CVEレポートを分析

生成されたCVE (Common Vulnerabilities and Exposures)レポートのカラムの詳細は次のとおりです。
カラム名 定義
Status 次のいずれかとなります。
  • [Upgraded] (アップグレード済み): ライブラリーのバージョンアップにより、脆弱性が修正されました。
  • [Removed] (削除済み): コンポーネント、ディストリビューション、Studioプラグインといった依存項目からライブラリーを削除することで脆弱性が修正されました。
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 次のいずれかとなります。
  • True: CVE付きのGAVは、リスト表示されたコンポーネントでは修正されましたが、Studio Talendの他の場所ではまだ使われています。
  • False: CVE付きのGAVは、Studio Talendコンポーネントの依存項目から完全に削除されました。
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)の影響を受けたコンポーネントの名前です。この名前は、コード生成に使われるテクニカル名となることも、Studio Talend全体に影響する場合はstudioとなることもあります。
Comment 追加のコメントです。

CVEリストをStudio Talendのどのアップデートバージョンからビルドするかを表示

CVEレポートをビルドする際、fromVersionパラメーターを使って、Studio TalendのどのアップデートバージョンからCVEレポートを比較してビルドするか指定できます。
情報メモ注: 修正されたCVEを検出できるオプションをR2022-03バージョンから利用できるようになったため、R2022-03アップデートにはStudio Talendのバージョン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/
-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

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。