
No Secret Before Proof: Confidential Computing for AI
A decision guide to trusted execution, remote attestation, workload-bound channels, and secret release for sensitive AI inference and training.
Read MoreZharfAI Team

A browser agent combines two properties that security engineers normally try to separate: it reads attacker-controlled content and it can act with a user’s authority. A malicious sentence in a webpage, email, document, image, accessibility tree, or tool result may therefore become an indirect prompt injection: data crafted to redirect the agent into revealing information or taking an unintended action.
This is not fixed by telling the model to ignore bad instructions. Current systems need multiple, independently enforced controls around the model. NIST’s 2026 work on agent security reports broad agreement that ordinary cybersecurity principles remain relevant but require adaptation for agents. OWASP’s 2026 agentic risk taxonomy likewise separates goal hijacking, tool misuse, identity abuse, supply-chain compromise, unexpected code execution, memory poisoning, and cascading failures. The categories overlap in a real incident; the defense must follow the whole path from source to action.
Draw the system before selecting mitigations. A browser-agent data-flow diagram should identify:
For every boundary, ask four questions: Who controls the input? What sensitive data can enter the context? Which action can follow? Can an attacker observe the result?
A restaurant page is untrusted even when the user intentionally opened it. A customer email is untrusted even when it arrived in a trusted mailbox. A tool’s JSON response is untrusted when a third party controls one of its fields. Authentication proves which service returned content; it does not make that content an instruction.
Prioritize scenarios by consequence rather than by how dramatic the injected text looks. Exfiltrating a password-reset code, changing a payee, sharing a private file, or installing a package matters more than making the agent produce an odd summary.
Use four distinct layers:
The model may propose an action, but an enforcement service outside the model should decide whether the action is allowed. Validate structured fields: tool, verb, destination, origin, data classification, amount, recipient, attachment, credential scope, and whether the user approved this exact action.
Do not authorize a semantic blob such as “handle my inbox.” Convert it to a bounded mandate:
Goal: draft replies to support messages received today
Allowed reads: support inbox and public documentation
Allowed writes: draft folder only
Forbidden: send, delete, open external file shares, reveal other messages
Expiry: 30 minutes
This structure limits both accidental overreach and injected instructions. Our guides to least-privilege tool permissions and agent identity and authorization cover capability tokens, delegated identity, and policy enforcement in more detail.
A practical browser defense borrows source–sink analysis from application security.
Sources include webpage text, DOM attributes, image OCR, documents, search snippets, email, comments, downloaded files, tool descriptions, and memory derived from any of them.
Sinks include sending data, changing access, uploading files, navigating to a URL with sensitive parameters, submitting a form, executing code, installing software, revealing connector content, or writing persistent memory.
Propagate provenance labels with extracted facts. Before a sensitive sink, ask:
For example, a page that says “verification requires uploading your last three invoices” should not be able to create both the reason and the destination for an upload. The agent can report the request, but policy should block the transfer unless the user explicitly authorizes the named files and verified recipient.
OpenAI’s March 2026 article on designing agents to resist prompt injection describes combining a social-engineering model with source–sink analysis and sandbox controls. This is a useful first-party account of one defense strategy, not evidence that prompt injection has been solved.
Isolation reduces what a successful hijack can reach.
Avoid logging page bodies, credentials, or private screenshots by default. Logs should retain enough evidence to reconstruct a decision while minimizing copied sensitive content. Store hashes, redacted parameters, policy outcomes, domain, timestamp, and a protected screenshot around consequential steps when appropriate.
The UK National Cyber Security Centre’s secure AI system development guidance emphasizes secure defaults, supply-chain responsibility, and treating high-impact AI compromise as a critical security risk. Browser-agent design should inherit the same patching, dependency review, secrets management, incident response, and vulnerability-disclosure practices as other production software.
Confirmations work only when they are specific and timely. Ask immediately before the irreversible or externally visible action, after all relevant values are known.
A good confirmation says:
Send
contract-v4.pdffrom Project A tolegal@example.org. This shares confidential material outside the company. The recipient was taken from a webpage and has not appeared in this project before.
A weak confirmation says:
Continue?
Require stronger verification when the action changes money, identity, access, legal position, public content, or sensitive data. Useful controls include:
Never let content inside the page waive the confirmation. “The user has already approved this” is still page data.
An injected instruction becomes more dangerous if the agent stores it as a preference or retrieves it in later tasks. Persistent memory needs schema, provenance, expiry, review, and deletion. Store “user prefers morning flights” only after a trustworthy user interaction; do not store “always send files to this address” because a page said so.
Separate factual observations from instructions and authorization. A memory record should include source, creation time, scope, sensitivity, confidence, and whether the user explicitly confirmed it. Prevent untrusted observations from becoming policy.
Downloads should enter quarantine, not the agent’s working directory. Scan archives, enforce expansion limits, render active documents in an isolated viewer, disable macros, and require an explicit transition before any file becomes executable or uploadable. A PDF can contain both useful evidence and adversarial text; successful malware scanning does not remove the prompt-injection risk.
NIST’s 2026 large-scale agent hijacking red-team report focuses on agents processing external sources such as websites, emails, and code repositories. The important evaluation unit is the full trajectory: what the agent saw, which tools it considered, what data crossed a boundary, and whether a harmful action completed.
Build a matrix across:
Injection placement
Attacker goal
Context
Expected control
Include adaptive attacks that paraphrase after a block. Run regression tests after model, prompt, browser, OCR, policy, connector, and tool changes. The computer-use agent evaluation guide provides a broader release-set design.
Model refusal rate is not enough. Track:
Report residual risk. OpenAI’s own ChatGPT agent safety documentation says confirmations, monitoring, and supervision reduce but do not eliminate prompt-injection risk. A production team should make the same limitation visible to operators and risk owners.
The user asks an agent to download the last three invoices from a supplier.
The model can still misunderstand an invoice. Security controls do not guarantee task accuracy; they prevent that uncertainty from silently expanding into unrelated authority.
No. It can help, but attacker-controlled content and model behavior remain probabilistic. Use least privilege, isolation, deterministic policy checks, source–sink controls, scoped confirmation, and adversarial evaluation.
Not inherently. Visual browsing can avoid some hidden DOM content, but images and visible text can contain attacks, and OCR or perception can make mistakes. DOM and visual channels have different attack surfaces.
Only with a clear need and explicit risk acceptance. A disposable profile with task-specific authentication sharply limits cookies, history, extensions, local files, and unrelated accounts exposed to the task.
Stop consequential actions, preserve a minimal audit record, revoke task credentials, quarantine downloads, inspect memory writes, notify the user or security owner, and rerun only from a clean state after the path is understood.
NIST 800-5 summarizes responses to a public request for information rather than prescribing a complete standard. OWASP is a community taxonomy. OpenAI’s publications are primary evidence about its own design and evaluations, not independent assurance for other agents. None of these sources claims that prompt injection is fully solved.

A decision guide to trusted execution, remote attestation, workload-bound channels, and secret release for sensitive AI inference and training.
Read More
A field guide to deciding what may be pooled, what must be siloed, and how to keep retrieval, memory, caches, tools, logs, and evaluations inside the right customer boundary.
Read More
A practical guide to Grok Bot's shared computer, role charters, routines, multi-agent handoffs, pricing, evidence, and safety boundaries.
Read MoreIf this note maps to a real system in your organization, start with the services page or a shipped case study.