| Internet-Draft | Agentic Context Taint Isolation | October 2026 |
| Durga | Expires 2 May 2027 | [Page] |
Autonomous AI agents operating over Model Context Protocol (MCP) and Agent-to-Agent (A2A) transports routinely ingest untrusted external data (emails, web documents, retrieved RAG chunks) into the same inference context that authorizes privileged control-plane tool calls. Existing workload identity and token standards (OAuth 2.1, GNAP, WIMSE Wit/Wpt tokens) bind client identity and authorization scope, but fail to cryptographically bind the provenance taint of the data-plane context that induced the tool invocation, leaving systems vulnerable to indirect prompt-injection confused-deputy attacks. This document specifies a deterministic COSE_Sign1 and JSON Canonicalization Scheme (JCS, RFC 8785) wire profile that attaches a cryptographic Context Taint Attestation (CTA) header to every control-plane tool invocation, forcing relying parties to fail closed when an untrusted or mixed data-plane context attempts to trigger a state-mutating action without an independent out-of-band human or policy approval receipt.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 2 May 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
In classical microservices, control-plane requests are triggered by deterministic code paths. In autonomous AI agents, however, a single LLM inference window blends trusted system instructions with untrusted data-plane inputs (e.g., third-party documents, webhooks, or unverified peer agent outputs). Neither OAuth 2.0 Token Exchange (RFC 8693) nor WIMSE Workload Identity Tokens carry a cryptographic commitment to the taint lattice of the context window active at the moment of tool selection.¶
This specification complements the foundational execution-trace verification architecture defined in draft-durga-agenttrust-trace-verification-00 by introducing deterministic, fail-closed wire semantics specifically addressing Agentic Context Taint Isolation.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 ([RFC2119] [RFC8174]) when, and only when, they appear in all capitals, as shown here.¶
Every control-plane tool invocation emitted by a conforming agent runtime MUST include an Agent-Ctx-Isolation header (or _meta.ctxIsolation object in JSON-RPC/MCP) carrying a signed Context Taint Attestation object serialized using RFC 8785 JCS or RFC 8949 Deterministic CBOR:¶
{
"cta_version": "1.0",
"invocation_id": "urn:uuid:7f9c2b10-44a1-49e2-910b-88a12c34e901",
"parent_trace_ref": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"system_prompt_digest": "sha256:4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a",
"data_plane_merkle_root": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"taint_lattice_level": "UNTRUSTED_INGESTED",
"tool_effect_class": "STATE_MUTATING",
"step_up_receipt_hash": "sha256:d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35",
"iat": 1793404800,
"exp": 1793404860,
"signature": {
"alg": "Ed25519",
"kid": "sha256:1b4f0e9851971998e732078544c96b36c3d01cedf7caa332359d6f1d83567014",
"sig": "base64url(Ed25519(JCS(payload)))"
}
}
¶
Conforming verifiers and relying-party gateways MUST enforce the following deterministic invariants before releasing any downstream side effect:¶
All pre-image objects MUST be canonicalized using RFC 8785 JSON Canonicalization Scheme (JCS) prior to signature generation or verification under RFC 8032 Ed25519. Any clock skew exceeding 60 seconds, digest mismatch, or missing cryptographic binding MUST cause the verifier to fail closed and emit an auditable security rejection receipt.¶
This document requests IANA registration of the media type application/agent-ctx-isolation+json and the registry IETF Agent Context Taint Lattice Levels (TRUSTED_ONLY, MIXED_TAINT, UNTRUSTED_INGESTED, QUARANTINED), alongside the following header fields:¶