「pullしただけ」で認証情報が盗まれる?Terraformモジュールのサプライチェーン攻撃に学ぶこと

2026年9月7日月曜日

t f B! P L

📖 推定読了時間:約6分

「いつも通りTerraformでモジュールをpullしただけなのに、まさか認証情報が盗まれているかもしれない」——2026年8月末、そんな事態を引き起こしかねないインシデントが海外で報告されました。自己ホスト型の開発環境基盤ツール「Coder」のモジュールレジストリが侵害され、悪意のあるTerraformモジュールが一定時間配布されていたのです。この記事では、何が起きたのか、そしてIaC(Infrastructure as Code)を使う私たちが学ぶべき点を整理します。

この記事のポイント

  • Coderのレジストリインフラが侵害された経緯と影響範囲
  • 悪意のあるモジュールが狙っていた具体的な情報
  • Terraformのロックファイルが抱える構造的な弱点
  • Coderが提示している対応策と、影響確認の方法
  • IaCのサプライチェーンを守るために意識したいこと

「レジストリからpullする」という、当たり前の行為が狙われた

Coderは、開発者にセルフホスト型のクラウド開発環境を提供するためのプラットフォームで、Dropboxや米国政府機関を含む企業・組織で利用されています。開発者はワークスペースを構築する際、Coderが公開しているレジストリ(registry.coder.com)からTerraformモジュールを取得して利用します。

ところが2026年8月31日、このレジストリを配信しているCloudflare側のインフラが何者かに侵害され、正規のモジュールの代わりに、改ざんされたモジュールが一部のユーザーに配信されるという事態が発生しました。攻撃者はCloudflareの管理用APIキーを不正に入手し、レジストリの配信プールに攻撃者自身のサーバーを紛れ込ませていたとされています。

何が盗まれる可能性があったのか

今回配布された悪意のあるモジュールは、感染したホスト上でAWS・GCP・Azureといったクラウドの認証情報や、SSHキー、CI/CDのシークレットなどを探し出し、外部のサーバーへ送信するよう作られていたと報告されています。侵害されていた時間は2026年8月31日07:35から21:45(UTC)までの約14時間とされています。

Coder自体のソースコードやGoogle Cloud上のインフラそのものは侵害されていないと説明されていますが、攻撃者側のサーバーに関するログはCoderの管理外にあるため、どの利用者がどこまで影響を受けたのかを完全には特定できないとしている点には注意が必要です。

「バージョンを固定していたから安心」とは言い切れない理由

Terraformを使い慣れている方なら、「モジュールのバージョンをきちんと固定していれば安全では」と思うかもしれません。しかし今回の件は、まさにその前提を揺るがすものでした。

Terraformには`.terraform.lock.hcl`というロックファイルがあり、プロバイダの選定内容と暗号学的なハッシュ値を記録しています。ところが、リモートのモジュールについては、このロックファイルによる検証の対象外だとされています。つまり、バージョン番号を固定していても、そのバージョン番号に紐づく中身が本物かどうかまでは、Terraform自身の仕組みでは検証できないのです。

今回のように配信経路(レジストリ)そのものが侵害された場合、この「バージョンは合っているが中身は別物」という状況が現実に起こり得ることが示された形です。

項目 内容
発生日時(UTC) 2026年8月31日 07:35〜21:45(約14時間)
侵害された経路 registry.coder.com(Cloudflare配信インフラ)
狙われた情報 クラウド認証情報、SSHキー、CI/CDのシークレット等
パッチ済みバージョン 2.37.0 / 2.36.4 / 2.35.7 / 2.34.9

表の日時に該当する時間帯にモジュールを取得している場合は、まず影響の有無を確認するところから始める必要があります。

もし影響があるかもしれないと思ったら、何をすればいい?

Coderは今回の件を受けて、影響の可能性があるユーザー向けに具体的な対応手順を公開しています。まず自分の環境が対象かどうかを落ち着いて確認することが大切です。

  • Coderのバージョンを2.37.0/2.36.4/2.35.7/2.34.9のいずれかへアップデートする
  • ⚠️該当時間帯にキャッシュされたモジュール・テンプレートバージョンを確認し、疑わしいものは削除する
  • 👍プロビジョナーのログに「coder-infra」宛の通信や「data.external.telemetry」の記録がないか確認する

もし少しでも心当たりがある場合は、クラウドの認証情報やCI/CDのシークレットなど、провizioning処理中に扱われた可能性のある認証情報は、念のためローテーション(再発行)しておくことが推奨されます。「たぶん大丈夫だろう」で済ませず、確認できる範囲はきちんと洗い出しておく方が安心です。

IaCのサプライチェーンは、これからも狙われ続ける

ソフトウェアのパッケージレジストリ(npmやPyPIなど)を狙ったサプライチェーン攻撃は以前から報告されてきましたが、今回のようにインフラ構築そのものを担うIaCのモジュールレジストリが狙われるケースは、開発チームにとって新しい警戒対象と言えます。Terraformモジュールは、クラウド環境の構築プロセスの早い段階で実行されるため、そこに悪意あるコードが紛れ込むと、認証情報の窃取からその後の環境全体への影響まで、被害が連鎖しやすいという特徴があります。

💬

バージョン管理さえしっかりしていれば安全、という感覚は、今回のような配信経路そのものの侵害には通用しない場合がある、と改めて感じさせられる事例でした。

ふだんからGitやTerraformを使ってインフラをコード管理している方は、この機会にGitHub・Git実践入門書籍でバージョン管理やレビュー体制の基礎を見直しておくのもよいでしょう。また、こうしたサプライチェーン攻撃全般への理解を深めたい方は、情報セキュリティ入門書籍で攻撃の全体像を体系的に押さえておくと、今後似たような事案が起きた際にも落ち着いて対応しやすくなります。

なお、本記事の内容は2026年9月時点で公開されている情報をもとにしています。影響範囲や推奨対応は今後アップデートされる可能性があるため、実際の対応にあたってはCoder公式のセキュリティ情報も合わせてご確認ください。

まとめ

今回のCoder registry侵害事件は、Terraformモジュールの中身そのものではなく、それを配信する「経路」が乗っ取られたという点で、これまでのサプライチェーン攻撃とは少し違った教訓を残しました。バージョンを固定していても、配信元が侵害されればその前提は崩れうる——この事実は、IaCを日常的に使うすべての開発者が意識しておく価値があります。

該当時間帯にCoderのモジュールを取得した心当たりがある方は、まずバージョンのアップデートとログの確認から始めてみてください。そのうえで、認証情報のローテーションなど、できる範囲の備えを一つずつ進めていきましょう。

このブログを検索

このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
Amazonのアソシエイトとして、「色即是空」な「空即是色」blogは適格販売により収入を得ています。