AIDEFEND in Action AIA-0003 Validated Research Published: Apr 16, 2026

Salesforce 'ForcedLeak': Indirect Prompt Injection via Agentforce Web-to-Lead Forms

Noma validated an indirect prompt-injection chain in Salesforce Agentforce: a stored Web-to-Lead description influenced a later answer, which placed CRM email data in an image URL on a reclaimed, allowlisted domain. Loading that image sent the data to the researchers' server. Noma assigned CVSS 9.4; Salesforce subsequently re-secured the domain and introduced Trusted URL enforcement.

Defenses must cover untrusted records, tool authority and the renderer's network requests.

Indirect Prompt InjectionData ExfiltrationSink EnforcementAgentic AISaaS Security
6 applicable AIDEFEND defenses
Source: ForcedLeak: AI agent risks exposed in Salesforce Agentforce 
Author: Sasi Levi (Noma Labs)
Original article: Sep 25, 2025

Threat Analysis

  • Stored input. An external Web-to-Lead description was later processed during an employee's normal request.
  • Observed consequence. The public PoC placed CRM email data in an image URL query. The receiving-server log in the short demo shows a GET request, not an agent HTTP POST.
  • Destination trust. The researchers reclaimed an expired domain that remained allowlisted.
  • Evidence boundary. Wider data loss, record modification and lateral movement were discussed as possible impacts; the published image-channel validation does not prove all those effects occurred.
  • Response. Salesforce reclaimed the domain and introduced Trusted URL enforcement. This addresses that destination path without establishing universal resistance to prompt injection.

Applicable AIDEFEND Defenses (6)

AID-H-018.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
Medium
In a customer-controlled renderer, carry authoritative CRM sensitivity and provenance to derived URL values and authorize the exact image/link sink before any network request. The published value-level method needs complete derivation and sink coverage; an arbitrary model paraphrase cannot be tracked by adding a label at one gateway. A conservative alternative denies all external images after a private-data read. This is not the published value-level method, and Trusted URLs alone checks destinations rather than data sensitivity. Stock Agentforce capability is not assumed.
AID-H-019.001
URL Normalization & Allowlist Filtering
Medium
Use the mandatory canonical, pinned safe-fetch boundary for any customer-controlled URL preview or image retrieval, with a reviewed destination policy and no direct renderer fetch bypass. The published fetcher controls URL/IP/redirect and returned-byte bindings; it does not verify ongoing domain ownership and does not make CRM data safe to send to an allowed domain. Keep ownership review as a separate operational control and apply data-sensitive sink authorization. The stock browser CSP path is not this service implementation.
AID-D-003.002
Sensitive Information & Data Leakage Detection
Medium
Observe CRM data in the exact response, image URL and network-request population before rendering where that adapter is available. Correlate content classification with destination and encoded query values; unknown coverage remains unresolved. Detection produces a finding, and a separate sink gate owns blocking. Generic PII scanning can miss transformed values and cannot guarantee no leakage.
AID-H-002.002
Inference-Time Prompt & Input Validation
Medium
Screen the external Description field before context assembly and mark it as untrusted. Test this exact image-URL payload and encoded variants, fail closed when required screening is unavailable, and keep independent tool and renderer authorization. Natural-language screening can miss persuasive or transformed instructions and cannot guarantee that every injected instruction is removed.
AID-M-009.002
Authority Envelope & Action Risk Classification
Medium
Classify CRM export, mutation and customer-bearing external image/link requests in a signed authority envelope and identify the runtime gate responsible for each action. This policy evidence supplies risk and scope to execution or sink controls; writing the classification alone does not block an effect.
AID-H-017.007
Dual-LLM Isolation Pattern
Medium
Separate the untrusted lead parser from the privileged planner with independent process, credential and network boundaries. A validating broker may pass only bounded, task-specific fields and opaque record IDs; typed strings can still contain attacker instructions, so every CRM action and renderer sink needs independent authorization. This is a customer/provider architecture requirement, not two prompts inside the same agent or a guarantee that a validated summary is harmless.

What Defenders Should Do Now

  • Apply Salesforce's current Trusted URL recommendations and review externally supplied lead descriptions as untrusted input.
  • Inventory tool requests and renderer image, preview and link requests. Confirm which surfaces you control and which require provider support.
  • Authorize the exact task, data, recipient and action before sending CRM records; use independent approval for high-risk actions rather than treating a model confirmation as authority.
  • Verify destination ownership and purpose; suspend uncertain destinations. An allowed domain does not make a transfer authorized.
  • Test the published image payload and realistic variants against the actual deployed boundaries. Isolated parsing and detection reduce risk; separately verify sink enforcement and bypass paths.

2 additional considerations

Allowlisted destination ownership and lifecycle

An allowlist can outlive the domain owner it was intended to trust. Registration, DNS and certificate observations can indicate change, but public records alone may not establish the current owner.
Recommendation: Record an accountable owner and renewal arrangements for every destination. Monitor changes at a cadence appropriate to its risk; suspend destinations whose ownership or purpose cannot be verified. This does not authorize sending CRM data.

Data-sensitive renderer and tool observability

Observe actual image, preview and link requests as well as tool calls. A single record can be sensitive and unauthorized; record volume alone cannot determine legitimacy.
Recommendation: Where you control the surface, correlate the task, approved recipient, sensitivity and exact request before transmission. Use findings for investigation and a separate mandatory sink gate for blocking; confirm provider coverage when the surface is managed.

Conclusion

AIDEFEND  maps defense methods to input handling, action authorization and response rendering. Screening and isolated parsing reduce risk; independently enforced object and sink decisions can stop their covered paths. A static destination allowlist neither establishes data authorization nor guarantees continued domain ownership. Verify each boundary and its bypass paths instead of claiming that any single layer makes exfiltration impossible.

Last updated: