このページのトピック
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を最新バージョンにアップグレードしてください。
-
アップデートされたバイナリをダウンロードします。TMAS CLIの最新バージョンをダウンロードするためのリンクは、ダウンロードおよびインストール に記載されています。
-
既存の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キーを取得する:
- Trend Cloud One管理コンソール にログインします。
- Container Security > Scannersに移動します。
-
次の図に従って、既存のDeep Security Smart Check Scannerを削除します。
-
次のいずれかのオプションを使用して、新しいAPIキーを作成します。
-
次の図のように、[Trend Cloud One Container Security Scanner] 画面から新しいキーを生成します
-
Trend Cloud One API Keys] 画面で、次のように新しいキーを直接設定します。
- Trend Cloud Oneの管理ページに移動します。
- Scannerの役割が存在することを確認します。そうでない場合は、次の図に従って、新しいScannerの役割を作成します。
- 次の図のように、 Scannerの役割を使用して新しい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-"