Skip to content
HN On Hacker News ↗

ChatGPT for Google Sheets Exfiltrates Workbooks

▲ 324 points 121 comments by hackerBanana 3mo ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully human-written

2 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 3 of 3
SEGMENTS · AI 0 of 3
WORD COUNT 717
PEAK AI % 3% · §3
Analyzed
May 31
backend: pangram/v3.3
Segments scanned
3 windows
avg 239 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 717 words · 3 segments analyzed

Human AI-generated
§1 Human · 1%

This attack does not require human-in-the-loop approvals, even when in settings the user has explicitly required human approval before ChatGPT edits workbooks.OverviewRecently, OpenAI launched an AI extension for using ChatGPT in Google Sheets, which has accumulated over 185,000 downloads since its launch less than a month ago. This allows users to operate on their spreadsheets by interacting with an AI chatbot that lives in a sidebar, with the added benefit of drawing on data from ChatGPT connectors. A single indirect prompt injection attack triggered by a single benign user query can trigger all of the following effects at once:Exfiltration of many workbooks from across the victim’s accountDisplay of an interactive phishing pop-upOverwriting the entire GPT sidebar with an attacker-controlled chatbot interfaceAttacker-controlled edits to your workbooksThis attack occurs when any untrusted data source (e.g., from an imported sheet or ChatGPT connector) manipulates ChatGPT to run an attacker-controlled external script, which executes leveraging permissions the user has granted to the ChatGPT for Google Sheets extension.This vulnerability was responsibly disclosed to OpenAI. Despite multiple follow-ups, we received no communication beyond an automated reply to our initial disclosure. OpenAI's documentation fails to describe sensitive capabilities granted to the model (e.g., running privileged scripts) or risks of model manipulation via indirect prompt injection, instead focusing solely on functional limitations and data-handling concerns. As such, we are publishing our findings to enable informed decision-making regarding the risk surface.The Attack ChainA user is working on an internal financial modelThe user imports an external data set to use in their model The external sheet has a prompt injection hidden in white text.The user asks ChatGPT for Google Sheets to help integrate the data from the imported sheet into their financial model.The injection manipulates ChatGPT for Google Sheets to run an external scriptNote: ChatGPT for Google Sheets has a setting called ‘Apply edits automatically’ that determines when human approvals are required before an agentic action completes. However, this attack succeeds even when the user has explicitly disabled automatic edits.The external script exfiltrates the financial model from the user’s workbookBelow, the attacker's server logs show the user’s exfiltrated financial model.

§2 Human · 2%

The external script identifies links to other workbooks in the stolen data, exfiltrates the discovered workbooks, and continues across all workbooks it can findHere, the internal financial model sheet included a link to another spreadsheet relevant to budgeting. The malicious script identifies the spreadsheet URL in the stolen data and exfiltrates the newly discovered workbook. It then continues to process the stolen data, identifying and exfiltrating additional workbooks, eventually exfiltrating 12 in total.Note: Clicking the ‘stop’ button in the ChatGPT sidebar does not stop scripts that have started from finishing execution.Phishing Overlay AttacksIn addition to the data exfiltration described above, the same attacker-controlled scripts enable a malicious actor to target two variants of a phishing overlay attack.Variant 1: A sidebar is opened that overlays the ChatGPT for Google Sheets extension with an attacker-controlled site, allowing the attacker to impersonate the extension. The malicious sidebar can execute scripts that edit the sheet in the same way ChatGPT can, allowing it to act in most of the ways the extension normally does, while also performing malicious activities such as:Harvesting all user promptsProviding the user with a misaligned chatbot to interact withConvincing the user to ‘reconnect’ connectors to gain access to additional appsDisplaying a phishing UI to steal credentials for OpenAIVariant 2: A pop-up modal is opened that renders an attacker-controlled website to phish the user for credentials.Control Access to ChatGPT for Google SheetsOrganizations can leverage the following configuration to control access to ChatGPT for Google Sheets:Workspace settings > Permissions & roles > ChatGPT for Excel and Google SheetsResponsible DisclosureThis vulnerability was responsibly disclosed to OpenAI. Despite multiple follow-ups, we received no communication beyond an automated reply to our initial disclosure. OpenAI's documentation fails to describe sensitive capabilities granted to the model (e.g., running privileged scripts) or risks of model manipulation via indirect prompt injection, instead focusing solely on functional limitations and data-handling concerns. As such, we are publishing our findings to enable informed decision-making regarding the risk surface.

§3 Human · 3%

TimelineMay 08, 2026 PromptArmor discloses to OpenAI via emailMay 08, 2026 OpenAI sends an automated reply, confirming the intended reporting channelMay 08, 2026 PromptArmor confirms email preferenceMay 12, 2026 PromptArmor follows upMay 18, 2026 PromptArmor follows upMay 27, 2026 Public disclosure