目次

Trend Micro Artifact Scanner (TMAS) について

Trend Micro Artifact Scanner (TMAS) は、トレンドマイクロのアーティファクト検索ツールです。また、アーティファクトに対して事前ランタイム検索 (サポートされているアーティファクト を参照) を実行することで、本番環境に配信される前に (たとえば、コンテナー イメージ用のKubernetesなど) 問題を特定して修正できます。

TMASでは、オープンソースの脆弱性検索を実行できます。脆弱性データベースは、オープンソースの脆弱性フィードから最新の脅威データを受け取ります。Scannerは、次のオペレーティングシステムの脆弱性を検出できます。

  • Alpine

  • Amazon Linux

  • BusyBox
  • CentOS
  • Debian
  • Distroless
  • Oracle Linux
  • Red Hat (RHEL)
  • Ubuntu

Scannerは、次のプログラミング言語のコードの脆弱性を検出できます。

  • Ruby (Gems)
  • Java (JAR、WAR、EAR、JPI、HPI)
  • JavaScript (NPM、Yarn)
  • Python (Egg、Wheel、Poetry、requirements.txt/setup.pyファイル)
  • Dotnet (deps.json)
  • Golang (go.mod)
  • PHP (Composer)
  • Rust (Cargo)

TMASはCI/CDパイプラインにどのように適合しますか?

TMASは、継続的インテグレーション (CI) または継続的デリバリー (CD) パイプラインに統合できます。

たとえば、Jenkinsプロジェクトでは、 Dockerイメージを自動的にビルド、テストして、 Dockerレジストリにプッシュできます。イメージは、プッシュされるとすぐにオーケストレーション環境で実行できるようになります。オープンソースの脆弱性がイメージに存在する場合、イメージの実行時にリスクとなります。イメージは不変であることを目的としているため、イメージはクラスタにデプロイする前に検索する必要があります。

TMASは、CI/CDパイプライン内の アーティファクト を検索します。CI/CDパイプラインにTMAS CLIをインストールして、アーティファクトを実稼働環境に配信する前に脆弱性検索を実行できます。TMASは検索対象の情報を取り、Software Bill of Materials (SBOM) を生成します。SBOMをTrend Cloud Oneにアップロードして処理し、脆弱性レポートを返します。

TMASで検索できるアーティファクトの例は次のとおりです。

  • コンテナイメージ

  • バイナリファイル

  • ソースコードを含むディレクトリ

  • OCIアーカイブ

ダウンロードして適用

metadata.json で最新バージョンを確認できます。

アーキテクチャ
Darwin_arm64 (MacOS - Apple Siliconチップセット)
Darwin_x86_64 (MacOS - Intelチップセット)
Linux_arm64
Linux_i386
Linux_x86_64
Windows_arm64
Windows_i386
Windows_x86_64

システム要件

アーティファクトの大部分を検索するには、次の最小システム要件で十分です。

対象のアーティファクトのサイズに対応するために十分なストレージ容量がシステムに必要です。イメージの場合、非圧縮のサイズに対して十分な容量がシステムに確保されている必要があります。

アーティファクトに含まれるファイルの数に応じて、TMAS CLI スケールのメモリ消費。アーティファクトの中には、完了するために追加のメモリが必要になる場合があります。メモリリソースを増やすことでパフォーマンスを向上できます。

ハードウェア 最小 推奨
ストレージ 16GB 16GB
Ram 2GB 4GB
vCPU 1 1

最新バージョンのTMAS CLIへのアップグレード

最適なパフォーマンスを確保し、最新の機能を利用するには、次の手順に従って、定期的にTMASを最新バージョンにアップグレードしてください。

  1. アップデートされたバイナリをダウンロードします。TMAS CLIの最新バージョンをダウンロードするためのリンクは、ダウンロードおよびインストール に記載されています。

  2. 既存のTMASバイナリをアップデートされたTMASバイナリで置き換えて、システムのバイナリパス設定を調整します。詳細については、 Set upで説明されている「Add TMAS CLI to your PATH」手順を参照してください。

TMASが最新バージョンに正常にアップデートされました。

設定

TMAS CLIでは、環境変数に有効なAPIキーを格納する必要があります。環境変数「TMAS_API_KEY」として呼び出すTrend Cloud Oneリージョンに関連付けられているAPIキーを次のように追加します。

export TMAS_API_KEY=<your_cloud_one_api_key>

TMAS CLIはTrend Vision Oneでも使用できます。詳細については、「Trend Vision OneのTrend Micro Artifact Scannerについて」を参照してください。

Trend Cloud OneのAPIキーを取得する:

  1. Trend Cloud One管理コンソール にログインします。
  2. Container Security > Scannersに移動します。
  3. 次の図に従って、既存のDeep Security Smart Check Scannerを削除します。

    前回のScannerを削除した場合の処理を示す画面

  4. 次のいずれかのオプションを使用して、新しいAPIキーを作成します。

    新しいScannerの役割の作成

    • 次の図のように、 Scannerの役割を使用して新しいAPIキーを設定します。

    APIキーの手動作成

APIキーを取得する場合は、そのAPIキーが呼び出しているエンドポイントに関連付けられていることを確認してください。たとえば、適切な認証を行うために「us-1」リージョンエンドポイントを呼び出す予定の場合は、「us-1」アカウントでAPIキーを作成してください。

これらのキーは、Trend Cloud One管理コンソール から管理できます。

パスにTMAS CLIを追加:

export PATH="/path/to/tmas/binary/directory:$PATH"

一般の使用状況

tmas [command] [flags]

使用可能なコマンド

コマンド 説明
scan アーティファクトをスキャンする。
version 現在のCLIバージョン (長い) を取得します。
help ヘルプ情報を表示します。

グローバルフラグ

フラグ 説明
--version 現在のCLIバージョン (短い) を取得する
-v, --verbose 詳細度を増やす (-v = info、-vv = debug)。
-h, --help ヘルプ情報を表示します。

検索コマンドの使用法

tmas scan [artifact] [flags]

検索コマンドフラグ

フラグ 説明
-p, --platform マルチプラットフォームコンテナイメージソース (オプション)のプラットフォーム指定子 (オプション)。
例: 「linux/arm64」、「linux/arm64/v8」、「arm64」、「linux」(初期設定は「linux/amd64」)。
-r, --region Trend Cloud Oneサービスリージョン (必須): [au-1 ca-1 de-1 gb-1 in-1 jp-1 sg-1 us-1]
--saveSBOM ローカルディレクトリにSBOMを保存します (オプション)。
--malwareScan 不正プログラム検索を有効にします (オプション)。「docker」、「docker-archive」、「oci-archive」、「oci-dir」、および「registry」アーティファクトの種類がサポートされています。

サポートされているアーティファクト

アーティファクト 説明
docker:yourrepo/yourimage:tag Dockerデーモンのイメージを使用します。
podman:yourrepo/yourimage:tag Podmanデーモンのイメージを使用します。
docker-archive:path/to/yourimage.tar docker save から作成されたアーカイブには、ディスクから tarball を使用します。
oci-archive:path/to/yourimage.tar OCIアーカイブ (Skopeoアーカイブなど) のディスクにあるtarballを使用してください。
oci-dir:path/to/yourimage OCIレイアウトディレクトリのディスクパスから直接読み取ります (Skopeoやその他から)。
singularity:path/to/yourimage.sif ディスク上の特異点イメージ形式 (SIF) コンテナから直接読み取ります。
registry:yourrepo/yourimage:tag レジストリからイメージを直接取得します (コンテナランタイムは必要ありません)。
dir:path/to/yourproject ディスク上のパス (任意のディレクトリ) から直接読み取ります。
file:path/to/yourproject/file ディスク上のパス (単一ファイル) から直接読み取ります。

検索は、生成されたSBOMデータが10MB未満のアーティファクトに限定されます。 不正プログラム検索では、 docker docker-archive oci-archive oci-dir および registry のアーティファクトタイプのみがサポートされます。

アーティファクトを検索する:

tmas scan <artifact_to_scan> --region us-1

別のTrend Cloud Oneリージョンに切り替えるには、必要な地域のフラグを使用:

tmas scan docker:yourrepo/yourimage:tag --region au-1

別のリージョンに切り替える場合、「TMAS_API_KEY」を環境変数として保存するが、そのTrend Cloud Oneのリージョンに関連付けられていることを確認してください。 不一致があると、検索コマンドが失敗し、403 ForbiddenまたはAPIKeyPlatformMismatchErrorエラーが発生します。

リモートレジストリ内のイメージを検索しています:

tmas scan registry:yourrepo/yourimage:tag --region us-1

レジストリをアーティファクトのソースとして使用する場合、コンテナランタイムは必要ありません。また、レジストリアーティファクトのソースからの検索結果は、Trend Cloud One Container Security でポリシーの評価に使用できます。

プライベートレジストリからイメージを検索するには、検索を実行する前に「docker login」などのツールを使用してレジストリにログインする必要があります。

情報モードを有効にする:

tmas scan docker:yourrepo/yourimage:tag --region us-1 -v

脆弱性分析に使用するSBOMのディスクへの保存:

tmas scan docker:yourrepo/yourimage:tag --region us-1 --saveSBOM

「--saveSBOM」フラグが有効な場合、生成されたSBOMは、検索のためにTrend Cloud Oneへ送信される前にローカルディレクトリに保存されます。

platformフラグを使用してコンテナイメージのプラットフォームまたはアーキテクチャを指定する:

このフラグを使用すると、複数アーキテクチャのコンテナイメージを検索するときに使用するプラットフォームまたはアーキテクチャを指定できます。

tmas scan registry:yourrepo/yourimage:tag@sha256:<multiple-architecture-digest> --region us-1 --platform=arm64

複数アーキテクチャのレジストリイメージに対して、サポートされていないアーキテクチャを指定しようとすると、エラーが発生します。 アーキテクチャ固有のレジストリイメージを検索する場合、プラットフォームフラグは無視されます。

tmas scan docker:yourrepo/yourimage:tag@sha256:<arm64-specific-digest> --region us-1 --platform=arm64

このフラグは、TMASを実行しているホストとは異なるアーキテクチャのDockerまたはPodmanデーモンからイメージを検索する場合に必要です。

不正プログラム検索の有効化:

tmas scan docker:yourrepo/yourimage:tag --region us-1 --malwareScan

--malwareScan フラグを有効にしてプライベートレジストリからイメージを検索する場合は、 docker loginなどのツールを使用してレジストリにログイン済みであることを確認してください。
docker credsStore (.docker/config.json) を使用している場合は、 credential-helpers=<your credsStore>.config/containers/registries.confに追加します。たとえば、docker credsStoreが desktopの場合は、次を追加します。

credential-helpers = ["desktop"]

プロキシ設定

CLIツールは、次のオプションの環境変数のセットからプロキシ設定をロードします。

環境変数 必須またはオプション 説明
NO_PROXY オプション CLIツールのプロキシ設定をスキップする場合は、「Artifact Scanning as a Service」および「Malware Scanning as a Service」エンドポイントをホスト名のカンマ区切りのリストに追加します。注意: すべてのホストに一致するのはアスタリスク '*' のみです。
HTTP_PROXY オプション 「http://proxy.example.com」
HTTPS_PROXY オプション 「https://proxy.example.com の

プロキシサーバがSOCKS5プロキシの場合、URLにSOCKS5プロトコルを「socks5://socks_proxy.example.com」として指定する必要があります
不正プログラム検索はSOCKS5プロキシ設定を使用する環境ではサポートされないことに注意してください。
PROXY_USER オプション Proxy-Authorizationで使用される認証ヘッダのオプションのユーザ名
PROXY_PASS オプション 「Proxy-Authorization」で使用する認証ヘッダのオプションのパスワードで、「PROXY_USER」が設定されている場合にのみ使用します。

一時ファイルのクリーンアップ

Trend Micro Artifact Scannerを使用してレジストリイメージに対して開始された検索のたびに、[$TMPDIR] の下に新しい一時ディレクトリが生成され、イメージがダウンロードおよび分析されます。

バージョン1.35.0以降では、検索の実行後にこれらの一時ファイルが自動的に削除されます。 以前のバージョンで生成された、または中断された検索によって生成された既存の一時ファイルをクリーンアップするには、必要に応じて次のコマンド (または同等のプラットフォーム) を使用します。

echo $TMPDIR
ls $TMPDIR | grep "stereoscope-"
cd $TMPDIR && rm -rf ./stereoscope-*
ls $TMPDIR | grep "stereoscope-"