SPIDES: Information-Flow Control for Browser Agents
Organizations: ISTA · Microsoft · CISPA Helmholtz Center for Information Security
Abstract
Browser agents automate complex workflows by reading and acting on arbitrary page content, but this flexibility exposes them to prompt injection attacks and unintended data exfiltration. Recent work argues that LLM-driven browser agents erode traditional web security boundaries such as the Same-Origin Policy (SOP) by acting across origins with the user's authority and no built-in isolation. We argue that restoring SOP is neither sufficient (a same-origin public sink can leak private data) nor necessary (legitimate tasks require authorized cross-origin flows) for protecting the security of users. We propose SPIDES, which instead enforces information-flow control by gating primitive browser actions such as typing, clicking and navigating on labels propagated from element-level HTML confidentiality and integrity annotations. Untrusted and confidential content is masked from the agent's context, while policies block unauthorized flows, providing security guarantees against both prompt injection and data exfiltration that hold independently of the model driving the agent. To evaluate SPIDES and baseline defenses under a common threat model, we build MicroNet, a closed ecosystem of 28 interlinked websites with element-level ground-truth labels and paired benign/adversarial tasks. SPIDES achieves 0% attack success rate by design while retaining high task completion rate and autonomy. Our findings demonstrate that information-flow control is an effective technique to extend web security to browser agents, gaining on autonomy and utility against state-of-the-art baselines. The source code and data are openly accessible at https://github.com/microsoft/SPIDES.
Figures & tables
| Category | Playwright tools | Consequential | Egress | SPIDES policy |
|---|---|---|---|---|
| Observation | Snapshot: browser_snapshot , browser_wait_for Tab management: browser_tabs (action new) Diagnostics: browser_network_requests , browser_network_request , browser_console_messages | Always allow. | ||
| Action | Navigation and interaction targeting trusted origins: browser_navigate , browser_navigate_back , browser_tabs (action=new) , browser_click , browser_handle_dialog , browser_press_key , browser_type (submit=true) | . Require a trusted agent context and enforce all arguments hold trusted data. | ||
| Navigation and interaction targeting untrusted origins: browser_navigate , browser_navigate_back , browser_tabs (action=new) , browser_click , browser_handle_dialog , browser_press_key , browser_type (submit=true) Egress-only interaction on any origin: browser_fill_form , browser_select_option , browser_type (submit=false) | . Require a trusted agent context and trusted arguments, or that all arguments can flow into the target origin. | |||
| Execution | Code execution: browser_evaluate , browser_run_code_unsafe | Always block. |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Data dependency | Vanilla | SPIDES | SOPGuard | UCM | UCM+ |
|---|---|---|---|---|---|---|
| GPT-5.6 Sol | Independent | |||||
| Dependent | ||||||
| GPT-5.6 Terra | Independent | |||||
| Dependent | ||||||
| Claude Opus 5.5 | Independent | |||||
| Dependent |
| Model | Attack mechanism | Vanilla | SPIDES | SOPGuard | UCM | UCM+ |
|---|---|---|---|---|---|---|
| GPT-5.6 Sol | Instruction | |||||
| Data | ||||||
| GPT-5.6 Terra | Instruction | |||||
| Data | ||||||
| Claude Opus 5.5 | Instruction | |||||
| Data |
| Required data | Data dependency | Data-flow boundary | Attack goal | Attack mechanism | OpenSource | ||||||
| Benchmark | Untrusted | Confidential | Dependent | Independent | Same | Cross | Confidentiality | Integrity | Instruction | Data | |
| MicroNet | O | O | O | O | O | O | O | O | O | O | O |
| WASP ( Evtimov et al., 2025 ) | O | O | X | O | O | O | O | O | O | X | O |
| SOPBench ( Wang et al., 2026 ) | O | O | X | O | X | O | O | X | O | X | X |
| WARP ( Li et al., 2026 ) | O | X | O | X | O | X | X | O | O | X | O |
| DoomArena ( Boisvert et al., 2025 ) | O | X | O | O | X | O | X | O | O | X | O |
LLM Agent Security
Large language model agent security studies attacks and safeguards for systems that plan, use tools, retain memory, and act across applications.
See all 327 papers