AIDEFEND in Action AIA-0049 Validated Research Published: Jul 11, 2026

Notion AI Agent Lethal Trifecta Leads to Silent Data Exfiltration

Two disclosures demonstrated distinct Notion AI exfiltration paths. CodeIntegrity used a customer-feedback PDF and functions.search to send client data in a URL. PromptArmor used a poisoned resume during a hiring-tracker update; an image request leaked data before approval. In its January 8, 2026 update, PromptArmor confirmed that remediation of the document-update flaw was in production. The update does not establish an exact deployment time.

Indirect Prompt InjectionData ExfiltrationInput ValidationSink EnforcementAgentic AI
8 applicable AIDEFEND defenses
Source: Notion AI: Data Exfiltration 
Author: qual1a
Original article: Jan 7, 2026

Threat Analysis

  • Path A, CodeIntegrity. A hidden PDF instruction caused a report-summary task to read private client data, including ARR, and pass a constructed URL to functions.search.
  • Path B, PromptArmor. A resume-update task inserted an external image containing hiring-tracker data in its URL; browser loading preceded approval. These are separate demonstrations, not one observed sequence.
  • Current evidence. PromptArmor subsequently confirmed remediation of the document-update flaw. That update does not establish the status of every search or image path.

Applicable AIDEFEND Defenses (8)

AID-H-006.002
Text, Markup & Structured Output Sanitization and Release Gate
Very High
Sanitizing AI-generated page edits before rendering prevents automatic image preview requests. Filtering unconfirmed image tags or escaping them into plain text (e.g., escaping ![image](url) with backslashes into \\!\\[image\\](url) so the browser treats it as a raw string rather than a rendering target) blocks the browser from making unauthorized outbound HTTP requests.
AID-H-018.004
Intent-Based Dynamic Capability Scoping
High
Dynamic per-request capability scoping ensures that an agent task triggered by summarizing an untrusted file does not inherit the authority to execute arbitrary web search tools or modify database pages without step-up approval.
AID-H-018.002
Policy-Based Access Control
High
Decoupling access rules from application logic via policy engines (such as Open Policy Agent or Casbin) prevents privilege escalation. A stateful authorization check can block the agent from querying sensitive workspace database pages (like hiring trackers) during simple resume summary tasks.
AID-H-019.001
URL Normalization & Allowlist Filtering
Medium
For URL retrieval inside functions.search, the provider must route the actual URL and every redirect through the mandatory single-pass pinned safe fetcher and deny direct bypasses. Checking only the search API hostname does not check a URL embedded in its query or stop disclosure to an approved search service. Destination authorization and sensitive-data authorization are separate. This is a provider integration requirement, not a Notion administrator setting or the published method merely enabled by a domain list.
AID-H-017.007
Dual-LLM Isolation Pattern
Medium
A provider-controlled architecture can put raw resume parsing in a separately isolated Q worker with no Notion write tools, credentials or privileged network access. A validating broker passes only bounded task fields to the P planner. Typed strings and derived links remain untrusted and require independent document-write and image-sink authorization. This reduces direct raw-payload exposure, but a schema-validated summary is not proof of semantic safety and is not a setting available to an ordinary Notion workspace user.
AID-H-002.002
Inference-Time Prompt & Input Validation
Medium
Before provider-side context assembly, apply versioned screening to parsed PDF text and synchronously reject, quarantine, sanitize or route findings for review. Test this payload and transformed variants and deny when required checks are unavailable. Screening can miss semantic attacks; final tool and rendering authorization remain independent. This is not a customer hook exposed by the stock SaaS interface.
AID-I-002.002
Secure External AI Service Connectivity
Medium
Provider-side egress policy can restrict the search backend to approved destinations when every request traverses that controlled path. It does not constrain a separate browser image request. The preview path needs separately verified renderer/CSP or managed-browser enforcement, including redirects and direct bypasses. Allowed destinations can still receive sensitive query data, so data-aware sink authorization is required. Ordinary workspace customers do not control Notion's service network.
AID-M-009.001
Operating Scope & Functional Autonomy Profiles
Medium
Define document processing as low-autonomy Observe/Analyze work and mark workspace writes, delegation, persistence, and outbound calls as supervised or prohibited functions. This profile supplies policy facts; AID-H-018.002 owns the runtime allow or deny decision.

What Defenders Should Do Now

  • Audit page permissions and unnecessary AI connectors. Workspace owners can disable Enable web search for workspace and enable Require confirmation for web requests under Settings → Notion AI, as documented by Notion.
  • Test the search and image-preview paths separately. A web-request confirmation setting is not proof that every embedded image waits for approval.
  • For provider-controlled integrations, sanitize page edits before rendering, block unapproved remote subresources and test redirect and preview bypasses.
  • Isolated parsing and task-bound authorization require provider or controlled-runtime implementation; ordinary workspace users cannot add that architecture through a setting.

Conclusion

AIDEFEND  maps these paths to task-specific authority, independently isolated parsing and pre-render output controls. Enforce each decision where the tool or browser request occurs; search settings and user confirmation alone do not establish complete image-path protection.

Last updated: