<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rodrigo Fernandez</title>
    <description>The latest articles on Forem by Rodrigo Fernandez (@rodrigo_fernandez).</description>
    <link>https://forem.com/rodrigo_fernandez</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3585365%2F0e3f3db0-f611-4cdf-8cc4-7ac6e9e0f265.png</url>
      <title>Forem: Rodrigo Fernandez</title>
      <link>https://forem.com/rodrigo_fernandez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rodrigo_fernandez"/>
    <language>en</language>
    <item>
      <title>The AI Orchestrator: Governing Autonomous Systems</title>
      <dc:creator>Rodrigo Fernandez</dc:creator>
      <pubDate>Wed, 11 Feb 2026 17:08:15 +0000</pubDate>
      <link>https://forem.com/rodrigo_fernandez/the-ai-orchestrator-governing-autonomous-systems-3k54</link>
      <guid>https://forem.com/rodrigo_fernandez/the-ai-orchestrator-governing-autonomous-systems-3k54</guid>
      <description>&lt;p&gt;We’re no longer deploying AI as a feature.&lt;/p&gt;

&lt;p&gt;We’re deploying systems that act.&lt;/p&gt;

&lt;p&gt;Modern AI doesn’t just generate responses. It selects tools, calls APIs, chains models, writes data, triggers workflows, and makes decisions that directly affect production environments. Once you move from “AI as assistant” to “AI as actor,” your architecture has to change.&lt;/p&gt;

&lt;p&gt;Most teams are not designing for that shift yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Deterministic Code to Behavioral Systems
&lt;/h2&gt;

&lt;p&gt;Traditional software is predictable. Even in distributed systems, execution paths are defined ahead of time. You can trace what happened because the logic is explicit.&lt;/p&gt;

&lt;p&gt;Agent-based AI systems are different.&lt;/p&gt;

&lt;p&gt;An agent can decide which tool to call, which model to use, what intermediate reasoning to follow, and whether to take an action. The system is no longer just executing predefined logic. It is making choices within constraints.&lt;/p&gt;

&lt;p&gt;At small scale, this feels powerful. At large scale, it becomes hard to reason about.&lt;/p&gt;

&lt;p&gt;The problem is no longer model accuracy. It’s coordination.&lt;/p&gt;

&lt;p&gt;When you have multiple agents interacting with tools, memory layers, and external systems, you are effectively running a distributed decision engine. Each component might behave correctly in isolation, yet the overall system can still produce outcomes that are risky, unpredictable, or simply opaque.&lt;/p&gt;

&lt;p&gt;That’s where orchestration becomes essential.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an AI Orchestrator Actually Is
&lt;/h2&gt;

&lt;p&gt;An AI Orchestrator is not just another agent in the stack.&lt;/p&gt;

&lt;p&gt;It’s the governance and control layer that sits above your agents. It gives you visibility into what they’re doing, defines what they’re allowed to do, and enforces those limits at runtime.&lt;/p&gt;

&lt;p&gt;If agents are the workers, the orchestrator is the control plane.&lt;/p&gt;

&lt;p&gt;Think about how Kubernetes manages containers. Containers run independently, but the control plane ensures policies, scaling rules, and boundaries are respected. An AI Orchestrator plays a similar role for intelligent components that are probabilistic by nature.&lt;/p&gt;

&lt;p&gt;It provides system-level guarantees in an environment where individual decisions are not fully deterministic.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Orchestration Works in Practice
&lt;/h2&gt;

&lt;p&gt;In real-world systems, orchestration usually revolves around four capabilities: discovery, control, testing, and protection.&lt;/p&gt;

&lt;p&gt;The first step is discovery.&lt;/p&gt;

&lt;p&gt;You can’t govern what you can’t see. Most organizations don’t actually know how many &lt;a href="https://agentsecurity.com/blog/governing-agentic-ai" rel="noopener noreferrer"&gt;AI agents&lt;/a&gt; are running across teams, which models they rely on, which tools they can access, or what data they touch. And that landscape changes constantly. New prompts are deployed. Permissions evolve. Teams experiment.&lt;/p&gt;

&lt;p&gt;Discovery can’t be a one-time audit. It has to be continuous. If new AI behavior appears and your &lt;a href="https://neuraltrust.ai/" rel="noopener noreferrer"&gt;governance layer&lt;/a&gt; doesn’t detect it, you’re always reacting too late.&lt;/p&gt;

&lt;p&gt;Once you have visibility, the next step is control.&lt;/p&gt;

&lt;p&gt;Autonomous systems need boundaries. Not every agent should have write access to production databases. Not every tool should be callable from every context. Not every workflow should be allowed to execute irreversible actions.&lt;/p&gt;

&lt;p&gt;This is where principles like least privilege and scoped permissions matter again. Without explicit constraints, intelligent systems will explore edge cases. That’s not a flaw. It’s how they optimize. But optimization without boundaries turns into risk.&lt;/p&gt;

&lt;p&gt;After control comes testing.&lt;/p&gt;

&lt;p&gt;It’s not enough to define policies. You need to challenge them. Can an agent be manipulated through prompt injection? Can it escalate its privileges through tool chaining? Can it indirectly leak sensitive data? And if something goes wrong, does your system actually detect it?&lt;/p&gt;

&lt;p&gt;As agents grow more capable, their attack surface grows too. Stress-testing the orchestration layer is just as important as evaluating model quality.&lt;/p&gt;

&lt;p&gt;Finally, protection must happen in real time.&lt;/p&gt;

&lt;p&gt;When an agent attempts to exceed its permissions, misuse a tool, or access restricted data, the system has to intervene automatically. Detection without enforcement is just observability. In production, governance must translate into runtime control, ideally without introducing unacceptable latency.&lt;/p&gt;

&lt;p&gt;That’s the difference between having policies documented and having them enforced.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Agent-Centric Thinking Is Not Enough
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://agentsecurity.com/blog/owasp-agentic-ai-security-guidelines" rel="noopener noreferrer"&gt;Agent frameworks&lt;/a&gt; make it easy to automate workflows and connect tools. But they don’t solve accountability at the system level.&lt;/p&gt;

&lt;p&gt;As agents move closer to high-impact domains such as financial operations, infrastructure management, healthcare decisions, or customer-facing automation, mistakes stop being minor bugs.&lt;/p&gt;

&lt;p&gt;A misaligned action can trigger financial loss, regulatory exposure, reputational damage, or safety risks. And the system might have followed its logic correctly. The agent optimized its objective. It did what it was designed to do.&lt;/p&gt;

&lt;p&gt;But the organization still absorbs the consequences.&lt;/p&gt;

&lt;p&gt;Agents do not understand legal exposure or long-term strategic tradeoffs unless explicitly encoded. They operate within their scope. That scope must be governed externally.&lt;/p&gt;

&lt;p&gt;What matters is not whether an individual agent behaved rationally. What matters is whether the overall system behaved responsibly.&lt;/p&gt;

&lt;p&gt;Keeping Humans in the Loop Without Slowing Everything Down&lt;/p&gt;

&lt;p&gt;Full human supervision of every action is impossible at scale. But removing humans entirely from the decision loop creates systemic risk.&lt;/p&gt;

&lt;p&gt;The solution is not constant monitoring. It’s intelligent escalation.&lt;/p&gt;

&lt;p&gt;A well-orchestrated system defines thresholds. When confidence is high and impact is low, agents act autonomously. When uncertainty increases or the consequences become irreversible, control shifts to a human.&lt;/p&gt;

&lt;p&gt;For that shift to work, humans need context. They need traceability, reasoning logs, and visibility into what the system is trying to do. Otherwise, intervention becomes guesswork.&lt;/p&gt;

&lt;p&gt;The role of the AI Orchestrator is to make that handoff explicit. It structures autonomy instead of replacing it. It defines when machines act alone and when they must defer to human judgment.&lt;/p&gt;

&lt;p&gt;In high-stakes systems, that boundary is not optional. It’s architectural.&lt;/p&gt;

&lt;h2&gt;
  
  
  Orchestration as a Foundational Layer
&lt;/h2&gt;

&lt;p&gt;The teams that scale AI successfully won’t just be the ones with better models or more agents. They’ll be the ones who understand how decisions flow through their systems, where risk accumulates, and how accountability is enforced.&lt;/p&gt;

&lt;p&gt;An AI Orchestrator is not a final add-on after everything is built. It’s the layer that allows everything else to scale safely.&lt;/p&gt;

&lt;p&gt;Without it, systems become opaque. Trust erodes. Shipping slows down because no one can clearly explain what the AI is doing or why.&lt;/p&gt;

&lt;p&gt;With it, autonomy becomes usable. Risk becomes bounded. Humans remain meaningfully in control, even as systems operate at machine speed.&lt;/p&gt;

&lt;p&gt;We are entering a phase where AI doesn’t just assist. It acts.&lt;/p&gt;

&lt;p&gt;The critical design question is no longer how powerful your model is.&lt;/p&gt;

&lt;p&gt;It’s whether you have built the system that governs it once it starts making decisions in the real world.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cybersecurity</category>
      <category>security</category>
      <category>agents</category>
    </item>
    <item>
      <title>How Agentic Browsers Can Break Your Security Model</title>
      <dc:creator>Rodrigo Fernandez</dc:creator>
      <pubDate>Tue, 28 Oct 2025 16:39:52 +0000</pubDate>
      <link>https://forem.com/rodrigo_fernandez/how-agentic-browsers-can-break-your-security-model-4jck</link>
      <guid>https://forem.com/rodrigo_fernandez/how-agentic-browsers-can-break-your-security-model-4jck</guid>
      <description>&lt;p&gt;When you first give your AI agent browsing capabilities, it feels like a superpower. Now it can read the latest articles, retrieve fresh data, and search for information beyond its training window. But there’s a lurking risk: that same browsing feature can quietly shatter your security assumptions.&lt;/p&gt;

&lt;p&gt;Let’s walk through what agentic browsers are, where things can go wrong, and how you can protect your stack before it’s too late.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an Agentic Browser?
&lt;/h2&gt;

&lt;p&gt;In the world of LLM-powered agents, an “agentic browser” refers to a tool that allows the model to autonomously follow links, read web content, and use that information to make decisions or generate responses.&lt;/p&gt;

&lt;p&gt;You’re likely using tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LangChain’s WebBrowserTool&lt;/li&gt;
&lt;li&gt;OpenAI’s function calling that fetches URLs&lt;/li&gt;
&lt;li&gt;HuggingFace’s Transformers Agents&lt;/li&gt;
&lt;li&gt;Custom wrappers around &lt;code&gt;requests&lt;/code&gt; or headless browsers like Puppeteer or Playwright&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of these give the model a deceptively simple yet powerful skill: “If you don’t know something, go look it up.”&lt;/p&gt;

&lt;p&gt;But here’s the problem: letting a model decide where to go and what to read is not a neutral feature. It’s a security decision, one that often goes unexamined.&lt;/p&gt;

&lt;p&gt;These agentic browsers often run with elevated trust: the system assumes the content retrieved is valid, relevant, and clean. But the modern internet isn’t clean. It’s dynamic, unpredictable, and occasionally hostile.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hidden Attack Chain
&lt;/h2&gt;

&lt;p&gt;At a glance, browsing seems harmless, especially if you sanitize user inputs. But the moment your agent &lt;a href="https://neuraltrust.ai/blog/openai-atlas-omnibox-prompt-injection" rel="noopener noreferrer"&gt;follows a link&lt;/a&gt;, you’ve expanded the attack surface. Let’s break it down:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A user provides a prompt that includes or results in a URL&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It may be directly embedded (“Go read this: [URL]”) or indirectly retrieved via a search function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The model follows the URL using its browsing tool&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This step often feels safe because it’s system-controlled. But it’s also unverified.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The URL leads to hostile content: crafted HTML with embedded prompt injections or misleading instructions&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This is where the attacker gains influence. They may host jailbreak payloads, encode misleading prompts, or structure their pages to influence the model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The model reads the hostile content and uses it as part of its response or future decisions&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The LLM assumes the content is part of its safe context window. Even without visible signs, the model’s output is now manipulated.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Real-World Examples
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Jailbreak payloads hosted on public URLs&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Attacks that instruct the model to ignore safety guidelines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Links to HTML pages with prompt instructions hidden in metadata or &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; blocks&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
These may never be rendered visually but still influence model behavior.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SEO-optimized malicious pages&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Designed to surface in LLM-enabled search tools, ensuring the agent is more likely to stumble into them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Chain of redirections&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A safe-looking URL may redirect to a secondary location hosting dangerous content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, by letting your agent browse, you’re exposing your model to the worst of the internet, without a human-in-the-loop to vet what it’s seeing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Traditional Safeguards Don’t Work
&lt;/h2&gt;

&lt;p&gt;Most developers approach LLM security by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sanitizing prompt inputs&lt;/li&gt;
&lt;li&gt;Filtering out unsafe output&lt;/li&gt;
&lt;li&gt;Using safety-tuned models (e.g., OpenAI’s GPT-4 with moderation layer)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But none of these defenses apply when the model is consuming external, unpredictable content.&lt;/p&gt;

&lt;p&gt;The LLM sees external content as part of its normal working memory. It doesn’t know whether that content was created by a well-meaning user or a malicious actor.&lt;/p&gt;

&lt;p&gt;Even content that looks benign can be encoded with prompt injection attacks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Off-screen instructions&lt;/strong&gt;: Using CSS to hide text but still render it in the DOM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-width characters or unicode tricks&lt;/strong&gt; to bypass token-based filters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clever language framing&lt;/strong&gt;: Telling the model “you’re in a sandbox simulation” can override its usual guardrails.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unless you’re deeply inspecting every token of fetched content, and doing it &lt;em&gt;before&lt;/em&gt; it hits the model, you’re at risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  The False Sense of Control
&lt;/h2&gt;

&lt;p&gt;Agent frameworks make it easy to combine tools:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;initialize_agent&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
  &lt;span class="n"&gt;web_browsing_tool&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;calculator_tool&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;vector_search_tool&lt;/span&gt;
&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;chat_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It feels composable, modular, and safe. But each tool is a trust boundary. The more autonomous the agent becomes, the less visibility you have into what it’s actually doing.&lt;/p&gt;

&lt;p&gt;Giving an agent a browser is like giving a junior developer root access to production, and no code review.&lt;/p&gt;

&lt;p&gt;Developers often assume:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I built the tools, I know what the agent can do.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But once the model starts making decisions, it’s not just your code executing—it’s its own reasoning process. And reasoning can be hijacked.&lt;/p&gt;

&lt;p&gt;This is especially risky when agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chain multiple tools together&lt;/li&gt;
&lt;li&gt;Extract content from arbitrary pages&lt;/li&gt;
&lt;li&gt;Use that content to make calls, summaries, or decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point, the developer is no longer in control. The model is.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Secure Agentic Browsing
&lt;/h2&gt;

&lt;p&gt;Here are five things you can do right now:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Whitelist Only Trusted Domains&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Don’t let your agents browse arbitrary URLs. Maintain an allowlist of trusted sites your agent is allowed to visit. Think in terms of explicit trust, not implicit reachability.&lt;br&gt;&lt;br&gt;
You can even combine this with URL fingerprinting or certificate pinning to guard against redirection and spoofing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Strip and Sanitize Fetched Content&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Never pass raw HTML to a language model. Use a parser like BeautifulSoup or a headless browser to extract only the visible, meaningful text.&lt;br&gt;&lt;br&gt;
Before passing content into the model:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remove &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt;, and hidden elements
&lt;/li&gt;
&lt;li&gt;Normalize character encodings
&lt;/li&gt;
&lt;li&gt;Strip invisible unicode
This gives you a chance to clean payloads before they hit the model’s context window.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use Browsing Only for Internal Workflows&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Public-facing assistants should not have unbounded browsing capabilities. Instead, browsing should be an internal system tool with guardrails and monitoring.&lt;br&gt;&lt;br&gt;
For example:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;   &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;admin_users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
       &lt;span class="nf"&gt;enable_browsing&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
       &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;disable_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;browser&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Limit exposure by tying capability to role or user tier.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Introduce Review and Delay Layers&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Instead of immediate model ingestion, route fetched content through a queue or review system. This is especially important in enterprise deployments.&lt;br&gt;&lt;br&gt;
You can:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Queue browsing outputs for manual approval
&lt;/li&gt;
&lt;li&gt;Use classifiers to detect suspicious content
&lt;/li&gt;
&lt;li&gt;Apply delay-based rate limiting to reduce fast exploitation loops&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitor and Audit Tool Usage&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Track every tool invocation your agent performs. When did it browse? What URL? What response did it get?&lt;br&gt;&lt;br&gt;
Feed this telemetry into your logging or SIEM system:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"browser"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://some-site.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"user_prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"summarize this"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"model_response"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="nl"&gt;"timestamp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2025-10-28T14:02:00Z"&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you track it, you can enforce policies—or at least spot misuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The browser isn’t just another LLM plugin. It fundamentally alters your system’s threat model.&lt;/p&gt;

&lt;p&gt;Giving agents the ability to browse adds depth and power—but also real danger. This isn’t just about prompt injection anymore. It’s about &lt;strong&gt;content injection&lt;/strong&gt;, &lt;strong&gt;environment manipulation&lt;/strong&gt;, and &lt;strong&gt;indirect system compromise&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If your AI agents can browse, ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do I know what they’re seeing?&lt;/li&gt;
&lt;li&gt;Do I control what they’re allowed to read?&lt;/li&gt;
&lt;li&gt;Do I have a fallback when things go wrong?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Autonomy is great. But in agent systems, &lt;strong&gt;autonomy without &lt;a href="https://agentsecurity.com/blog/agent-security-platforms" rel="noopener noreferrer"&gt;guardrails&lt;/a&gt; is just vulnerability in disguise&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>jailbreak</category>
      <category>browser</category>
    </item>
  </channel>
</rss>
