Coderは、ソフトウェアレジストリregistry.coder.comの基盤が侵害され、攻撃者がCloudflareを通じて管理されている基盤に未承認のサーバーを追加できたことを明らかにしました。その結果、一部のダウンロード要求が正規のCoderサーバーではなく攻撃者のサーバーへ転送され、一部のユーザーに悪意のあるTerraformモジュールが配布されました。
Coderの声明によると、悪意のあるファイルが配布された期間は、8月31日07:35から21:45(協定世界時)まででした。改変されたモジュールは、構成ツールの実行環境を標的としており、影響を受けた端末上で実行されると情報窃取ツールとして機能するコードが含まれていました。
どのデータが危険にさらされたのか?
悪意のあるモジュールは、ユーザー環境に存在する広範な秘密情報や認証情報を探していました。これには以下が含まれます。
- Provisionerの環境変数および秘密情報。
- クラウド基盤およびAIツールのAPIキー。
- CI/CDシステムの認証情報。
- 設定ファイルおよび端末の履歴に保存された秘密情報。
- OIDCトークン、設定済みのSSHキー、ならびに外部認証用のワンタイムトークン。
- Provisionerがcoderd内で動作している場合のCoderデータベースのパスワードおよびその他の秘密情報。
収集されたデータは、類似ドメインcoder-infra[.]comに送信されました。Coderは、影響を受けた可能性のあるユーザーに対し、一覧に含まれるすべての秘密情報をできるだけ早くローテーションするよう推奨しています。
確認および対処の手順
修正済みバージョン2.37.0、2.36.4、2.35.7、または2.34.9へアップグレードする前に、Coderはファイアウォール、プロキシ、DNSのログ、およびVPCフローを調査し、悪意のあるドメインへの接続がないか確認するよう求めました。また開発者は、Provisionerのログでdata.external.telemetryを検索し、露出期間中にダウンロードされたモジュールを特定し、改ざんされた可能性のあるパッケージをキャッシュから削除する必要があります。
Coderは、キャッシュされたモジュールと影響を受けた可能性のあるテンプレートのバージョンを特定するためのSQLクエリも提供しました。
なぜこの侵害が重要なのか?
ここでのリスクは、悪意のあるソフトウェアパッケージが公開されたことだけにとどまらず、開発者がワークスペース環境やインフラストラクチャのテンプレートを構築する際に依存する、信頼された配布ポイントにまで及びます。また、モジュールが標的とした秘密情報には、クラウドキー、AIツール、CI/CD環境が含まれており、このインシデントは開発、プラットフォーム、セキュリティの各チームに直接関係します。
Coderは、更新トークンがProvisionerに渡されたことはなく、保持している顧客データが影響を受けた証拠も見つかっていないと述べました。しかし同時に、攻撃者が利用した基盤はCoderの管理外にあるため、重要なログを保有しておらず、侵害されたすべてのデプロイを断定的に特定することはできないと認めています。この空白があるため、情報流出の直接的な証拠が見られない場合でも、秘密情報のローテーションとログの独立した検証は不可欠な対応となります。