Back to BlogAI Security

900K Users Had Their AI Chats Stolen

Two malicious Chrome extensions stole ChatGPT conversations from 900,000+ users in December 2025. Yet one even carried Google's 'Featured' safety badge.

February 21, 20266 minute read
Chrome extension securityAI chat theftChatGPT privacymalware

The December 2025 Chrome Extension Breach

Updated for 2026. In December 2025, OX Security researchers found two Chrome tools had stolen AI chat logs from over 900,000 users.

One tool carried Google's "Featured" badge. That badge is meant to signal safety. It did not help here.

How the Attack Worked

Three steps. Simple and effective.

Step 1: Look Legitimate

Both tools offered real features — productivity boosts and UI changes. They built large install counts and positive reviews. Theft started only after trust was established.

Step 2: Collect Chat Content in Secret

Once installed, each tool watched browser activity. When users opened ChatGPT, Claude, or other AI services, it:

  • Captured all chat messages as users typed
  • Stored copies on the victim's device
  • Queued the content for upload

Step 3: Send in Batches

Each tool sent stolen content every 30 minutes. That pace is slow enough to bypass anomaly alerts. It is also fast enough to capture every session.

The Urban VPN Case

A second incident emerged. "Free VPN" browser tools with over 8 million downloads had also harvested AI chat content since July 2025.

IncidentUsers AffectedFound
Malicious AI tools900,000+Dec 2025
Urban VPN tools8,000,000+Nov 2025
Total exposed8,900,000+—

What Was Taken

AI chats hold sensitive content. Users share things there they share nowhere else:

  • Source code pasted for debugging
  • Customer records used in support queries
  • Legal papers reviewed with AI help
  • Medical details and personal files
  • Internal plans and business strategy

A stolen password can be reset. Leaked source code or a business plan cannot.

Google's "Featured" badge covers policy compliance and privacy disclosures.

The flaw is timing. Google checks code at submission, not on every update. Attackers submit clean code, earn the badge, then push a harmful update.

The Root Problem

The deeper issue is that raw sensitive text reaches AI services in the first place.

When you paste customer records into ChatGPT:

  1. The text passes through your browser
  2. Any browser tool with broad permissions can read it
  3. It lands on OpenAI's servers
  4. It may be used in model training

Even without a malicious tool, you trust every installed extension plus the AI provider. See our security overview for how the full risk chain works.

The Fix: Anonymize Before Sending

The only real fix is to remove sensitive identifiers before text leaves your control.

The anonym.legal Chrome Extension sends text to anonym.legal's EU-hosted API (Hetzner, Falkenstein) for detection; only the sanitized text reaches the AI service.

Malicious Toolsanonym.legal
Access scopeIntercepts everythingOnly when activated
ProcessingRemote serversEU-hosted API (Hetzner)
PurposeTheftProtection

How it works:

  1. You paste text with personal identifiers
  2. anonym.legal's EU-hosted API detects the sensitive content
  3. Each identifier is replaced with a token — "John Smith" becomes [PERSON_1]
  4. The anonymized text goes to the AI
  5. The AI response is restored for you

Protected types include names, emails, phone numbers, ID numbers, and more entity categories. See our compliance center for enterprise coverage.

Check Your Extensions Now

Open chrome://extensions and review each one.

Red flags:

  • "Read and change all your data on all websites"
  • Unknown developer with no other products listed
  • No updates in months
  • Generic five-star reviews with no real detail

The 900,000-user breach proves that even badged tools can be compromised. Treat every browser extension as a potential access point to your AI sessions.

When This Approach Has Limits

Anonymizing prompts before they reach the AI shrinks what a malicious extension or AI provider can capture, but it is not a guarantee, and a realistic security posture accounts for where it stops.

Detection still misses some identifiers. Anonymization replaces what it recognizes, and recognition is probabilistic. An unusual name, an obfuscated account number, or context-dependent personal data can pass through unredacted — and once it reaches the AI service, a hostile extension can capture it. Review sensitive prompts before sending rather than assuming everything was caught.

A protective extension shares the browser with hostile ones. Anonymizing prompts before they reach the AI service protects what that service sees, but it does not police the other extensions you have installed. A tool with "read and change all your data" permission can still observe page content. The defense is reducing extension permissions overall, not adding one trusted tool on top of risky ones.

Tokens only protect what you route through the tool. If a user pastes raw text directly, switches to an unprotected device, or uses an AI surface the extension does not cover, the safeguard is bypassed. Coverage depends on consistent use across every place staff interact with AI.

Anonymized text can sometimes be re-identified. Stripping direct identifiers does not always defeat inference. A detailed scenario — rare facts, dates, and locations combined — can point back to a person even with names tokenized. For high-stakes content, minimize the underlying detail, not just the obvious identifiers.

Sources

Ready to protect your data?

Start anonymizing PII with 273 entity types across 48 languages.