ハッカーがCoderのモジュールレジストリを乗っ取り、認証情報を窃取する悪意あるパッケージを配布

Coderは、身元不明の脅威アクターが同社の公式モジュールレジストリのトラフィックの一部を、攻撃者が制御するインフラへリダイレクトするという、重大なソフトウェアサプライチェーンインシデントを報告しました。

これにより、認証情報を窃取することを目的とした改ざん済みTerraformモジュールが一時的に配布される事態となりました。

このインシデントは、2026年8月31日07:35 UTCから21:45 UTCの間、レジストリ registry.coder.com に影響を及ぼしました。

Coderによると、攻撃者は同社のCloudflareインフラへのアクセス権を、おそらく漏洩したAPIキー経由で取得し、レジストリのオリジンプールに不正なIPアドレスを追加できる状態にしていたとのことです。

その結果、一部のユーザーリクエストは、Coderが管理するインフラではなく、不正なサーバーへ転送されていました。

配布された悪意あるTerraformモジュール

攻撃者が制御するレジストリでは、認証情報を収集する目的のコードが仕込まれた、改ざん版のCoderアーティファクトがホストされていました。

これらの悪意あるモジュールは、Terraformのプロビジョニング環境内にある機密情報を探し出し、正規のCoderインフラを装ったなりすましドメインである coder-infra[.]com へ外部送信するよう作り込まれていました。

Coderは、悪意あるIPアドレスの除去、キャッシュのクリアを実施し、現在はレジストリがクリーンな状態になっていることを確認したとしています。

今回の攻撃は、信頼されたソフトウェア配布チャネルに対する影響の大きい侵害といえます。被害者に不審な提供元からパッケージをダウンロードさせる必要がある通常の手口とは異なり、脅威アクターはCoderのワークスペーステンプレートで一般的に使用される公式レジストリドメインを悪用しました。

その結果、影響を受けたデプロイメントでは、特にTerraformモジュールのキャッシュが無効化されている場合、通常のテンプレートインポート、更新、ドライラン、あるいはワークスペースのプロビジョニング処理中に、意図せず悪意あるモジュールを取得してしまう可能性がありました。

Coderのアドバイザリによると、悪意あるアーティファクトには`dlp.sh`と`dlp-docker.sh`という名前のファイルが含まれていました。注入されたTerraformコードは、外部データソースブロックである data.external.telemetry を利用して`dlp-docker.sh`を呼び出し、プロビジョニングのワークフロー中にペイロードを実行できるようにしていました。

MasterCoding Skills

被害の程度は、侵害されたモジュールがいつ実行されたかによって異なります。テンプレートのアップロード、更新、ドライランの際には、プロビジョナーがプロビジョナーホスト上でローカルに利用可能な環境変数やシークレットを誤って外部に露出させてしまう可能性がありました。

これには、クラウドAPIキー、AIツール用の認証情報、CI/CDトークン、設定ファイルに保存されたシークレット、ターミナル履歴に保存された機密性の高いコマンドなどが含まれる場合があります。

ワークスペースのビルドでは、プロビジョナーに追加のユーザー紐付けシークレットが渡される可能性があるため、リスクはさらに大きくなります。Coderは、ユーザーのOIDCトークン、設定済みSSHキー、ワンタイムの外部認証トークンなど、露出した可能性のあるデータを特定していますが、リフレッシュトークンは含まれていなかったとしています。

プロビジョナーを個別のサービスとしてではなく`coderd`プロセス内で稼働させているデプロイメントでは、Coderの設定変数やデータベースパスワードも露出していた可能性があります。

Coderは、同社が直接管理する顧客データが侵害された証拠はないとしています。しかし、悪意あるサーバーが影響を受けた顧客のデプロイメントと直接通信していたため、どの組織が影響を受けたかを確定的に特定することはできないとのことです。

侵害の痕跡(IoC)

セキュリティチームは、以下の指標に関連する送信通信を調査する必要があります。

指標の種類
情報流出先ドメイン coder-infra[.]com
関連サブドメイン www[.]coder-infra[.]com
悪意あるIPアドレス 199.91.220[.]205
観測されたURL http://www[.]coder-infra[.]com/cli/check
HTTPヘッダー X-CLI-Token: your-secret-token

注: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化表記(例: [.])にしてあります。再変換(re-fang)は、MISP、VirusTotal、あるいは自社のSIEMなど、管理されたスレットインテリジェンス基盤上でのみ行ってください。

この不正ドメインは、レジストリ侵害のわずか数日前にあたる8月28日に登録されたと報告されています。

Coderの公開モジュールレジストリを利用している組織は、ファイアウォール、DNS、プロキシ、VPCフローログを確認し、coder-infra[.]comへの接続がないか点検する必要があります。

また、特定された期間中に作成されたCoderのテンプレートおよびワークスペースのビルド(テンプレートのインポートやドライランジョブを含む)についても、点検する必要があります。

Coderは、パッチ適用済みのバージョン2.37.0、2.36.4、2.35.7、2.34.9をリリース済みです。管理者は、アップグレードを行う前に、影響を受けた可能性のあるキャッシュ済みTerraformモジュールをクリアしておく必要があります。単にアップデートするだけでは、デプロイメントのキャッシュ内に残った悪意あるアーティファクトは除去されません。

最後に、各チームは、露出したプロビジョナーがアクセス可能だったすべての認証情報をローテーションすべきです。特に、クラウドアクセスキー、CI/CDシークレット、AIプラットフォームのAPIトークン、データベースパスワード、SSHキー、IDトークンを優先的に対応する必要があります。

サプライチェーンインシデントにおいては、たとえ不審な送信通信が直ちに検知されなかったとしても、悪意あるモジュールがアクセスできたシークレットはすべて侵害された可能性があると想定することが重要です。

アクティブなマルウェアやフィッシングの出現から24時間以内にSOCを最新の状態に保ちましょう。 早期検知でインシデントを防ぐANY.RUNをお試しください。 

翻訳元: https://gbhackers.com/hackers-hijack-coder-module-registry/

本記事は gbhackers.com の記事を翻訳・要約したものです。