{"id":4110,"date":"2026-11-11T12:45:04","date_gmt":"2026-11-11T12:45:04","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=4110"},"modified":"2026-11-11T12:45:04","modified_gmt":"2026-11-11T12:45:04","slug":"we-built-an-agent-that-broke-all-of-our-security-rules-heres-what-we-learned","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=4110","title":{"rendered":"We Built An Agent That Broke All of Our Security Rules. Here&#8217;s What We Learned."},"content":{"rendered":"<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhB22NtEOE6ioVcc92S5bLfFX3tbKyjNkx0j8OmHekqWq6Od4h9DtFmbmdd74VzwHCh5h6NbWnBgHgKzC49DwS7QAgA0uH3eL7BvBnN9QJu3U5-oiy5ZFMN7PvaJTBqjP7TR5VMjzrGxjfOfjgBqs3lecFZnWGEYNDp_BJgklco1L_acBqGm1M_CvtfLaY\/s1700-nu-rw-lo-l85-e365\/AI-AGENT.png\" style=\"display: block;  text-align: center; clear: left; float: left;\"><\/a><\/div>\n<p>We tell customers three things about securing AI agents: they need their own identities, access that fits the job they\u2019re given, and traceability that\u2019s separate from any human\u2019s. That was true for us at Token as well. Then, we built an agent that broke all three by default.<\/p>\n<p>This helped us think through how such agents should be defended. When a browser agent acts inside a user\u2019s authenticated session, the application may see the user but not the agent, the delegation, or the task\u2019s intended scope. By creating an agent that breaks all the security rules, Token learned how companies should be using identity to gain control, especially as agent use scales. Standards are coming, but there are steps security teams can take today.<\/p>\n<h2><strong>The agent we would have flagged<\/strong><\/h2>\n<p>The <a href=\"https:\/\/www.token.security\/blog\/introducing-token-rehearsal-walkthrough-learning?utm_source=thehackernews&amp;utm_medium=3rdparty&amp;utm_campaign=thehackernews&amp;utm_content=nov-11\" target=\"_blank\">agent we created is named Rehearsal<\/a>. Its job is to answer questions inside the Token platform by doing rather than telling. It autonomously opens pages in the browser tab, sets filters, and fills in forms.<\/p>\n<p>From a security perspective, it\u2019s a typical UI agent that runs in the user\u2019s browser. That\u2019s what makes it useful. But it also means the agent runs within the user\u2019s session and has their reach.<\/p>\n<p>Moreover, to the server behind the page, the agent\u2019s clicks are inherently indistinguishable from the user\u2019s, because nothing in a session cookie points to who the session driver is.<\/p>\n<h2><strong>What controlling both sides made possible<\/strong><\/h2>\n<p>Because Token owns both the agent and the app it runs, we can close each gap from the inside. For example, Token knows who\u2019s driving the session because Rehearsal tells it who is.<\/p>\n<p><a name=\"more\"\/><\/p>\n<p>We learned that there are multiple best practices that you can apply when you control the AI agent itself:<\/p>\n<ul>\n<li>While the agent moves, dim and lock the application and clearly indicate who has control.<\/li>\n<li>Record every move for each session, including those that were blocked.<\/li>\n<li>Reduce the agent\u2019s reach below the user\u2019s. For Rehearsal, we ensure the dashboards are read-only. It can\u2019t save anything without the user\u2019s approval, doesn\u2019t fill in secret fields, and never sends a call that the platform has refused. It also understands the dashboard controls through the page\u2019s accessibility labels.<\/li>\n<\/ul>\n<p>This works for our own agent, but only because it relies on access that no outside agent has.<\/p>\n<h2><strong>Who has to fix it for everyone else?<\/strong><\/h2>\n<p>We could give Rehearsal an actor, a scope, and a page map because we&#8217;re the ones who wrote it. A browser agent driving your CRM or your cloud console has none of that. The app can&#8217;t tell that it\u2019s there, and the agent can&#8217;t tell which field holds a secret or which button deletes a record. The session itself carries the user&#8217;s identity.<\/p>\n<p>The way out is to give agents their own lanes, separate from human users&#8217;. The web has started building them, but it isn&#8217;t necessarily focused on holistic approaches.<\/p>\n<p>The browser can mark when its agent is driving and restrict itself accordingly. Chrome auto-browse, for example, already requires a person\u2019s approval before high-stakes actions such as payments or mass emails, limits its agent to the sites the task requires, and tags the pages the agent visits in the user\u2019s history. Microsoft lets admins turn agentic browsing on per site and pause it before passwords and card numbers are entered.<\/p>\n<p>The app can publish its actions as tools. WebMCP, a draft that Google and Microsoft are writing in a W3C community group, lets a site expose actions that an agent can call directly and flag each one as read-only or consequential. That way, the agent doesn&#8217;t need to guess what a button does.<\/p>\n<p>The agent can sign its requests. Web Bot Auth, now an IETF working group draft, lets a site verify which agent sent a request.<\/p>\n<p>What\u2019s missing is a layer that connects them. Each lane knows something the others don\u2019t, and none of them passes it on. The browser knows its agent is driving, but neither Chrome nor Edge describes how to tell the app on the other end. A WebMCP tool runs inside the user\u2019s session, with the user\u2019s rights, so it doesn\u2019t, by itself, narrow what the agent can reach. Web Bot Auth names the agent, but the draft makes it plain that it doesn\u2019t cover delegation, so it omits the person the agent works for.<\/p>\n<p>The app ends up holding on to pieces of context rather than delivering something actionable.<\/p>\n<p>Now consider that the agents are arriving faster than the standards. Agent-friendly isn\u2019t enough on its own. Every lane built for agents should carry the agent\u2019s identity, a verifiable link to the person it acts for, and a scope narrower than that person\u2019s. Together, those three signals give an application the minimum context it needs to make an authorization decision. Otherwise, a faster lane is just a faster path to the misuse of privilege.<\/p>\n<h2><strong>What security teams can do before standards catch up<\/strong><\/h2>\n<p>Waiting for standardization is not an option. You need to <a href=\"https:\/\/www.token.security\/book-a-demo?utm_source=thehackernews&amp;utm_medium=3rdparty&amp;utm_campaign=thehackernews&amp;utm_content=nov-11\" target=\"_blank\">start discovering agentic browsers and extensions as soon as possible<\/a>, including the users whose sessions they borrow. And while you can\u2019t tell who clicked, you can choose which clicks need a person by adding a step-up check such as a passkey prompt. <\/p>\n<ul>\n<li>Inventory browser agents, agentic extensions, and endpoint agents that can act through authenticated sessions and map them to users and owners.<\/li>\n<li>Trace every AI agent consumer, so you know which people (and other agents) are using each individual agent<\/li>\n<li>Review every identity that each individual agent has access to<\/li>\n<li>Identify potential attack paths that use agents to bypass access controls<\/li>\n<li>Require explicit approval or step-up authentication before sensitive or irreversible application actions.<\/li>\n<li>Ask critical SaaS vendors whether their audit records distinguish agent activity from human activity and whether they support task-scoped delegation.<\/li>\n<\/ul>\n<p>Until browsers and applications can carry agent identity, human delegation, and task scope together, companies should treat every agent using a human session as delegated access that must be discovered, constrained, and audited.<\/p>\n<div class=\"cf note-b\">Found this article interesting? <span class=\"\">This article is a contributed piece from one of our valued partners.<\/span> Follow us on <a href=\"https:\/\/news.google.com\/publications\/CAAqLQgKIidDQklTRndnTWFoTUtFWFJvWldoaFkydGxjbTVsZDNNdVkyOXRLQUFQAQ\" rel=\"noopener\" target=\"_blank\">Google News<\/a>, <a href=\"https:\/\/twitter.com\/thehackersnews\" rel=\"noopener\" target=\"_blank\">Twitter<\/a> and <a href=\"https:\/\/www.linkedin.com\/company\/thehackernews\/\" rel=\"noopener\" target=\"_blank\">LinkedIn<\/a> to read more exclusive content we post.<\/div>\n<\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We tell customers three things about securing AI agents: they need their own identities, access that fits the job they\u2019re given, and traceability that\u2019s separate from any human\u2019s. That was&hellip;<\/p>\n","protected":false},"author":1,"featured_media":4111,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[683,2004,2307,829,4121,2057,47],"class_list":["post-4110","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-agent","tag-broke","tag-built","tag-heres","tag-learned","tag-rules","tag-security"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/4110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4110"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/4110\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/4111"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}