テック技報最新号へ →
セキュリティ

公開済みリリースの配布物を差し替えさせない(ovhcloud-cli 事例と Immutable Releases)

ソースコードもビルド工程も無傷のまま、GitHub の公開済みリリースのバイナリーだけが情報窃取型に差し替えられた。リポジトリーの「公開済みリリースの変更を禁止する」設定を有効にし、利用者はハッシュや署名で照合する。

@MalwareBibleJP · 2026-10-25
#supply-chain#github#release#provenance#infostealer

何が起きたか

  • OVHcloud の公式 CLI ovhcloud-cli で、v0.11.0〜v0.15.0 の配布ファイルが日本時間 10 月 19 日 21:47〜23:21 の間だけ差し替えられた。
  • 起点は開発者の私物 Mac に入った不正な拡張機能 color-picker-universal 2.8.91。そこから盗まれた認証情報で、リリースの資産が置き換えられた。
  • 公開済みリリースの変更を禁止する設定は無効だった。事後に組織内の全リポジトリーで有効化された。
  • 差し替え版は、クラウドの認証情報、SSH 鍵、Docker・Kubernetes の設定、VS Code・Cursor のローカルデータ、AI コーディング支援ツールの履歴・設定を盗む。

配布する側の対策

  1. Immutable Releases を有効にする。 GitHub の組織またはリポジトリーの設定で、公開後のリリースの資産とタグを変更・削除できないようにする。漏れを防ぐため、組織単位で全リポジトリーに適用する。
  2. ビルド来歴(provenance)を付ける。 actions/attest-build-provenance などで成果物に署名付きの来歴を付け、CI 以外の場所で作られたファイルを見分けられるようにする。
  3. リリース権限を持つ認証情報を個人端末に置かない。 リリースは CI から短命のトークンで行い、人の端末の長期トークンでは資産をアップロードできないようにする。
  4. 私物端末を業務の認証に使わせない。 拡張機能の導入を管理できない端末に、組織の GitHub 権限を持たせない。

利用する側の対策

  • ダウンロードしたバイナリーは、公式が出すハッシュ値や gh attestation verify で照合してから実行する。
  • 今回の該当期間に取得して実行した場合は、端末内の対象となる秘密情報を漏れたものとして失効・変更し、不正なバイナリーを消して v0.16.0 以降へ更新する。判定は実行せずハッシュ値で行う。

注意点

出典

X の元の投稿を開く