PromptArmorの調査によると、OpenAIの「ChatGPT for Google Sheets」拡張機能に、かなり嫌なタイプの問題が見つかりました。
ひとことで言うと、一見ただのスプレッドシートなのに、その中に仕込まれた“見えない命令”がChatGPTをだまして、勝手に外部スクリプトを実行させてしまう、という話です。
これが面白いというより、正直かなり怖いです。
なぜなら、攻撃の起点が「怪しいメール」でも「変なWebサイト」でもなく、普段使いの表計算シートだからです。しかも、被害はそのシート1枚で終わらず、アカウント内の他のworkbookにも広がる可能性がある、というのが厄介です。

prompt injection は、AIに対して「本来の指示を上書きさせるような文言」を混ぜる攻撃です。
その中でも indirect prompt injection は、ユーザーが直接入力するのではなく、外部データの中に仕込まれた命令でAIを操る手口です。
たとえば、
こういう“普通のデータ”に悪意ある命令が紛れていると、AIはそれをただの情報ではなく、実行すべき指示として解釈してしまうことがあります。
今回のケースはまさにそれで、シートの中の仕掛けがChatGPTを乗っ取る入口になったわけです。

記事で説明されている attack chain は、実際の業務フローにかなり近いのがポイントです。
ここで怖いのは、ユーザーが「怪しいものをクリックした」わけではないことです。
むしろ、普通にAIを便利に使っただけに見える。これ、現場ではかなり見抜きにくいと思います。
さらに厄介なのが、流出が1ファイルで止まらない点です。

攻撃用スクリプトは、盗んだデータの中から他のworkbookへのリンクを見つけると、そのURLをたどって追加で流出させます。
記事では、最終的に12個のworkbookが抜かれたとされています。
これは、単に「今開いている1つのファイルが危ない」では済まない話です。
表計算ファイルって、実務では関連資料へのリンクが普通に入っていますよね。だからこそ、1つの入口から業務データ全体に波及するのが本当に面倒です。
個人的には、ここがこの事例のいちばん重要なポイントだと思います。
ChatGPT for Google Sheets には、Apply edits automatically という設定があり、これによってAIの編集に人間の承認を必要とするかどうかを制御できます。

普通なら「じゃあ承認を必須にしておけば安全では?」と思います。
でも今回の攻撃は、その設定を無視する形で成立したとされています。
しかも、sidebar の stop ボタンを押しても、すでに始まったスクリプトは最後まで走るとのこと。
ここはかなり重要です。UI上は止められたように見えても、裏で動いている処理が続くなら、ユーザーの感覚と実際の挙動がズレます。セキュリティ事故では、このズレが一番やっかいなんですよね。
この脆弱性は、単なる exfiltration(データ持ち出し)で終わりません。
記事では、同じ attacker-controlled script によって phishing overlay attack も可能だとしています。
phishing overlay は、ざっくり言うと本物っぽい画面を上からかぶせて、ログイン情報などを盗む手口です。
今回確認されたのは主に2種類です。

この手口、地味に見えてかなり嫌です。
なぜなら、ユーザーから見ると「AIの画面がちょっと変になった」くらいに見える可能性があるからです。セキュリティ事故って、派手な爆発より**“なんかいつもと違う”**のほうが危ないことが多いんですよね。

PromptArmor はこの脆弱性を OpenAI に responsibly disclosed(責任ある開示)したとしています。
ただし記事では、複数回の follow-up にもかかわらず、最初は自動返信以外の連絡がなかったとも述べています。
その後、OpenAI は記事の更新として次のように対応を表明しました。
ここは評価が分かれそうですが、少なくとも「攻撃面を減らす」方向にすぐ動いたのは妥当だと思います。
AIが便利になればなるほど、**“何を勝手に実行できるのか” を絞る**のは必須です。便利さと安全性のトレードオフは、やっぱり現実に出ますね。

記事では、組織側が ChatGPT for Google Sheets へのアクセスを制御する方法として、次の設定が案内されています。
Workspace settings > Permissions & roles > ChatGPT for Excel and Google Sheetsつまり、そもそも誰に使わせるかを管理するのが重要です。
個人利用なら「便利だから入れる」で済みがちですが、企業ではそうはいきません。外部データを扱う業務でAI拡張機能を使うなら、少なくとも次は意識したいところです。

この件、すごく現代的な脆弱性だと思います。
昔ながらの「脆弱なパスワード」とか「SQL injection」ももちろん重要ですが、これはそれとは別方向の怖さがあります。**AIが“読んだものを信じすぎる”**ことを突いた攻撃だからです。
しかも被害の起点が、メール添付でもWeb広告でもなく、業務で普通に使うスプレッドシート。
今後こういう攻撃は、AIが業務ツールに深く入り込むほど増えるのではないかと思います。便利さの裏側で、AIはどんどん「実行者」になっていく。その瞬間、ただの入力欄ではなく、権限を持ったオペレーターになります。ここを甘く見ると危ないです。

今回の事例は、ChatGPT for Google Sheets が indirect prompt injection によってだまされ、workbook の流出、偽のログイン画面表示、勝手な編集まで起こしうることを示しました。
しかも、1つのシートが起点になって、関連する別のworkbookへ被害が広がるのが本当に厄介です。
AI拡張機能はたしかに便利ですが、便利さの代償として「何を信じるか」「どこまで実行してよいか」をもっと厳しく設計しないと、実運用ではかなり危ない。
この件は、その現実をかなりわかりやすく示したケースだといえるでしょう。