Gemini CLI Hijack

Gemini CLIは、Google が開発した、ターミナル (コマンドラインインターフェース) 上で直接利用できる AI エージェントです。
このソフトウェアの脆弱性により、攻撃者は許可リストに登録されたプログラムを使用して悪意のあるコマンドを密かに実行し、開発者のコンピューターからデータを盗み出すことが可能になったことが確認されました。

問題はvalidationの十分さの不足でした。
次のステップで問題が起こることが考えられます。

  • 用意したコンテキストを読み込ませる
    このステップは生成AIを使用する中でたびたび実行される通常のステップです。
    元になる情報を与え、それを前提として質問者の必要とする回答を得るためのステップです。
    今回の脆弱性の悪用例では、この段階で、無害な Python スクリプトと汚染された「README.md」ファイルを含むリポジトリを読み込ませます。
    scriptとREADME.mdという組み合わせはGithubで公開される多くのソフトウェアの公開の形式と同じであり、この意味ではなんら怪しさはありません。
  • Geminiにコマンド実行を行わせる
    Gemini CLIのようなコーディングエージェントでは、その動作の中で動作環境のOSのコマンドを実行するような操作となることが多くあります。
    安全のため、こういった動作の際に許可されるコマンドは制限されています。
    そして許可リストにあるコマンドは実行可能です。
    今回の場合実行されるコマンドは次のようなものでした。
    「grep Install README.md | head -n 3 (たくさんの空白)       ; env | (情報持ち出しコマンド)」
    実行されようとするOSコマンドは許可リストにあるものを選択します。
    この例の内容では、解釈によってはコマンドそのものは「grep」と「env」といえます。
    しかしあらためてよく見ると、実際には「情報持ち出しコマンド」の部分がそのまま実行される内容となっています。
    これはvalidationの十分さの不足といえそうです。
    たしかにコマンド実行の前には生成AIはpromptでコマンドを実行してもよいかの許可を求めますし、その実行結果も表示はされます。
    しかし実行許可のpromptにしても、実行結果の表示にしても、長すぎる表示内容となる場合にはその全体は表示されず先頭付近だけが表示される実装となっています。
    通常であればこれは使いやすさにつながる機構なのですが、ここを悪用された格好になっています。

生成AIによるコーディング支援機能の動作内容を悪用することのできる例の話でした。
この攻撃には、ユーザが特定のコマンドを許可リストに登録していることを前提とするなど、いくつかの強力な前提条件がありますが、脅威アクターは執念深く活動し、目的を達成してしまうことも考えられます。

このvalidationの不十分さは、Gemini CLI 0.1.14で対応されています。
Gemini CLIを利用している場合にはすぐに更新しましょう。
そして内容が十分に信頼できていないコードをコンテキストとして読み込むことには怖さがあることを知っておく必要があります。
そんなことを言っているとコーディングエージェントのうまみが享受しにくいことになるとも思えますが、不安がある場合にはサンドボックス環境を利用するなどの対策も考えたいです。
一定の利便性が犠牲になりますが、安全性とのバランスと思うしかないかもしれません。

Gemini CLIは、オープンソースで提供されており、Apache 2.0ライセンスで利用できます。
オープンソースということで実装内容を誰でも確認することができますので、機能拡張が高速化できますし、処理内容に関する透明性は高いものとなります。
しかし、物事は良い面だけではありません。
オープンソースであるためその内容を確認できますので、今回のように仕様の隙をつくようなこともできてしまうことにも繋がります。
ツールの便利さは諸刃の剣と認識し、良好な運用を継続していくようにしたいものです。

Code Execution Through Deception: Gemini AI CLI Hijack
https://tracebit.com/blog/code-exec-deception-gemini-ai-cli-hijack

一緒によく読まれている記事

最新の脅威情報
をお届け

BLOGブログ

情報セキュリティに対する啓蒙のため、
3つのメディアを運用し、
情報発信を行っています。

わたしたちはサイバー領域や
認知領域の未知なる脅威に、
テクノロジーとインテリジェンスで対抗します。

私たちが選ばれる理由

CONTACT リスクマネジメントサービスの
ご相談窓口

コンステラ セキュリティ ジャパンは
最先端のサービスを
お客様のニーズに
カスタマイズして提供し、
効果が出るまで寄り添います。