Flaw in Gemini CLI AI coding assistant allowed stealthy code execution
2025/07/28 BleepingComputer — Google の Gemini CLI に、脆弱性が発見された。この脆弱性を悪用する攻撃者は、許可リストに登録されたプログラムを利用して悪意のコマンドを秘密裏に実行し、開発者のコンピュータからデータを窃取することが可能であったという。6月27日に、この脆弱性を発見した Tracebit が Google に報告した。それを受けた Google は、7月25日にバージョン 0.1.14 をリリースし、この問題を修正した。

2025年6月25日にリリースされた Gemini CLI は、Google が開発したコマンド・ライン・インターフェイス (CLI) ツールであり、ターミナルを介した Google Gemini AI とのダイレクトな対話を、開発者に提供するものだ。
このツールは、プロジェクト・ファイルを “context” として読み込み、自然言語による LLM との対話を実現することで、コーディング関連の作業を支援していく。
なお、このツールは、ユーザーへのイニシャル・プロンプトの提示、もしくは、許可リスト・メカニズムを用いることで、リコメンデーションの生成/コードの記述に加えて、ローカル・コマンドの実行も可能とする。
Gemini CLI のリリース直後に調査を実施した Tracebit の研究者たちは、このツールが悪意のコマンドを実行するよう誘導され得ることを発見した。それらの悪意のコマンドと、UX の脆弱性が組み合わされると、検出が困難なコード実行攻撃へと発展する可能性があるという。
このエクスプロイトは、Gemini CLI による “context” ファイルの処理を、すなわち “README.md” および “GEMINI.md” ファイルの処理を悪用するものだ。これらのファイルは、コードベースの理解補助を目的として、プロンプトに読み込まれていく。
Tracebit が確認したのは、これらのファイル内に悪意の命令を隠蔽して、プロンプト・インジェクションを実行できることだ。さらに、コマンド解析およびホワイトリスト処理の不備により、悪意のコードを実行できる余地が残されていた。
Tracebit が実施したデモは、無害な Python スクリプトと、改竄済みの README.md ファイルを取り込んだリポジトリを構築し、Gemini CLI によるスキャンを実行することで、攻撃が可能なことを証明するものだった。
最初に Gemini は、”grep ^Setup README.md” という無害なコマンドを実行するよう誘導され、その後に、悪意のデータ抽出コマンドを実行する。このコマンドは、ユーザーによる承認なしに、信頼可能な操作として扱われる。
Tracebit によると、デモで使用されたコマンドは、無害な grep のように見えるが、セミコロン (;) に続き、別のデータ窃取コマンドが開始されるという。ユーザーが grep を許可リストに登録している場合に、Gemini CLI は、コマンド全体が安全なものと判断して自動実行する。

Source: Tracebit
Tracebit のレポートには、以下の内容が記されている。
- ホワイトリストとの照合において、このコマンドを grep として認識する Gemini は、ユーザーに再確認することなく実行する。
- 実際には、grep コマンドの後に悪意のコマンドが続いており、ユーザーの全環境変数 (機密情報を含む可能性あり) がリモート・サーバに送信される。
- 悪意のコマンドの内容は任意であり、リモート・シェルのインストールやファイル削除なども含まれる。
さらに、空白文字を用いた視覚的な操作により、Gemini の出力は悪意のコマンドをユーザーから隠蔽し、実行に気付かせないようにもできる。この脆弱性を悪用する攻撃の PoC 動画を、Tracebit は作成している。
この攻撃には、許可リストに特定コマンドを登録するなどの、いくつかの前提条件が存在する。しかし、執拗な攻撃者であれば、目的の達成は可能である。
この事例が示すのは、AI アシスタントに内在する危険性である。無害に見える操作であっても、AI アシスタントを巧妙に誘導することで、データ窃取の実行にいたる恐れがある。
Gemini CLI ユーザーに推奨されるのは、最新バージョン 0.1.14 への速やかなアップグレードである。また、信頼できないコードベースに対して、このツールを使用することは避け、使用する場合はサンドボックス環境に限定すべきである。
OpenAI Codex や Anthropic Claude などの、他のエージェント・コーディング・ツールに対しても、Tracebit は同様の攻撃手法を試したという。ただし、これらのツールには、より堅牢な許可リスト登録機構が備わっているため、悪用は不可能だったと述べている。
Google Gemini CLI の脆弱性は、Markdown ファイル中の自然な文章に埋め込まれたコマンドが、そのまま実行されて点にあります。特に問題なのは、部分的に安全と見なされたコマンド (たとえば grep) に続いて、危険な操作が連結されていても、それが検知されずに実行されてしまうことだと、この記事は指摘しています。ご利用のチームは、ご注意ください。よろしければ、Gemini で検索も、ご参照ください。
You must be logged in to post a comment.