AIを搭載したコードエディターに存在する脆弱性チェーンが、自律型の開発者向けツールをユーザーに牙をむく存在へと変えられる危険性に警鐘を鳴らしている。
「NomShub」と呼ばれるこの脆弱性を悪用すると、攻撃者は開発者を悪意あるリポジトリの開封に誘導するだけで、永続的なシェルアクセスを取得できる。従来型のエクスプロイトは必要ない。
「AIエージェントがシェルコマンドを実行し、プロセスを管理し、認証システムとやり取りできる場合、プロンプトインジェクションの成功はリモートコード実行と同等になる」とStraikerの研究者は述べたブログ記事で。
NomShub攻撃チェーンの内部
NomShubの脆弱性チェーンは、セキュリティプログラムにおける見過ごされがちな盲点を浮き彫りにしている。AI支援型の開発ツールは、信頼された自動化と信頼できない入力の境界を曖昧にし、公開リポジトリなど外部ソースからの命令を実行することで攻撃対象領域を広げている。
このモデルでは、コードを単に閲覧するだけで実質的にコードを実行することになり、AI主導のワークフローに対する暗黙の信頼を攻撃者が悪用する新たな機会が生まれる。
Cursor AIコードエディターで特定されたこの問題は、複数の弱点を連鎖させてシステム全体を侵害できることを示している。
NomShubは、間接的なプロンプトインジェクション、コマンドパーサーのサンドボックス脱出、正規のリモートトンネリング機能の悪用を組み合わせている。
この攻撃が特に危険なのは、その単純さにある。必要なのは、悪意あるリポジトリを開き、通常どおりAIアシスタントを操作することだけだ。
NomShub攻撃の始まり方
攻撃は、AIエージェントがリポジトリのコンテンツを処理する仕組みを突くことから始まる。
脅威アクターは、一見無害に見えるファイルに悪意ある命令を埋め込む。多くの場合、セットアップ用のドキュメントを装っている。
開発者がAIアシスタントに支援を求めると、エージェントはこのコンテンツを取り込み、通常のワークフローの一環として埋め込まれたコマンドを実行する。これにより、AIは実質的に攻撃者が制御する入力の実行レイヤーとなる。
コマンドパーサーの欠陥を突いたサンドボックス脱出
そこから攻撃は、Cursorのコマンドパーサーの欠陥を通じてエスカレートする。
安全でないコマンドをブロックするよう設計されているものの、パーサーはexportやcdなど、外部バイナリとして現れないシェル組み込みコマンドを適切に考慮できていない。
攻撃者は、これらの組み込みコマンドを一見無害なコマンドと連鎖させることで制限を回避し、ユーザーのホームディレクトリ内にある機密性の高い場所へ書き込める。
macOSではこのような書き込みがデフォルトで許可されるため、サンドボックス保護が機能しなくなり、確実な脱出が可能になる。
トンネリングによる永続化とリモートアクセス
サンドボックスを回避すると、攻撃者は~/.zshenvなどのシェル初期化ファイルを改変して永続化を確立し、新しいセッションが開始されるたびに悪意あるコードが実行されるようにする。
続いて攻撃者はCursorのリモートトンネル機能を利用し、Azureのインフラを介してHTTPS経由で認証情報を外部へ持ち出すとともにアクセスを維持する。これにより通常のトラフィックに紛れ込ませることができ、検出は困難になる。
NomShubは最終的に、プロンプトインジェクションからサンドボックス脱出、永続化、リモートアクセスへと進む多段階の攻撃チェーンである。その過程では、cursor-tunnelのような信頼された署名付きバイナリを悪用するLiving off the Land(環境寄生型)攻撃手法に依存している。
このAIエージェントは通常の動作を装ってこれらの手順を自律的に実行するため、攻撃に必要なユーザー操作は最小限で済む一方、被害が及ぶ可能性は高まる。
AIリスクを低減する方法
AI搭載の開発ツールが日常のワークフローにますます組み込まれる中、組織はこうした環境におけるセキュリティへの取り組み方を見直す必要がある。
信頼できない入力を解釈して行動できる自律型エージェントがもたらすリスクに対して、従来の対策だけでは不十分なことが多い。
NomShubの脆弱性は、開発者の行動、システムの強化、ネットワーク制御にまたがる多層防御戦略の必要性を示している。
- すべてのリポジトリとAIが取り込むコンテンツを信頼できない入力として扱い、高リスクなエージェントの操作については、実行前に人間による明示的な承認を必須とする
- 権限を制限してAIエージェントの機能を絞り込み、コンテキストを分離し、リモートトンネリングなど不要な機能を無効にする
- 最小権限の原則を用いて開発環境を強化し、アプリケーションの許可リスト化や、.zshenvおよび.bashrcなどのシェル初期化ファイルを保護する。
- 一時的な、またはコンテナ化された開発環境を使用し、永続化を防ぐとともに、侵害されたセッションの影響を抑える
- 強力な監視と検知を実装し、行動分析によってAI主導のアクションを監視するとともに、異常なプロセスや外向き接続を調査する
- ネットワークとアイデンティティーの制御を徹底し、送信トラフィックのフィルタリング、条件付きアクセス、短期間だけ有効な認証情報などを導入して、不正なリモートアクセスと認証情報の漏えいを抑える
- インシデント対応計画をテストし、攻撃シミュレーションソリューションを、プロンプトインジェクション、安全でないAI生成命令、その他のAI悪用シナリオを想定したシナリオとともに利用する。
これらの対策を組み合わせることで、組織は新たなAI主導の脅威に対するレジリエンスを高めながら、さらされるリスクを低減できる。
AIが攻撃対象領域を拡大
NomShubは、攻撃者が従来のソフトウェア脆弱性に加えて自動化レイヤーも標的にするという、より広範な変化を浮き彫りにしている。
AIツールが開発ワークフローにより深く統合されるにつれ、特に自動化システムが信頼できない入力に基づいて行動できる場合、新たなリスクが生じる。
この傾向は、継続するサプライチェーン攻撃やLiving off the Land(LOTL)活動とも一致する。こうした活動では、攻撃者は容易に検出されるマルウェアを展開するのではなく、正規のツールやインフラに依存する。
その結果、組織は信頼境界を見直し、AI主導のツールが命令を解釈して実行する方法に対する制御を強化する必要がある。
継続的に検証するゼロトラストソリューションを導入する。ユーザー、ツール、アクションを常に検証し、開発環境内のいかなるコンポーネントも本質的に安全だと決めつけない。

