「開いたら最後」AIエージェントやIDEの設定ファイルを悪用した新手のサプライチェーン攻撃『Miasma』の脅威
📰 ニュース概要
- 設定ファイルによる自動実行の悪用: リポジトリ内の設定ファイル(.claude/settings.json等)にシェルコマンドを埋め込み、開発者がフォルダを開いた瞬間にコードを実行させる攻撃が確認された。
- 広範な標的ツール: VS Code、Cursor、Claude Code、Gemini CLI、npmなど、主要な開発ツールやAIエージェントの「セッション開始フック」や「タスク自動実行」機能が標的となっている。
- Miasmaワームの拡散: すでに121のリポジトリが影響を受けており、約4.3MBの難読化されたドロッパー(.github/setup.js)を通じてAWSやGitHub、Kubernetesなどの秘密情報が窃取・流出している。
💡 重要なポイント
- 「信頼の確認」を突破する手法: 開発者が深く考えずに「ワークスペースを信頼する」をクリックする心理を突き、その後の自動実行プロセスで悪意あるコードを走らせる。
- AIエージェントへの命令埋め込み: Cursorのプロジェクトルール(.cursor/rules/setup.mdc)に「環境セットアップのためにこのコードを実行せよ」というプロンプトインジェクションを仕込む手法が具体的かつ巧妙。
- 高度な難読化と検知回避: ドロッパーはGitHubのコード検索にインデックスされないサイズに調整され、Caesar暗号とAES暗号の二段構えでペイロードを保護している。
🦈 サメの眼(キュレーターの視点)
「設定ファイル=ただのメタデータ」という常識が、今や最大の弱点になっているんだサメ!特にAIエージェント向けの「SessionStart」フックなんて、便利さと引き換えに攻撃者に裏口を全開にしているようなものだサメ!
このニュースの凄さは、攻撃者が**「開発者のワークフローそのもの」をハックしている**点だサメ。.github/setup.jsという一見正規のセットアップ用に見える巨大ファイルを用意し、小さな設定ファイルたちから一斉にそれを呼び出す構造は、非常に計画的で回避が難しいサメ。 diff(コード差分)を見ても「あ、セットアップの設定を追加したんだな」と見逃されがちな部分を突く、極めてキレ味の鋭い攻撃だサメ!
🚀 これからどうなる?
今後、AIエージェントやエディタのベンダーは、設定ファイル内のシェルコマンド実行に対して、より厳格なサンドボックス化や「実行前の全コマンド明示」を強制せざるを得なくなるだろう。リポジトリを「開く」という行為自体のリスクが再定義される時代が来るサメ。
💬 はるサメ視点の一言
便利すぎる機能には牙がある!知らないリポジトリをいきなりメイン環境で開くのは、サメの群れに飛び込むようなものだサメ!まずは隔離環境(Dev Container等)で様子を見るのが鉄則だサメ!
📚 用語解説
-
サプライチェーン攻撃: ソフトウェアの開発・配布プロセス(供給網)の脆弱な部分を攻撃し、その利用者全体に被害を広げる手法。
-
プロンプトインジェクション: AIモデルに対する指示に悪意ある命令を紛れ込ませ、意図しない操作を実行させる攻撃。今回は設定ファイル経由でAIエージェントに指示を与えている。
-
ドロッパー: コンピュータに侵入後、さらに別のウイルスやマルウェアをダウンロード・インストールするための「運び屋」となるプログラム。
-
情報元: Config Files That Run Code: Supply Chain Security Blindspot