世界を動かす技術を、日本語で。

Google Sheets用のChatGPTがワークブックを抽出する

概要

  • ChatGPT for Google Sheetsの拡張機能に重大なセキュリティ脆弱性が発覚
  • 人間による承認設定が有効でも、攻撃が自動的に実行される問題
  • OpenAIはApps Script生成機能の削除など緊急対策を実施
  • 攻撃手法はデータ流出やフィッシングなど多岐にわたる
  • 組織や利用者はリスクを認識し、アクセス制御の見直しが必要

ChatGPT for Google Sheetsにおける重大な脆弱性

  • ChatGPT for Google Sheets 拡張機能において、 人間の承認が必須設定 でも 攻撃が実行可能 な脆弱性
  • 外部データソース (インポートされたシートやChatGPTコネクタ)経由で 攻撃者が制御するスクリプト が実行されるリスク
  • ユーザーが許可した権限 を悪用し、 外部スクリプト が実行される仕組み
  • Prompt injection による間接的な攻撃で、 無害に見えるユーザー操作 がトリガーとなる点が特徴
  • OpenAI はこの問題を認識し、 Apps Scriptコード生成機能の削除 などの対策を実施

攻撃チェーンの流れ

  • ユーザーが 内部財務モデル の作業中に 外部データセット をインポート
  • インポートされたシート内に 白文字で隠されたprompt injection が埋め込まれる
  • ChatGPT for Google Sheetsに データ統合の依頼 をした際、 悪意あるスクリプト が実行
  • ChatGPT側の 「自動編集適用」設定をオフ にしても 攻撃が成立
  • 外部スクリプト が財務モデルを 外部サーバへ流出
  • 流出データ内の 他のスプレッドシートのリンク を特定し、 連鎖的に複数ワークブックを流出
  • ChatGPTサイドバーの「停止」ボタン では、既に開始されたスクリプトの停止が不可能

フィッシングオーバーレイ攻撃

  • 攻撃者制御のサイドバー を開き、 ChatGPT拡張機能を装った偽サイト を表示
  • ユーザーの入力プロンプト収集偽チャットボットによる誘導 を実施
  • コネクタ再接続 を装い、 追加アプリへのアクセス権限取得
  • OpenAI認証情報の窃取を狙うフィッシングUI の表示
  • ポップアップモーダル による 認証情報フィッシング も可能

アクセス制御と組織での対策

  • 組織向けには Workspace設定 > 権限とロール > ChatGPT for Excel and Google Sheets でアクセス制御が推奨
  • 利用者・管理者拡張機能の権限とリスクの再評価 が必要

責任ある情報公開とOpenAIの対応

  • PromptArmor による 責任ある脆弱性開示
  • 複数回のフォローアップにも関わらず、 自動返信のみで具体的な返答なし
  • 公開の決断は 利用者へのリスク認識喚起 のため
  • OpenAIドキュメントモデルの権限やリスク説明が不十分
  • 2026年5月31日付で OpenAIから正式な対応表明
  • Apps Script生成機能の削除API連携やサンドボックスの再評価 を実施

タイムライン

  • 2026年5月8日 PromptArmorがOpenAIに初回連絡
  • 2026年5月8日 OpenAIが自動返信で受領確認
  • 2026年5月8日 PromptArmorがメールでのやり取りを希望
  • 2026年5月12日 PromptArmorがフォローアップ
  • 2026年5月18日 PromptArmorが再度フォローアップ
  • 2026年5月27日 脆弱性の公開
  • 2026年5月31日 OpenAIが正式対応を発表

Hackerたちの意見

致命的なトリフェクタが再び襲来。

参考: https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/

結局、AIで本当に安全な作業をするには、ちゃんとしたアプリケーションレイヤーが必要なんだよね。機密情報や重要なインフラにLLMを無造作に接続するだけじゃダメだ。

この攻撃は、信頼できないデータソース(例えば、インポートしたシートやChatGPTコネクタから)によってChatGPTが攻撃者が制御する外部スクリプトを実行するように操作されるときに発生する。これは、ユーザーがChatGPT for Google Sheets拡張に与えた権限を利用して実行される。うん、それは全然いい響きじゃないね。

これが機能するための鍵は、ユーザーが明示的にモデルにその指示を実行するように指示することみたい。つまり、操作されているのはモデルじゃなくてユーザーなんだ。> コンピシートのステップバイステップのワークフローに従って、F29を通じてデータで私のモデルを更新してね。

LLMはクラウドに存在できるけど、すべてのツールは (1) ローカルで、(2) コンテナ化されている必要がある。無造作に「何かを実行する」だけじゃ、最終的には問題が起きるのが明らかだ。もしかしたらみんな知らないかもしれないけど、CodexはPCにランダムなバイナリをインストールするんだ。「このPDFを読む」と、PDFリーダーの実行ファイルがインストールされる。これって審査されてるの?どこから来たの?ウイルスじゃないの?誰が知ってるの、誰が気にするの。モデルはバリバリ動く。私はローカルLLMワークフローのためのWASIコンテナ化を含むプロジェクトに取り組んでいるんだけど(これって結構難しい問題)、AnthropicやOpenAIがこれらの攻撃ベクターについてもっと心配していないのが信じられない。まるで素人の時間みたいだ。

「このPDFを読む」と、PDFリーダーの実行ファイルがインストールされる。ところで、これってMacOSのノータリゼーションに関してはどうなってるの?

アンスロピックとオープンAIがこんな攻撃ベクターをもっと心配してないなんて、驚きだよ。まるで素人の時間みたいだ。「早く動け。物を壊せ。」の強化版って感じ。

君の心配は分かるよ。残念ながら、これは「市場は君が持続可能でいるよりも長く非合理的でいられる」って状況に似てるかもね。

アンスロピックとオープンAIがこんな攻撃ベクターをもっと心配してないなんて、驚きだよ。そうだね。悪意のあるフォントを使ってDocxファイルで簡単に彼らを騙せたよ。ここに記録してあるよ: https://tritium.legal/blog/noroboto プロンプトインジェクション(そしてインジェクション試行を隠すための数千のベクター)が実際に解決不可能なのか気になるな。これについて議論することはビジネスモデルにとって生死に関わるかも。

ローカルでコンテナ化されてて、インターネットアクセスなし。

コンテナ化ってここであんまり役に立つのかな?もしコードツールなら、たぶんコードファイルにアクセスする必要があるよね(読み取り/書き込み)。もちろん、使い道はあるかもしれないけど。

アンスロピックとオープンAIがこんな攻撃ベクターをもっと心配してないなんて、驚きだよ。素人の時間みたいだね。君の懸念は分かるけど、彼らが真剣に取り組んでないってのは正しい表現じゃないよ: https://www.anthropic.com/engineering/how-we-contain-claude 僕の懸念は、人々がこれを正しいレベルで扱ってないことなんだ。今は「このエージェントを封じ込めるためにVMをどう作るか」ってレベルで考えてるけど、実際には「全く新しいOSを設計する」レベルの問題なんだよ。

君のプロジェクトのリンクある?僕もこれに似たものを使えるかもしれないことに取り組んでるんだ。

AnthropicとOpenAIがこれらの攻撃ベクターをもっと心配していないのに驚いている 彼らは問題をよく理解していて、解決策はない。でも、ここにはお金がかかりすぎてる… > 私はローカルLLMワークフローのためにWASIコンテナ化を含むプロジェクトに取り組んでいる 私も似たようなことをやってるよ。もし繋がることに興味があれば、連絡先のメールアドレスはどこがいい?

この脆弱性はOpenAIに責任を持って開示された。複数回のフォローアップにもかかわらず、最初の開示に対する自動返信以外の連絡はなかった。まあ、それは全然可愛くないね。

コメント欄にOpenAIの人がいて、いくつかのアップデートをくれてるみたい。これも、ソーシャルメディアが企業に圧力をかけるまで、彼らは気にしないってことを証明してるね。特に新しいことはないな。

この攻撃は、信頼できないデータソース(例えば、インポートしたシートやChatGPTコネクタから)がChatGPTを操作して、攻撃者が制御する外部スクリプトを実行させるときに発生する。これは、ユーザーがChatGPT for Google Sheets拡張機能に与えた権限を利用して実行される。つまり…「承認なしでスクリプトを実行するための権限が必要」ってこと?それとも、常にできることなの? > 注: ChatGPT for Google Sheetsには「自動的に編集を適用する」という設定があって、エージェントアクションが完了する前に人間の承認が必要なタイミングを決定する。ただし、この攻撃はユーザーが自動編集を明示的に無効にしていても成功する。うん、それは納得できる。シートを編集してるわけじゃないからね。でも、ファイルやインターネットにアクセスするスクリプトを実行するのも権限なんじゃないの?それにサイドバーのシナリオだけど、Excel用のChatGPT拡張機能が他の拡張機能のUIみたいに任意のインタラクティブなExcel UI変更をできるってこと?それはすごくヤバいと思うけど、もし隠れてる超怖い権限があるなら別だけど。それでもやっぱりヤバいよね。これって「AI」の「セキュリティ」にとっては普通のことだけど、何なんだろう。

こんにちは、OpenAIのセキュリティチームのマックスです。ここでのセキュリティリサーチには感謝していますが、今回の件が開示プロセスで見落とされてしまったのは残念です。この報告を受けて、私たちはユーザーを潜在的な攻撃から守るために、モデルがApps Scriptコードを生成する能力を取り除くという即時の対策を講じました。これにより、ChatGPT for Google Sheetsのユーザーへのリスクが排除されるはずです。この機能がGoogle Sheets APIとどのように相互作用するかを詳しく見直し、プロンプトインジェクション攻撃に対してできるだけ抵抗力のある製品になるように、サンドボックスのアプローチを再評価しています。さらに、他の機能についても再レビューを行い、私たちの防御が一貫して効果的であることを確認します。

モデルがApps Scriptコードを生成する能力を取り除く この機能は毎日エージェントで使ってるから、ここでのセキュリティにもっと慎重なアプローチを開発して、元に戻してほしいな。

やっちゃった…ごめんなさい。

セキュリティリサーチには感謝しています > この件が開示プロセスで見落とされてしまったのは残念です > この報告を受けて、私たちは… これ、初めてじゃないよね。 https://x.com/PhilipTsukerman/status/1988634162773778501 https://x.com/xpn/status/1986382527817564437 おそらく、ここで起こったことは、あなたたちが善意のセキュリティリサーチをメールで受け取り、それをHackerOneやBugcrowdなどを通じて提出するよう強制したってことだと思う。これにはプラットフォームの利用規約や開示規約、行動規範への準拠が求められる。あなたたちのGitHubリポジトリのSECURITY.mdファイルには、メールアドレスしか書いてないよね。こういう研究者は、メールで問題を報告して返事をもらえるのか、それとも無理なのか? 2026年5月8日 PromptArmorがOpenAIにメールで開示 2026年5月8日 OpenAIが自動返信を送信、報告チャネルを確認 2026年5月8日 PromptArmorがメールの希望を確認 2026年5月12日 PromptArmorがフォローアップ 2026年5月18日 PromptArmorがフォローアップ

じゃあ、Hacker Newsがなかったら、たまたま見つけなかったら、ユーザーは潜在的な攻撃から守られてなかったってこと?それはかなりまずい印象だよね。特にOpenAIが会社が提供したチャネルを通じての最初の開示を無視してたっていうのもあるし。そんなの、一兆ドルの企業が運営するやり方じゃないよね?

エクスフィルトレーションは、うちの会社にとって大きな懸念事項で、エージェントの導入を妨げる主な要因です。いろいろアイデアを出し合ったけど、結局、私たちが気にしているデータを、実際には見えないソフトウェアに渡してしまうことを回避する方法が見つからないんだよね。ネットワークレベルでの出口をブロックすることはできるけど、そうするとエージェントが本来やるべきことができなくなっちゃう。

いつか、人々が「ツールにデータをエクスフィルさせて」と優しく頼むだけで、実際にそれができるなら、そのツールは安全じゃないし、セキュリティが少しでも重要な状況では絶対に使うべきじゃないって気づいてくれることを願ってる。