SentinelLabsが2026年5月に公開したレポートで、「PCPJack」と名付けられた新たなマルウェアフレームワークの存在が明らかになった。このワームは外部に露出したDocker・Kubernetes・Redis・MongoDB・RayMLなどのクラウドインフラを標的に侵入し、OpenAIやAnthropicのAPIキー、SSHキー、Slackトークンなど多数の認証情報を窃取する。その上、競合するクラウド脅威グループ「TeamPCP」の痕跡を完全消去しながら自らの勢力を拡大するという異例の動作が確認されている。
PCPJackとは何か
PCPJackは、Linuxベースのクラウドシステムを標的とするマルウェアフレームワークだ。SentinelLabsの調査によると、TeamPCPの元アフィリエイトまたはメンバーが独自オペレーションを立ち上げた可能性が高いとされている。
TeamPCPは、AquaセキュリティのTrivyスキャナーやLiteLMM・Telnyx・SAPのnpmパッケージへのサプライチェーン攻撃で知られるクラウド特化型の脅威グループだ。PCPJackはTeamPCPの初期キャンペーン(2025年12月)と類似した手口を使うことから、この関連性が推測されている。
感染経路と動作機構
PCPJackはLinuxシステムに対し、シェルスクリプト「bootstrap.sh」を実行することで感染を開始する。主な動作フローは以下のとおりだ:
- 初期侵入: Docker・Kubernetes・Redis・MongoDB・RayMLなどの露出したサービスをスキャンし、既知の脆弱性を悪用してアクセスを取得
- TeamPCP排除: 侵入直後、競合するTeamPCPのプロセス・サービス・コンテナ・ファイル・永続化アーティファクトをすべて削除
- 環境構築: 隠しワーキングディレクトリの作成、Pythonモジュールのダウンロード、メインオーケストレーター(monitor.py)の起動
- 認証情報窃取: クラウド環境・開発者システム・メッセンジャー・金融サービス等から認証情報を収集
- 横展開: SSHキーとクレデンシャルを使ってネットワーク内の他ホストへ侵入
- 永続化: systemdサービス、cronジョブ、Redis cronリライト、特権コンテナを利用
窃取した認証情報は、X25519 ECDH + ChaCha20-Poly1305で暗号化された後、2,800バイト単位に分割されてTelegramチャンネルへ送信される。
標的となる認証情報・サービス
PCPJackが狙う認証情報の範囲は広い:
- クラウドAPI: OpenAI APIキー、Anthropic APIキー、DigitalOceanトークン
- 開発者ツール: SSHキー、GitHubトークン、Slackトークン
- データベース: MongoDB、Redis
- Webサービス: WordPress設定ファイル、Discord
- インフラ: Kubernetes設定、Dockerデーモン情報
悪用される脆弱性(CVE)
PCPJackが利用する脆弱性は以下のとおり:
CVE 対象 内容
CVE-2025-29927 Next.js ミドルウェアの認証バイパス
CVE-2025-55182 React / Next.js Server Actionsのデシリアライゼーション欠陥
CVE-2026-1357 WPVivid Backup 未認証ファイルアップロード
CVE-2025-9501 W3 Total Cache mfuncコメント経由のPHPインジェクション
CVE-2025-48703 CentOS Web Panel Filemanagerのシェルインジェクション
実務への影響:日本のエンジニア・IT管理者が取るべき行動
即座に確認すべき事項
1. クラウドサービスの露出状況を確認する Docker APIポート(2375/2376)、Redis(6379)、MongoDB(27017)、Kubernetes API(6443)が外部に開放されていないか今すぐ確認する。セキュリティグループやファイアウォールルールを見直すこと。
2. APIキーのローテーションと管理基盤の整備 OpenAI、Anthropic等のAPIキーが環境変数や設定ファイルとして本番環境に平文で置かれている場合、PCPJackの標的になり得る。HashiCorp Vault、Azure Key VaultといったシークレットマネージャーへのAPIキー集約と定期ローテーションを検討したい。
3. 上記CVEのパッチ適用状況を確認する 特にNext.js(CVE-2025-29927、CVE-2025-55182)、WPVivid Backup、W3 Total Cache、CentOS Web Panelを使用している環境では、パッチ適用が急務だ。
4. ログ監視の強化 systemdサービスへの不審な登録、cronジョブの追加、Telegramへのアウトバウンド通信といった異常を検知できるよう、EDRまたはSIEMのアラート設定を確認する。
5. Common Crawlデータを使ったスキャンへの対策 PCPJackはCommon Crawlのparquetファイルからホスト名を取得してスキャン対象を拡大する。自社インフラがインデックスされている可能性を念頭に置き、不要なサービスの露出を排除することが重要だ。
筆者の見解
PCPJackの最も興味深い点は、単なる認証情報窃取にとどまらず「テリトリー争い」の側面を持つことだ。感染と同時に競合マルウェアを完全排除するという動作は、攻撃者側でも稼ぎ場の争奪戦が熾烈化していることを示している。攻撃インフラの「維持コスト」を下げるために邪魔者を追い出すというロジックは、ある意味で合理的であり、今後この種の「排他的マルウェア」が増える可能性がある。
今回の攻撃対象リストを見て改めて痛感するのは、Non-Human Identity(NHI)管理の重要性だ。OpenAIやAnthropicのAPIキーがサーバー上の設定ファイルに転がっているケースは、日本のIT現場でも決して珍しくない。AIツールの普及に伴い、こうした「人間以外のアイデンティティ」が急増しているが、管理の仕組みが追いついていない組織がほとんどだ。NHIの棚卸しと集中管理ができていなければ、自動化を進めるほど攻撃面積が広がるという皮肉な状況になる。
感染の起点が「外部に露出したDocker・Kubernetes・Redis」である点は、ゼロトラストアーキテクチャの必要性を改めて示している。「内部ネットワークにいるから安全」という前提はすでに崩れている。サービスを「とりあえず動いているから」と露出させたまま放置しているインフラは、PCPJackのような自動スキャンツールの格好の標的だ。今動いているから大丈夫、は通用しない。手を動かして修正できることは今すぐやるべきだろう。
出典: この記事は New PCPJack worm steals credentials, cleans TeamPCP infections の内容をもとに、筆者の見解を加えて独自に執筆したものです。