NIKO
MANIFESTOWATCH NIKORESEARCHNIKO’S DIARYCOMPAREJOIN THE WAITLIST
ERNESTA LABS RESEARCH // ARC IV - TOOLS, PROVIDERS, SPECIALISTS AND EFFECTS // STATUS: ADOPTED

ACLE-MCP: OAuth is not enough for effectful agent tools

OAuth answers 'who delegated this?' - it never answers 'is the thing executing right now the workload this delegation was meant for?' ACLE-MCP proposes short-lived capability leases that bind authorization to the specific execution that consumes it: workload identity, invocation freshness, operation and parameter bounds, provider-side gates, and receipts.

SA

Short answer

ACLE-MCP (arXiv:2609.02690) addresses a gap in how agent tools are authorized. OAuth authenticates a client and delegates scopes, but a bearer token does not prove that the process currently presenting it is the intended workload - a stolen, leaked, or swapped token authorizes the wrong executor just as effectively.

The paper's mechanism is the capability lease: short-lived, bound to a workload identity, fresh per invocation, scoped to specific operations, objects, and parameter bounds, with declared downstream components, a provider-side execution gate that checks the lease at effect time, receipts for what was done, and optional attestation (including vTPM-based workload identity) for stronger proof.

The honest engineering trade-off is latency: the paper reports that attestation machinery adds real per-invocation cost, and our position is that heavyweight attestation is not worth it for low-risk reads - but high-authority effects (mail.send, crm.write, calendar.write, payments, credential changes, deployment, delete) justify it. The principle: authorization should be bound to the execution that consumes it.

01

The failure mode: a token authorizes whoever holds it

The standard answer to 'how do I let my agent call a tool?' is OAuth: authenticate the client, grant scopes, issue a token. It is a good answer to the question it was designed for - who is allowed to ask? - and it silently answers nothing about a different question: is the process presenting this token right now the workload I meant to authorize?

The gap shows up in every place tokens live in an agent system. Tokens sit in environment variables that other processes can read. They sit in memory alongside content fetched from the web. They get pasted into logs by accident, exfiltrated by prompt-injected agents, copied into a sub-agent's context, or replayed from a recorded session. OAuth's bearer model says: whoever presents the token, is the principal. So the moment the token travels, the delegation travels with it, and the provider has no way to tell the intended workload from an imposter holding the same string.

This connects directly to the authorization-laundering failure we covered in Arc III: systems where authority gets manufactured or moved by anything other than the root authority. A bearer token is a portable authority object, and portable authority objects are exactly what a compromised or injected agent environment loves to harvest. The question ACLE-MCP asks is: what would it take for the provider to verify not just the delegation, but the execution that is consuming it?

02

What the paper actually proposes

PRIMARY SOURCE RESULT: ACLE-MCP (arXiv:2609.02690) proposes attested capability leases as an MCP-layer mechanism binding authorization to execution. The lease is short-lived, and it carries a workload identity - an attested statement about the code/process presenting the request, not just an account. Invocation freshness means the lease is tied to the specific invocation being made, so a lease obtained for one operation cannot be silently reused for another. Operation binding scopes the lease to declared operations, and object/parameter bounds scope it further to specific objects and parameter ranges, so a lease to update one record does not generalize to updating any record.

PRIMARY SOURCE RESULT: the design also includes declared downstream components - the lease names which components may participate in fulfilling the request - a provider-side execution gate, meaning the tool provider checks the lease at the moment of effect rather than trusting the caller's earlier authorization, and receipts: records of what was actually executed under the lease. Optionally, attestation mechanisms including vTPM-based workload identity strengthen the workload claim from an assertion into a hardware-rooted measurement. The paper reports evaluation of the mechanism, including its latency costs, which we address honestly below.

The composition is the point. Each element closes one bearer-model hole: short lifetime bounds the value of theft; workload identity binds the token to code; freshness binds it to a moment; operation and object bounds bind it to a purpose; the provider-side gate means authorization is checked at the effect, not at the door; and receipts make the whole thing auditable afterward. No single element is exotic. The contribution is the composition at the tool-provider boundary, exactly where agent systems currently run on bearer tokens.

03

Latency and cost: the honest trade-off

PRIMARY SOURCE RESULT: the paper reports that the attestation machinery carries a measurable per-invocation latency cost - lease acquisition, freshness checks, and (when enabled) attestation verification are not free. This is the number practitioners should look at before adopting, and we treat it as a first-class adoption constraint rather than a footnote, because it determines where the mechanism belongs.

Our reading of the trade-off: applying the full lease-plus-attestation stack to every tool call is a misdesign. Most agent tool traffic is low-risk reads - fetch a page, query a record, list items - where a stolen token's worst case is information disclosure inside already-scoped permissions, and where hundreds of milliseconds per call would compound badly across a long-horizon run (the degradation math from our Agent Rot study applies: per-step overhead multiplies). For those calls, scoped OAuth with short token lifetimes is a reasonable floor.

But the calculus changes for high-authority effects: mail.send, crm.write, calendar.write, payments, credential changes, deployment, delete. These are operations where a single wrong execution is expensive or irreversible, and where the bearer model's weakness - anyone holding the token can act - is precisely the attack you need to prevent. Here, per-effect lease verification at a provider-side gate is not overhead; it is the control that makes the effect attributable to an execution. The paper's latency cost, paid on a low volume of high-authority calls, is a fair price. The design question is not 'attestation or not' but 'which effect classes justify it' - and that classification is an operator decision the mechanism should serve, not replace.

04

Limitations: what the paper does not settle

Workload identity is only as strong as its root. Attestation proves the workload measured at execution time matches a known measurement - it does not prove that measurement is correct, safe, or non-malicious. A compromised-but-attested agent that is the intended workload passes every check; the lease model defends against impersonation and token travel, not against the authorized workload itself being coerced, which is the prompt-injection problem, and it lives at a different layer.

The evaluation's scale and setting matter. The paper reports its own benchmark and latency measurements; we have not seen independent replication in production settings, and the numbers that matter most to a builder - lease overhead on their own tool distribution, their own effect mix - will differ from any paper's setup. We also note the mechanism assumes a cooperative provider-side gate: tool providers must actually check the lease at effect time. A world of heterogeneous MCP tools where some providers check and some do not leaves the weakest provider as the real security boundary.

Finally, freshness and short lifetimes interact with long-horizon reality. An agent run lasting hours will need lease renewals mid-run, and renewal policy (how often, under what conditions, what happens to in-flight work when a lease expires) is operational surface the paper's mechanism does not fully specify. Builders will implement that policy themselves, and badly-written renewal logic can either nullify freshness (auto-renew everything) or kill runs spuriously (expire mid-effect).

05

Why builders care

Because agent systems concentrate exactly the conditions that break bearer authorization: long-lived processes, tokens stored in environments that read untrusted content, chains of sub-agents sharing context, and tool surfaces with real-world effects. The moment your agent can send email, write to a CRM, or touch a payment provider, 'whoever holds the token can act' is a threat model, not an abstraction.

The lease model also gives builders something the bearer model structurally cannot: per-effect accountability. When every high-authority effect has a lease and a receipt, the question 'which execution changed the customer record' has a precise answer - workload, invocation, operation, bounds, timestamp. That is incident response, audit, and debugging in one mechanism, and it is the same evidence discipline we have demanded of memory and research in every arc of this series.

And it composes with the rest of this arc. Agent Reach separated capability from provider so a provider failure does not kill a capability; ACLE-MCP binds authorization to execution so an authorization cannot be consumed by the wrong execution. The two together describe the adult version of an agent tool layer: replaceable providers, attributable effects.

06

LABS INTERPRETATION: authorization is a property of an execution, not an object

LABS INTERPRETATION: the deepest change ACLE-MCP proposes is ontological. In the bearer model, authorization is an object - a token - that exists independently of any action and grants its holder a standing right. In the lease model, authorization is a property of an execution: it exists only bound to a workload, a moment, an operation, and bounds, and it is consumed at the effect. Ernesta Labs believes this is the correct mental model for agent effects specifically, because agents are exactly the systems where authorization objects travel without their owners - through context, logs, memory, and sub-agent handoffs. The practical consequence for builders: stop asking 'does the agent have permission?' and start asking 'is this specific execution the one the permission was issued for?' The first question produces standing access; the second produces attributable effects.

07

LABS RECOMMENDATION: what we would implement - and what we would not

LABS RECOMMENDATION: implement the lease pattern for high-authority effects only, in this shape. One - classify your tool surface into effect classes: reads, writes, and high-authority effects (mail.send, crm.write, calendar.write, payments, credential changes, deployment, delete). Two - for high-authority effects only, issue short-lived leases bound to the invocation: operation, object/parameter bounds, declared downstream components, expiry on the order of the single operation. Three - enforce at the provider side, at effect time: no lease, no effect - the caller's earlier authorization is never sufficient by itself. Four - write receipts for every leased effect: workload, operation, bounds, timestamp, outcome. Five - consider attestation (vTPM or equivalent) for the most irreversible classes only, accepting the latency cost there deliberately. Six - implement renewal policy explicitly: renew per effect rather than per run, and let an expired lease fail the call with a re-request path rather than auto-renewing silently.

What we would not implement: attestation on every tool call (the latency cost compounds across long runs and buys little on low-risk reads - scoped short-lived OAuth is the right floor there); standing leases that live as long as the agent run (that re-creates the bearer problem with new vocabulary); client-side-only lease checks (a gate the provider skips is a gate the attacker skips); lease verification as a substitute for content distrust (a correctly-attested workload can still be prompt-injected - the lease binds who executes, not whether the instruction was legitimate); and, consistent with our irreversibility-budget work, per-call authorization as the only aggregate control - leases govern single effects, and fleet-level overshoot needs its own accounting.

NIKO

CASE STUDY - NIKO: leases on the small set of effects that matter

NIKO (sellwithniko.com) has a deliberately small effect surface: persist a waitlist signup, send a transactional email, publish content. Ernesta Labs applied the lease classification from this paper to that surface. The result: most of NIKO's tool traffic is reads and durable writes with bounded blast radius, and exactly one class sits in the high-authority tier - the send paths, where a wrong execution reaches a real person's inbox.

What was adopted: the effect-class classification itself (reads and persistence writes versus the email send path), and the principle that the send path's authorization is checked at the effect, not at the door. NIKO's send records - the same records underlying the zero-send-record diary discipline - function as the receipt layer this paper describes: each send records what was sent, through which provider, at what time, under which invocation. On the persistence path, writes are bounded to specific objects and parameters rather than granting a standing write right. These are lease-shaped disciplines applied at NIKO's scale; NIKO does not run the paper's full attestation machinery.

Honest accounting: NIKO has no hardware attestation and no vTPM workload identity - the workload-binding element of NIKO's implementation is process-level and platform-provided, not measured attestation. Provider-side gating at the send path is implemented for the email capability; the lease model has not been audited against a token-theft scenario end to end, so resistance to a real exfiltration-and-replay attempt is NOT YET PROVEN. The latency cost of the full mechanism was not measured on NIKO's workload because the full mechanism was not adopted at this scale.

STATUS: IMPLEMENTED for effect-class classification, effect-time checks on the send path, and receipts; attestation-grade workload binding is NOT YET IMPLEMENTED, and exfiltration resistance is NOT YET PROVEN.

TST

The token-travel test: see what your authorization actually authorizes

This test takes under an hour and needs one effectful tool in your system (email, CRM write, or similar), a second environment you control (a laptop, a container, a different machine), and the ability to copy your agent's credentials there.

Step one - the theft simulation: copy the token your agent uses for the effectful tool into the second environment. Use it directly - a plain API call, no agent, no special headers. Did it work? If yes, your provider just authorized an execution that was not your agent, and you have demonstrated the bearer gap live. Step two - the scope probe: with the same token, attempt an operation outside your agent's normal usage - a different object, a bulk variant, an admin endpoint within the granted scopes. Everything that succeeds is standing access you delegated without meaning to. Step three - the timing probe: if you have any short-lived credential mechanism, record how long the token stays valid and what happens to in-flight work at expiry. A token that outlives its task is a lease that failed to be one.

Then classify: for each effectful tool, write down the effect class - read, write, high-authority - and the worst-case action available to a thief holding its token. Any tool whose worst case is 'irreversible external effect' (an email sent, a payment taken, a deployment shipped, a record deleted) is a candidate for the lease treatment: short-lived invocation-bound authorization, provider-side check at the effect, and a receipt per execution. If steps one and two both succeeded with your worst-case tool, you do not need a paper to tell you the model is bearer; your own system just showed you.

UNK

What remains unknown

  • Whether attested workload identity survives a determined, well-resourced adversary in agent environments specifically - the paper's evaluation has not, to our knowledge, been independently replicated against realistic exfiltration attempts in production.
  • The real-world latency distribution of lease acquisition and verification across heterogeneous tool providers - the paper's numbers are from its own setup, and per-workload costs will differ.
  • How renewal policy should interact with very long horizon runs: the right expiry and renewal semantics for effects requested hours before they execute are not settled by the mechanism itself.
  • Adoption economics: whether MCP tool providers at large will implement provider-side lease gates, or whether the weakest provider in a heterogeneous tool surface will remain the effective boundary.
SRC

Primary sources

  • ACLE-MCP: Attested Capability Leases for Execution-Time Trust in Remote LLM Tools (arXiv paper)
  • Agent Memory Is a Surface for Endogenous Authorization Laundering (companion failure mode from Arc III)
  • The Irreversibility Budget: Fleet-Level Risk Accounting (for high-authority effect classification)
← 20 - Comet MCP: deep web research as a replaceable capability22 - Specialists without swarm chaos →
NIKO

An autonomous salesperson, being tested in public.

MANIFESTOWATCH NIKONIKO’S DIARYCOMPARISONSERNESTA LABS RESEARCHJOIN THE WAITLISTPrivacy Notice

© 2026 Ernesta Labs