
出典:TippaPatt via Shutterstock
ますます人気が高まっている人工知能(AI)搭載の開発環境カーソルには本質的な脆弱性があり、攻撃者がそのブラウザを乗っ取って認証情報窃取攻撃を仕掛けることができます。この欠陥により、JavaScriptインジェクションによってカーソル独自の制御を回避でき、エージェント型AI支援開発者エコシステム全体への脅威を示しています。
サイバーセキュリティベンダーKnosticの研究者がこの攻撃ベクトルを発見しました。これは、カーソルが開発環境特有の機能に対して整合性チェックを行わないことを悪用するものです。詳細は最近のブログ記事で説明されています。他のコーディング環境、たとえばVisual Studio(VS)Codeなどはこれらのチェックを実施しており、カーソルAI環境にはないセキュリティ層を追加しています。
「この違いにより、カーソルのランタイムコンポーネントは改ざんのリスクが高いターゲットとなります」とKnosticの研究者Dor Munisは投稿で述べています。実際、研究者たちはこれらの新興AI支援開発ツールにさまざまな脆弱性や欠陥を発見しており、ソフトウェア開発サプライチェーンに新たな脅威をもたらしています。
Knosticは、カーソルの内部ブラウザ内のログインページを、認証情報を収集してユーザーをリモートの攻撃者に送信するページに置き換える攻撃でカーソルの脆弱性を実証しました。研究者たちはまた、攻撃者が被害者のワークステーションを侵害できる方法も示しました。
悪用に使われたMCPサーバー
Knosticはモデルコンテキストプロトコル(MCP)サーバーを悪用し、この脆弱性を突いて攻撃者に特権的なアクセス権を与えました。MCPは標準プロトコルインターフェースを使用して、AIアプリケーションに特定の機能を公開するプログラムです。
「MCPサーバーは機能するために広範な権限も必要とするため、MCPサーバーが悪用されると壊滅的な事態となり得ます。コンポーネントが自分自身を変更したり、権限を昇格させたり、ユーザーの目に触れずに新たな機能を獲得できるのです」とMunisは記しています。
研究者たちはカーソルの脆弱性を悪用するため、まず悪意のあるMCPサーバーの概念実証を作成し、MCPサーバーが登録された際に未検証のコードを変更するスクリプトを実装しました。「これにより、任意のコードを注入し、内部ブラウザを乗っ取ることができました」とMunisは説明します。
研究者たちは、ローカルの拡張機能ディレクトリ内にあるカーソルの拡張機能を見つけることでこれを実現しました。これにはproduct.jsonでの権限やチェックサムの再計算は不要でした。次に、document.body.innerHTML = [HTML_PAYLOAD]を割り当て、ページ全体のbodyを書き換え、UIレベルのチェックを回避しました。「これにより、攻撃者が制御するコンテンツがユーザーの目に触れることが保証されました」とMunisは述べています。
次の攻撃段階では、研究者たちはブラウザタブIDを探し、それをペイロードに置き換えて、カーソル内でJavaScriptを実行するコマンドを埋め込みブラウザ内で実行しました。この時点から、カーソルが開くすべてのブラウザタブで悪意のあるコードが実行されるようになったとMunisは述べています。
修正すべき欠陥はないが、攻撃は緩和可能
Knosticはカーソルに研究を公開することを通知しましたが、同社はカーソル開発者が修正すべき欠陥は存在しないと強調しました。むしろ、この攻撃は環境自体の本質的な脆弱性を示しています。「これは[カーソル]の基本的な機能ですが、私たちは通知し、同意を得ました」とKnosticのCEO兼創設者Gadi EvronはDark Readingに語っています。
要点は、カーソル自体や他のAI開発ツールがしばしば本質的に脆弱な形で構築されており、より広範な開発者エコシステムを脅威にさらしているということです。実際、他のセキュリティ研究者も、AI支援開発は現代的な利便性を提供する一方で、まったく新しい攻撃面をもたらすと警告しています。
「エージェントに関連する新たなサプライチェーンリスクは重大であり、組織はその利用状況をほとんど把握できていません」とMunisは記しています。「MCPサーバー、拡張機能、そして単純なプロンプトでさえ、ユーザーの知らないうちにユーザー環境やひいては企業ネットワークでコードを実行できる可能性があります。」
これらの本質的なリスクを緩和するため、これらのツールを利用する開発者は、追加するすべてのMCPや拡張機能を三重に確認し、特定プロジェクトのGitHubリポジトリを見つけてコードを確認するべきです。
「これはあなたのコンピュータにインストールする、何でもできるプログラムです」とMunisは警告しています。「信頼性に疑いがある場合は、絶対に使用しないでください。」
Munisはまた、開発者に「特にMCP機能を、決して盲目的に有効化しない」こと、そして自動実行モードの使用を避けることを推奨しています。AIエージェントをコード生成に利用する際の一般的なルールとして、開発者は埋め込みブラウザでアクションを実行する前にコードを確認し、AIエージェントが生成するものがすべて期待通りだと決めつけないようにすべきだと付け加えています。
翻訳元: https://www.darkreading.com/vulnerabilities-threats/cursor-issue-credential-stealing-attacks