Defeat IP Rotation: Block Bots by JA4 at the WAF
WebDecoy now tracks bots as persistent actors and pushes a JA4 rule to your AWS WAF or Cloudflare, blocking rotating scrapers across every IP they use.
securityHow Web Bot Auth, ARD, OAuth, and workload identity fit together to authenticate AI agents, preserve user delegation, and create auditable access.
AI agent authentication is not one protocol. It is a stack.
An agent may need to discover a tool, prove which workload is running, authenticate an HTTP request, show that a user delegated authority, and leave enough evidence to reconstruct the action later. ARD, workload identity, Web Bot Auth, and OAuth solve different parts of that sequence. Treating any one of them as the whole answer creates an identity gap.
That distinction became important in 2026. Google announced the open Agentic Resource Discovery specification for finding and verifying agentic capabilities. A separate IETF Internet-Draft on AI agent authentication proposed an architecture for agent credentials, delegated user authority, workload identity, authorization, and audit trails.
Neither document replaces OAuth. Neither makes a signed bot trustworthy. Together, however, they show what a serious agent identity architecture needs to look like.
| Layer | The question it answers | Typical mechanism | What it does not prove |
|---|---|---|---|
| Discovery | Where is the capability, and who published its metadata? | ARD catalogs, registries, trust metadata | That the caller is allowed to invoke it |
| Workload identity | Which running software workload is this? | WIMSE credentials, SPIFFE IDs and SVIDs, mTLS | Which user delegated authority |
| Request authentication | Did this HTTP request come from the claimed automated client? | Web Bot Auth, HTTP Message Signatures, mTLS | That the requested action is permitted |
| Delegated authorization | What may the agent do, for which audience, and on whose behalf? | OAuth access tokens, token exchange, transaction tokens | That the agent will behave safely |
There is a fifth layer underneath all four: observability. If an operator cannot connect the discovery result, workload credential, user delegation, authorization decision, tool call, and final side effect, the system is not meaningfully auditable.
Traditional web automation often has two identity mechanisms:
User-Agent header that names the bot.The first is a claim anyone can copy. The second is usually both an identity credential and a bearer permission compressed into one long-lived secret. If that key leaks from a log, environment variable, container image, or agent transcript, whoever possesses it inherits its authority.
AI agents make this weakness worse because one action can involve several distinct principals:
Collapsing those principals into one API key destroys the information an authorization engine needs. It also creates an audit record that says only “the key did it,” not which workload ran, who authorized it, what constraints applied, or where the authority changed hands.
The July 2026 IETF draft starts from a useful premise: agents are workloads. They should receive cryptographic credentials at runtime, authenticate as themselves, carry delegated authority separately, and preserve both identities through the call chain. The draft calls the overall conceptual stack an Agent Identity Management System, or AIMS. It is an architecture, not a new product or wire protocol.
Agentic Resource Discovery addresses a problem that appears before authentication: how does an agent find the right tool, API, MCP server, A2A agent, skill, or nested catalog without relying on a closed directory or hard-coded endpoint?
ARD uses domain-hosted catalogs and federated discovery services. A publisher can describe resources and attach trust metadata; a consumer can discover a candidate, verify the published information, and then connect through the resource’s native protocol. Google’s announcement describes support for MCP servers, A2A agents, OpenAPI tools, and nested catalogs.
The boundary matters. ARD is intentionally pre-invocation infrastructure. It does not execute the tool, authenticate every request, or make the authorization decision. Once discovery hands the consumer the endpoint, protocol, and trust information, the native protocol takes over.
That means ARD can help answer:
It cannot answer:
Put differently: verified discovery metadata is not a runtime access token. It can establish a trusted starting point, but the resource must still authenticate and authorize the caller.
ARD itself was still evolving when this article was published. The open ARD specification repository described version 0.91 as an evolving specification. Teams can experiment with it, but should version their catalogs and avoid treating today’s fields as permanently fixed.
After discovery, the caller needs a real identity. The strongest model is not “read a secret from an environment variable.” It is “attest this runtime and issue a short-lived credential to the workload that passed attestation.”
This is the workload identity pattern. The agent has a stable identifier, while its credentials are temporary and rotated. A workload identity system can bind issuance to facts such as the cluster, namespace, service account, image, execution environment, or deployment policy.
SPIFFE is a mature example. A workload receives a SPIFFE ID and a short-lived SPIFFE Verifiable Identity Document, or SVID, through the Workload API. An SVID may be X.509 or JWT based. The workload can then use that identity for mTLS or application-level authentication without shipping a long-lived secret beside the code.
The IETF AI agent authentication draft is broader. It points to WIMSE identity and credential work and allows a SPIFFE ID as one concrete identifier. Its important requirements are architectural:
This identity is useful even when no human is involved. A scheduled research agent, inventory reconciler, or autonomous monitoring service still needs its own identity so policy can distinguish it from every other workload in the environment.
Workload identity is a natural fit inside an organization or trust domain. The open web has a different problem: a site receives an HTTP request from a crawler or browsing agent it does not operate. The request claims a name, but the origin needs evidence that the claim belongs to the operator.
Web Bot Auth addresses that boundary. It profiles RFC 9421 HTTP Message Signatures so automated clients can sign relevant request components and servers can verify the signature using public keys associated with the agent operator.
A valid signature can prove that:
It does not prove that:
That last distinction is the most important: authentication is evidence for an authorization decision, not the decision itself.
Web Bot Auth is particularly useful for public-web traffic because it upgrades a spoofable user-agent claim into verifiable request identity. It also coexists with fallback verification. Most automated traffic is still unsigned, so sites may use operator-published IP ranges and forward-confirmed reverse DNS where available, then treat a bare user-agent string as unproven.
For a deeper protocol walkthrough, see Web Bot Auth and signed crawlers and our analysis of the signed-agent identity shift.
Once an agent is authenticated, a resource still needs to know what it may do. That is OAuth’s job.
There are two materially different cases.
A service agent may call an API as itself. It can obtain a narrowly scoped access token through an appropriate machine-to-machine grant and authenticate to the authorization server with its workload credential. The IETF draft explicitly argues against substituting a static, long-lived client secret for workload identity.
The resulting token should be:
Here the system must preserve two identities: the agent as the OAuth client and the delegating principal as the subject. The user grants authority through an interactive flow such as the authorization code flow; the agent separately authenticates itself with its workload credential.
The resource should be able to answer both:
That separation limits the confused-deputy problem. It also prevents an audit record from falsely attributing an automated action directly to the human.
For multi-service workflows, OAuth 2.0 Token Exchange lets a security token service exchange one token for another with a different audience or reduced authority. The IETF agent draft also discusses transaction tokens for downscoping authority across internal call chains. Every hop should narrow or preserve authority; no downstream tool should silently gain a broader token than the initiating agent received.
OAuth’s current security guidance is consolidated in RFC 9700. Agent systems should follow those protections rather than reviving weaker historical patterns simply because an autonomous client is involved.
A defensible architecture can now be described as one sequence:
The design is composable. A public browsing agent might use workload identity to authenticate to its own control plane, OAuth to carry a user’s delegated authority, and Web Bot Auth when making a signed request to an unrelated website. ARD may have helped it discover an API earlier, but ARD does not need to remain in the runtime request path.
Signing tells the site who holds a key. It does not make every request from that identity safe. Keep behavioral controls, rate limits, route policy, and response-level data authorization in place for verified agents.
If a downstream service sees only the user’s identity, it cannot tell whether the user acted directly or an agent acted for them. If it sees only the agent, it cannot enforce user-specific consent. Carry both.
An agent should not forward its broad original token through every tool call. Exchange or downscope tokens for each audience and action. This limits blast radius and makes each authorization decision legible.
Catalog content can point an agent toward an attacker-controlled endpoint or unexpected protocol. Verify publisher trust metadata, constrain redirects and egress, and apply normal SSRF defenses. Discovery says where a capability claims to be; authorization still decides whether to use it.
If every replica shares one API key, the system cannot distinguish instances or revoke one compromised runtime. Use workload attestation and short-lived credentials so a copied binary or container does not inherit durable identity.
Logging only the final API call is not enough. Preserve the agent identity, delegating principal, token audience and scope, policy version, authorization decision, and action result. The IETF draft treats observability as a security control because incident response depends on reconstructing that chain.
WebDecoy operates at the inbound web boundary, where site owners usually cannot see an agent’s internal workload identity or its OAuth relationship with a user. What the site can evaluate is the request that arrived and the public identity evidence attached to it.
The WebDecoy Agent Identity layer uses the strongest evidence available:
That is one layer in the larger architecture described here. WebDecoy does not turn ARD metadata into permission, replace an enterprise workload identity system, or issue a user’s OAuth grant. It gives the receiving website a defensible answer to a narrower and essential question: what identity evidence did this inbound agent request actually earn?
The answer can then feed site policy: allow, monitor, rate limit, challenge, or block. Read the Verified Agents documentation for the implementation model.
The components are at different maturity levels.
-03 version was updated in July 2026 and remains work in progress.That mix is normal. Teams do not need to wait for every draft to become final before removing static secrets, separating agent and user identity, enforcing narrow OAuth audiences, or building complete audit trails. Those are sound security properties regardless of which emerging discovery or request-signing profile wins adoption.
The useful mental model is simple:
No one layer can safely stand in for the others. The 2026 standards work matters because it stops treating “AI agent” as one magical new principal and starts decomposing it into the identities, credentials, delegation, policy, and evidence that security systems already know how to manage.
For websites, that architecture begins at the request boundary: stop trusting names that are free to copy, verify identity where proof exists, and keep authorization and behavior controls in the loop even after the signature checks out.
AI agent authentication is the process of proving which software agent is making a request and, when relevant, which user or system delegated authority to it. A complete design also binds the agent to short-lived workload credentials, limits what it may do, and preserves both identities in the audit trail.
No. ARD helps an agent find capabilities and verify discovery metadata before invocation. It does not authenticate every runtime request or grant permission to use a resource. The native protocol and the resource server still handle authentication and authorization.
Web Bot Auth proves that an HTTP request was signed by the holder of a key associated with an automated client. OAuth conveys limited authorization: what the client may access, for which audience, and sometimes on whose behalf. A production system may use both because proof of identity is not permission.
Yes, when the agent runs as a service or autonomous process. Runtime-issued, short-lived credentials bind identity to the workload more safely than API keys or client secrets embedded in code, images, or configuration. SPIFFE is one mature way to issue this identity, while the IETF AI agent authentication draft also builds on WIMSE concepts.
No. A valid signature answers who controls the signing key, not whether the requested action is appropriate or whether the agent will behave safely. Authorization policy, behavioral monitoring, rate limits, and revocation remain necessary.
WebDecoy sits at the inbound web boundary. It verifies Web Bot Auth signatures when present, uses published IP ranges or forward-confirmed reverse DNS for supported unsigned crawlers, and distinguishes verified agents from unproven user-agent claims. It complements rather than replaces OAuth, workload identity, or an agent's internal authorization system.
WebDecoy now tracks bots as persistent actors and pushes a JA4 rule to your AWS WAF or Cloudflare, blocking rotating scrapers across every IP they use.
securityAI-generated form spam is harder to catch than the old kind. An honest technical breakdown of what works, what fails, and where the arms race is going.
securitySee how credential stuffing attacks work, which tools and proxies attackers use, and how to detect and prevent account takeover at the login endpoint.
securityLike this post? Share it with your friends!
Get a personalized demo from our team.