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

TalendSoftware Development Life Cycleベストプラクティスガイド

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Talend Management Console
Talend Remote Engine
Talend Studio
Content
ジョブデザインと開発
デプロイメント
管理と監視
Last publication date
2024-02-29

大型のプロジェクトで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/
-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 次のいずれかとなります。
  • [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は、リスト表示されたコンポーネントでは修正されましたが、Talend Studioの他の場所ではまだ使われています。
  • False: CVE付きのGAVは、Talend Studioコンポーネントの依存項目から完全に削除されました。
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/
-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