概要
2026年3月、セキュリティスキャンツール「Trivy」の公式リポジトリが侵害されたことを皮切りに、攻撃グループ「TeamPCP」によるサプライチェーン攻撃が連鎖した。同グループは開発者が日常的に使うDevSecOpsツールにクレデンシャルスティーラーを仕込み、感染した端末からAWSアクセスキー・Kubernetesトークン・GitHub PAT(Personal Access Token)・SSH秘密鍵などを自動収集した。窃取した鍵はTruffleHogで即座に有効性が確認された後、S3バケット・Secrets Manager・データベースへの二次侵害に使われた。Wiz社の調査によれば、侵害されたLiteLLMは全クラウド環境の36%に存在しており、被害の潜在的な広がりは数万件のリポジトリに及ぶとされる。
何が起きたのか
攻撃の連鎖:9日間で5つのプロジェクトを侵害
| 日付 | 侵害されたプロジェクト | 概要 |
|---|---|---|
| 2026年3月19日 | Trivy(コンテナ脆弱性スキャナー) | GitHub Actionsワークフローにクレデンシャルスティーラーを注入。数時間後にはすでにクラウド侵害が始まる |
| 2026年3月23日 | KICS(Checkmarx) | IaCセキュリティスキャナーの2つのCI/CDプラグインを汚染 |
| 2026年3月24日 | LiteLLM(AI Gateway) | PyPI上の正規パッケージに悪性バージョン(1.82.7・1.82.8)を公開。月間9,500万ダウンロードのパッケージに到達 |
| 2026年3月〜5月 | TanStack・UiPath・Mistral AI・OpenSearch・Guardrails AI | 関連するnpmパッケージへ攻撃を拡大。数百パッケージが影響 |
「セキュリティツール自体」が攻撃の入口になった理由
Trivyはコンテナイメージやコードの脆弱性を検出するために、リポジトリ全体・設定ファイル・環境変数・シークレットにアクセスする必要がある。つまりセキュリティスキャンツールは、その性質上、組織内の全シークレットが集まる高権限な位置に置かれている。TeamPCPはこの特性を逆手に取り、スキャンツール自体をスパイウェアに変えた。KICSも同様に、IaC(インフラストラクチャ・アズ・コード)の設定ファイルを解析するためにクラウド認証情報にアクセスできる位置にある。
AWSへの二次侵害
Wiz CIRTの調査によれば、Trivyへの悪性コード注入から数時間以内に、盗まれたシークレットを使ったAWS環境への侵害活動が始まった。攻撃者はまずTruffleHogを使って盗取した認証情報の有効性を自動検証し、有効なものを選別した上でAWSのS3バケット・Secrets Manager・RDSデータベースからデータを抜き取った。また、Azure アプリケーションシークレット・SaaSトークンも同様の手順で悪用された。
技術的な解説
クレデンシャルスティーラーの動作
TeamPCPが注入したマルウェアは、感染端末で次の操作を自動実行する:
- メモリスキャン: 実行中プロセスのメモリからAWSアクセスキー・Kubernetesサービスアカウントトークン・Solanaウォレット秘密鍵を検索・抽出
- ファイルスキャン:
~/.aws/credentials・.env・*.json等の設定ファイルからシークレットを収集 - GitHubリポジトリスキャン: ソースコード・設定ファイル・埋め込みシークレットをリポジトリ単位で吸い上げ
- C2送信: 収集したシークレットを攻撃者のインフラへ送信
TruffleHogによる自動選別
大量に盗んだシークレットの中から有効なものを選ぶために、攻撃者はオープンソースのシークレット検出ツール「TruffleHog」を悪用した。TruffleHogは本来、誤ってコミットされたシークレットを検出するためのセキュリティツールだが、攻撃者が盗んだ鍵の有効性を大量検証するためのツールとして転用された。「守るためのツールが攻めるためのツールになる」という逆説がここでも成立している。
なぜLiteLLMが特に危険だったのか
LiteLLMはOpenAI・Anthropic・Google等の複数のLLM APIを統合的に呼び出すためのPythonライブラリで、AIアプリケーション開発者の間で急速に普及している。このライブラリは性質上、各LLMプロバイダーのAPIキーを一元管理する位置にある。LiteLLMの悪性バージョンに感染した環境では、OpenAI・Anthropic・AWS Bedrock等のAPIキーがすべて窃取対象になる。Wiz社によれば、LiteLLMは全クラウド環境の36%に存在しており、これはnpmやPyPIの人気パッケージ水準の普及率である。
日本企業への影響
TeamPCPが標的にしたツールは、日本のIT企業・クラウドネイティブ企業・AI開発企業が広く使用するものばかりである。特に以下の点で日本企業にも直接的なリスクがある。
- Trivyはコンテナセキュリティのデファクトスタンダード: コンテナを扱う組織の多くがTrivy(またはAqua Security製品)をCI/CDに組み込んでいる。侵害期間中(3月19日前後)にTrivyを実行していた組織は影響を受けた可能性がある。
- LiteLLMはAI開発の標準ライブラリ: Claude・GPT・Geminiを同時に使う開発者が急増する中、LiteLLM経由のAPIキー漏洩は国内AI開発現場にも直撃する。
- GitHubリポジトリの秘密鍵が標的: プライベートリポジトリであっても、CI環境でコードとともにシークレットが管理されていれば窃取される。
- クラウドへの二次侵害が最大のリスク: AWSアクセスキーが盗まれると、S3バケット内の顧客データ・個人情報・製品ソースコードが丸ごと持ち出されるリスクがある。
今すぐ確認すべきポイント
影響を受けたバージョンの特定
- Trivy: 2026年3月19日前後のバージョンを使用していたか確認。最新版へ更新する
- KICS(Checkmarx): 同時期にCI/CDで実行していた場合は要確認
- LiteLLM: バージョン 1.82.7・1.82.8 を使用していた場合は即座に更新し、全APIキーをローテーション
シークレットのローテーション
- 影響を受けた期間にCIで実行されたシークレット(AWSアクセスキー・GitHub PAT・OpenAI APIキー等)をすべてローテーションする
- ローテーション後、古いキーでのアクセスがないかCloudTrail・GitHub監査ログで確認する
長命シークレットの排除
- AWSアクセスキー(長命)→ OIDC+IAMロールに切り替え(キー自体を持たない設計にする)
- GitHub PAT(長命)→ Fine-grained PAT または GitHub Apps で最小権限・短命に変更
- LLM APIキー → 環境ごとに分離し、CIでは短命トークンやVaultを使用する
サードパーティツールのバージョン固定
- CI/CDで使うOSSツールはタグではなくコミットSHAで固定する(GitHub Actions サプライチェーン攻撃参照)
- PyPIパッケージはハッシュ検証付きの
requirements.txtを使用する
参考情報
- Wiz Blog: Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild
- SecurityWeek: TeamPCP Moves From OSS to AWS Environments
- Endor Labs: TeamPCP Isn't Done: Threat Actor Behind Trivy and KICS Compromises Now Hits LiteLLM
- Dark Reading: TeamPCP Breaches Cloud, SaaS Instances with Stolen Credentials
- Palo Alto Unit42: Weaponizing the Protectors: TeamPCP's Multi-Stage Supply Chain Attack on Security Infrastructure
OSS経由のサプライチェーン攻撃の全体像は ソフトウェアサプライチェーン攻撃、CI/CDパイプラインへの攻撃は GitHub Actions サプライチェーン攻撃 も合わせてご覧ください。