Straiker が発見した Cursor AI の脆弱性チェーンにより、攻撃者は悪意のあるリポジトリに隠されたプロンプトを通じて開発者マシンをハイジャックできた可能性があります。
NomShub と呼ばれるこの攻撃チェーンは、コーディングエージェント内の間接的なプロンプトインジェクションとコマンドサンドボックスのバイパスを利用して、ユーザーのマシンにコードを書き込み、Cursor のリモートトンネル機能を悪用してシェルアクセスを取得します。
Straiker によれば、攻撃を仕掛けるには、悪意のあるリポジトリを Cursor で開く以上のユーザーインタラクションは必要ありません。
さらに、悪用される機能は正規の署名および公証されたバイナリであるため、攻撃者は Cursor を悪用して、コーディングエディターがサンドボックス制限なしで実行される macOS システム上で、ファイルシステムへの完全なアクセスとコマンド実行機能を得ることができます。
Straiker によると、すべてのトラフィックが Microsoft Azure インフラストラクチャを通じて流れるため、ネットワークレベルで攻撃を検出することはほぼ不可能です。
サイバーセキュリティ企業によれば、問題は Cursor のエージェント実行シェルコマンドに対する保護がシェル内で実行されるもの (シェルビルトイン) をカバーしていなかったため、パーサーは作業ディレクトリの変更、操作された環境変数、および変更されたシェル実行コンテキストに対して盲目のままでした。
macOS seatbelt サンドボックスがホームディレクトリへの書き込みを許可しているため、ビルトインはサンドボックスを脱出し、ターミナルウィンドウ、アプリケーションが生成したシェル、呼び出しスクリプト、Cursor ターミナルを含む、すべての新しい Zsh シェルインスタンスによって実行される .zshenv ファイルを上書きするために使用できました。
攻撃者はリポジトリの README.md ファイルにプロンプトを注入し、ユーザーを騙してリポジトリを Cursor で開かせることができます。AI が README を読むと、注入された指示に従い、サンドボックスの脱出を実行し、トンネル悪用スクリプトを実行します。
Cursor の組み込みトンネルを悪用して被害者のシステムへのリモートアクセスを取得するために、攻撃者はエージェントにデバイスコードを生成して攻撃者のサーバーに送信するよう指示します。このコードはトンネルを通じて認証された GitHub セッションを認可するために必要です。
「攻撃者の GitHub アカウントは被害者のトンネルにアクセスするための認可を得ました。トンネル登録データ (トンネル ID、クラスタ) と組み合わせて、攻撃者はいつでも接続できます」と Straiker は述べています。
プロセスが実行し続ける限り、GitHub の認可が取り消されず、トンネル登録が削除されない限り、攻撃者はマシンへの永続的なアクセスを持ちます。
Straiker は 1月に攻撃チェーンを発見し、2月初旬に Cursor に報告しました。修正は Cursor 3.0 に含まれました。
翻訳元: https://www.securityweek.com/cursor-ai-vulnerability-exposed-developer-devices/