新ツールの重大な脆弱性により、攻撃者が信頼できないリポジトリで作業する開発者から自由にデータを盗むことが可能になる可能性。
リリースからわずか1か月足らずで、セキュリティ研究者はGoogleのGeminiコマンドラインインターフェース(CLI)AIエージェントにプロンプトインジェクションの脆弱性を発見しました。この脆弱性は、不注意な開発者から認証情報やAPIキーなどの機密データを盗み出すために悪用される可能性があります。
Gemini CLIは、GoogleのLLMをPowerShellやBashなどの従来のコマンドラインツールと統合します。これにより、開発者は自然言語のプロンプトを使って、コードの解析やデバッグ、ドキュメント生成、新しいリポジトリ(「リポ」)の理解などの作業を迅速化できます。
しかし、6月25日のリリースからわずか2日後、英国のクラウド脅威検出ベンダーTracebitは、開発者が未検証のオープンソースリポジトリを初めて調査する際に遭遇する可能性のある、同ソフトウェアの最初のセキュリティ上の弱点を発見しました。
実証実験では、悪意のあるプロンプトが、ごく普通のオープンソースリポジトリに含まれるような無害に見えるREADME.md GNU Public Licenseファイルを使って配信されました。
研究者たちはさらに、複数の小さな弱点が組み合わさることで、ユーザーが気付かないうちに悪意のあるシェルコマンドを実行できることを突き止めました。
許可リストの悪用
最初の弱点は、Gemini CLIが頻繁に使うコマンド(例:grep)をユーザーが許可リストに登録できる点です。これにより、毎回「このコマンドを許可しますか?」という再プロンプトを避けられます。一見便利ですが、Gemini CLIの許可リスト機能は正規のgrepと、grepを装った悪意のあるコマンドを区別できませんでした。
最小限の検証しか行われていなかったため、攻撃者は再プロンプトなしで好きな悪意のあるコマンドを実行できてしまいます。
「[これには] grepコマンドの後に、ユーザーの環境変数(秘密情報を含む可能性あり)を静かにリモートサーバーへ流出させるコマンドを続けることも含まれます。悪意のあるコマンドは何でも可能です(リモートシェルのインストール、ファイルの削除など)」とTracebitのSam Cox氏は述べています。
確かに、コマンドは再プロンプトなしで実行されますが、CLI上で実行されているのをユーザーが気付くのでは?もしそうなら、コマンドが成功しても攻撃者が露見することになります。
残念ながら、Tracebitは、コマンドラインに空白文字を詰め込むことで、Gemini CLI上で悪意のあるコマンドをユーザーの視界から隠せることを発見しました。
「プロンプトインジェクション、リスクの高いコマンドを表面化しない不十分なUX設計、リスクの高いコマンドに対する不十分な検証。この組み合わせが重大かつ検出困難な影響をもたらします」とCox氏は述べています。
同じ攻撃は競合ツールでは失敗しました。「他のAIコードツールでこの攻撃を試みたところ、複数の保護層があり、不可能でした」とTracebitは報告しています。
開発者は要注意
AIツールは、面倒で時間のかかる作業を高速化・自動化するためのものです。しかし、プロンプトインジェクション攻撃者にとっても同じことが言えます。Tracebitが記録したエクスプロイトは、現実的な条件下で攻撃者が悪用できるであろう合理的な前提に基づいています。一方、さまざまな文脈やツールでプロンプトインジェクションの脆弱性を探す動きはすでに始まっています。
要するに、Tracebitが発見した脆弱性はGemini CLIで最初のものですが、おそらく最後ではありません。これらの脆弱性はGoogleによって高深刻度(V1)、優先度高(P1)として分類され、Gemini CLI v0.1.14(7月25日リリース)で修正されました。これが今になって公表されている理由です。
Gemini CLIの修正版へアップデートする以外にも、最善のアドバイスは常にツールをサンドボックスモードで実行し、ホストシステムから隔離することです。GoogleがTracebitに送った開示への対応も、この点を強調しています:
「CLIのセキュリティモデルは、堅牢で多層的なサンドボックス化の提供に重点を置いています。Docker、Podman、macOS Seatbeltとの統合を提供し、Gemini CLIが自動的に利用できる事前構築済みコンテナも用意しています」とGoogleの脆弱性開示プログラム(VDP)チームはTracebitに伝えました。「サンドボックス化を利用しないユーザーには、セッション中常に赤字で警告を表示し、この点を強調しています。」
ニュースレターを購読する
編集部からあなたの受信箱へ
まずは下記にメールアドレスを入力してください。