「公式Dockerイメージって本当に信頼していいの?」
「VS Code拡張から認証情報が抜かれるって、開発者は何を守ればいい?」
ボス、CheckmarxのKICS公式Dockerが改ざんされて、VS Code拡張まで悪意あるバージョンが配られたんでしゅ!開発環境ごとアウトでしゅ…
うむ。攻撃グループTeamPCPの仕業とされていて、TrivyやLiteLLMでも同様の手口を見せている。「公式リポジトリ=安全」の前提が崩れた事件だな。
本記事では、Checkmarx KICSのDockerイメージとVS Code拡張で発覚したサプライチェーン攻撃の経緯と、開発組織が即時取るべき対策を整理します。
- checkmarx/kicsの既存タグ(v2.1.20、alpine等)が悪意ある内容で上書き
- VS Code拡張1.17.0/1.19.0がBun経由で外部スクリプトを実行
- GitHubトークン・クラウド認証情報などの即時ローテーションが必須
続きを読めば、サプライチェーン攻撃の全体像と、影響を受けた組織が取るべき復旧手順が分かります。
目次
Checkmarx KICS改ざん事件の概要
Docker HubとVS Code Marketplaceの双方で発覚した、攻撃グループTeamPCPによる典型的なサプライチェーン侵害です。
Docker Hub上で何が起きたのか
BleepingComputerの報道によれば、攻撃者は公式の「checkmarx/kics」リポジトリで既存タグv2.1.20とalpineを上書きし、新規タグv2.1.21まで追加しました。
危険な期間は2026年4月22日14:17:59 UTCから15:41:31 UTCの約1時間半に及びます。
改ざんされたイメージにはGo製ELFバイナリ「kics」が同梱され、機密データを集めてC2サーバーへ送信する機能が組み込まれていました。
1時間半の間にCIで自動pullした人は、確実にやられてるでしゅね…
そうだ。CIは24時間動いている前提だから、短時間でも被害は広範囲だ。今すぐビルドログをさかのぼって確認すべきだな。
VS Code拡張で起きたこと
同時にCheckmarxのVS Code拡張1.17.0と1.19.0が悪用され、Bunランタイム経由で外部GitHub URLからJavaScriptを取得・実行する仕組みが仕込まれていました。
ユーザー同意も整合性検証もないため、IDEを開いた瞬間に裏で外部コードが走る危険な構造です。
標的にされたとみられる主な認証情報は以下の通りです。
- GitHubトークン、npmトークン
- クラウドプロバイダのアクセスキー
- SSH秘密鍵、CI/CDシークレット
影響を受けた組織が取るべき対応
影響範囲が広いため、確認と認証情報のローテーションを並行して進める必要があります。
即時取るべきインシデント対応
まずは該当するDockerイメージとVS Code拡張を開発端末・ビルド環境から完全削除します。
その上で、ビルドログを4月22日14時〜16時 UTCで集中レビューし、影響を受けた可能性のあるパイプラインを洗い出してください。
順序立てて進めるべきステップは以下の通りです。
STEP
影響アーティファクトの特定と削除
checkmarx/kics:v2.1.20、alpine、v2.1.21を含むコンテナレジストリを掃除し、VS Code拡張1.17.0/1.19.0をアンインストールします。
STEP
資格情報のローテーション
GitHubトークン、npmトークン、クラウド認証情報、SSH鍵、CI/CDシークレットを全て再発行し、旧トークンを失効させます。
STEP
監査ログのレビュー
該当時間帯のCIビルド、クラウドAPI呼び出し、Gitアクセスを集中レビューし、不審な挙動が無いかを確認します。
恒久対策としてのSBOMとイメージ署名
「公式タグだから安全」を前提にした運用は限界に来ています。
SBOM管理とイメージ署名(Sigstore/Cosign)でビルド時の真正性を機械的に検証する仕組みが必要です。
導入したい仕組みは以下の通りです。
- Dockerイメージはタグ参照ではなくダイジェスト固定でPull
- Cosign署名検証をCIに組み込み、未署名イメージを拒否
- SBOMで依存関係の改ざんを継続監視
- VS Code拡張の自動更新を組織ポリシーで制御
うちはCIでlatestタグ普通に使ってるでしゅ…
それは典型的な弱点だな。今回を機にダイジェスト固定へ切り替えるべきだ。
まとめ
Checkmarx KICS事件は、公式リポジトリの信頼性に依存した運用が現実的に成立しないことを示しました。
影響を受けた組織は資格情報の即時ローテーションと、ダイジェスト固定・署名検証を組み合わせた恒久対策へ舵を切る必要があります。
明日朝イチでCIのpullログを見直しますでしゅ…
ふふふ、その動きが正解だ。最初の1時間で取れる行動が、被害の桁を変える。