[WIMSE] Re: IETF 127 Hackathon: WIMSE interop scenarios for agent call chains
Iman Schrock <team@emiliaprotocol.ai> Fri, 13 November 2026 01:25 UTC
Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com [IPv6:2001:4860:4864:20::34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 262F446 for <wimse@ietf.org>; Fri, 13 Nov 2026 01:25:39 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=emiliaprotocol.ai header.s=google header.b=mQAaQL79; spf=pass (mx.ietf.org: domain of team@emiliaprotocol.ai designates 2001:4860:4864:20::34 as permitted sender) smtp.mailfrom=team@emiliaprotocol.ai; dmarc=pass (policy=quarantine) header.from=emiliaprotocol.ai; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-oa1-x34.google.com with SMTP id 586e51a60fabf-48eee44b908so469301fac.1 for <wimse@ietf.org>; Thu, 12 Nov 2026 17:25:39 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1794533138; cv=none; d=google.com; s=arc-20260327; b=nSqk2ooGEw9HUWoehyRfkHkRIdxEOyFOlhiNanSen46aW5oIfgGaGVGeNANtl5+773 Gke7kubmXlYPxo25TUhL/flH6GJFYTX8psENFTzjO975u4KjLeMOSa3PN9XE0N9tLkrC v/HAEOcDUQjp2K7q1N+FaJpYemsV1dwzoAgOuB9v+23ahlHg+6YjAc7tw7PdKtcCfII2 dMvhdrnR8VgltAKrH2GF2kSPEkznAI7sr2gAlAVsAUw7UP9XWSzUmMwbd6uIZIRQKTXg QIG4mIiuhkSe4sRj2kRcv8OplLfi7z8YwB8JoT/VKgsHYeBA2oelbAj7b8sZcJCYJsmU kAXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; fh=MiSGzR+BA779gAYyPJgGqZEjdeQ/cLbhHqde/A0uNxI=; b=sIPFT9EGOitvOs5FYBDbuqQP4UIOqzjsl1VfMOEtt3+0oTq4rGGo18brck9WkgDp9F OyF0RUTtMxxruEC8EMDFPeS06zUSj6vLjvkNslrFTfbu9xFEsfei6fh4JAM8nlP5pr4G bGKvT+neUUkjWsEzzpBUQMTdlAiS86167I6ukt2tREJKDL7xQlOh1FfB7x4LgQcmnfEO IHdkdxv5U7Pb4UZdQ6qac7En/jaE1T9qcRjCBBNtr2No3s6u3dhivLeN4ihUiAww/sNJ xEuBdT89C9vgaGx17Ck0MoqALIcwmS32/+404ynxe/5MkEx9jc86W9Z8MtE0S5IGc95l SyiQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emiliaprotocol.ai; s=google; t=1794533138; x=1795137938; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; b=mQAaQL79poSrb8lNgUPgmQ8vn7xPjXmlvq70DJHyx+CC73UScsV2hIwbx47vmPqsPo ocQuk+M3nK1y8suXJHFBqJL6kbfH5T7sqN+YYw5FncY1EGuwtKSHFmCIYvWddo6e+rus X5dwwDasAdwzBCI5LW9dRdk4uzbKJ5Yk7qFYY9XEKHqOhhpSJAJAqXouIH5XYiSfeldp f1mHhl7m10KKuVQhwZ3VnTYqFHTo8lzEVVPh3LSiNzbEDKECI8wsbP4chw2OYzN7mr1b cSm9gJu6AdOHy4Ur40/nCXKh8GnVxKn9mTNyDrNQa5J3DpYXuzQZGdJOea9qTzd3VWln 9diA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794533138; x=1795137938; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; b=WWrWbD1D1d0Hqq4cdVi6Oriwm1tEknqSmhWFQUwA1mqp/jbGmBAR7oYeykj5Xg4UGp RpuNbabUt2f9XrW0f2lBh1wB2PSyBU8tP7taX3pjNa5npDh4/Ch4ligr5U5VoOu0sfMS Zsxy/43p1gJ4qf5Z1yO0Zhw0iCGTj96QOUQz+OaLLwBnUpHLUQghXS0PNR4Jv3Pl7MZU XI/NzW3zr+AQ37qT2CWUVHDawjn0UMgMCwo8oyT+fVNvpgSrXUdx6TsAzUT4j4Lis4px sWjrzd7eglc8wVVmUHmfvOX/NTJnDiIwXk3gZ7uRuDTb4tSCQenDWRvSfT7AiSwBi0hW Z3sw==
X-Forwarded-Encrypted: i=1; AL+hErHTod1FSdDHiro6/XVaTlDYP1zofKo5U3bGm2xG33SmR4mLD78FegppoROd7DskDvQZvT71Yg==@ietf.org
X-Gm-Message-State: APuU4Z85GcNP+IWQnUWkBmBz3+0OxUWatpEHxbDuFn6PgsbWIqvY205M so7qS4idVS91tnY2hNfLd/TQOk6DRNRZPJirWvOifFcSIl2Z1waZ7fjDQBvSI1TYaerkSasC9zw hh32GwrvtoL2GNMi4tTzsHGvDLEjTLPwmRpn3kaBTfB79GGHjiRYP4e7G
X-Gm-Gg: AYBFou1kguf17U9TQgKHuLyeR2hxUbcwxuDMTVZCWBa8aSc5sT72z9F7n5j3LPs7/vT oidrCKHfzRXwDUQCe4yWgEBiLUmfwS5IkdYduGSdQrZebYnxnoOt7/R1yZ/y989/NO3dhqoSGOD c3SdpxKGDm7N2IRTKIEFi+q4N69Hsd5br7PD2C41lqSolPKjNa3Yx8ZeFbPVRNoQR5fcuJzaK9d Pp6F80/zSm9B1ygQs/Qr9QUY8TRh66baw9NQ2iLOcuLuF38Vz8hKQPuDeT+CNuKf3NI39zpczE0 KF2PMuWOiE6IYxWkHTvqUxGkX8V+nN+4OKrWpgp6QuTW2AB111wRcNbgGyOKCY+ZjEi70mCqWbj IJcfNLpbA+jog7uSzRaJ/9BbCH8IVyiSrlB7g5u9sH23hyq2+EMTeUonDaWq9F5IDM+neEWHZaO kiX/iyWxWPzU+joW4DE3QGf+JJwmzjXL9btn4wOR8zYwphzT/xNM1jAp+thQDTuramN9ZUnOrZ7 R6/QLxP6bm+indnKs+I7Q==
X-Received: by 2002:a05:6808:10cf:b0:563:e8b6:c5d5 with SMTP id 5614622812f47-56e64cf4cb6mr1030615b6e.44.1794533138092; Thu, 12 Nov 2026 17:25:38 -0800 (PST)
MIME-Version: 1.0
References: <CAO8m13c5_WwygopkCm3GrbVmm2zHBXCHBBAQuaEqJGuhmYsmLw@mail.gmail.com>
In-Reply-To: <CAO8m13c5_WwygopkCm3GrbVmm2zHBXCHBBAQuaEqJGuhmYsmLw@mail.gmail.com>
From: Iman Schrock <team@emiliaprotocol.ai>
Date: Thu, 12 Nov 2026 17:25:27 -0800
X-Gm-Features: AclHuK8UlZpfYJZmJ6hguW2CHlPc6VcfTGAutbVCzPUkf61aMNSMZM_secGqjxI
Message-ID: <CAOfgHgq0He+Z_GWd4ku1SpTWHSCVUkfJ25YYkA98uLg8brt6gw@mail.gmail.com>
To: ben.le@redthreadsec.com
Content-Type: multipart/alternative; boundary="0000000000003be2fd06601e4ef0"
X-Spamd-Bar: -----------------
Message-ID-Hash: H3SHEO6OVBEQPULCJU3MVIYB3G7VBWND
X-Message-ID-Hash: H3SHEO6OVBEQPULCJU3MVIYB3G7VBWND
X-MailFrom: team@emiliaprotocol.ai
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: alexander.pelov@imt-atlantique.fr, wimse@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [WIMSE] Re: IETF 127 Hackathon: WIMSE interop scenarios for agent call chains
List-Id: WIMSE Workload Identity in Multi-Service Environment <wimse.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/wimse/N84c51Qxwe6i1bihDHCklyDphUg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wimse>
List-Help: <mailto:wimse-request@ietf.org?subject=help>
List-Owner: <mailto:wimse-owner@ietf.org>
List-Post: <mailto:wimse@ietf.org>
List-Subscribe: <mailto:wimse-join@ietf.org>
List-Unsubscribe: <mailto:wimse-leave@ietf.org>
Hi Ben, Thanks for building on the revocation case. For the scenario files, could you distinguish confirmed revocation from an expired status cache and an unavailable status service? A test policy may deny all three, but the log should preserve the reason. That will let us tell whether the revocation check worked. It would also help to label which expectations come from the planned -01 changes. Section 7 of -00 <https://www.ietf.org/archive/id/draft-le-agent-passport-00.html#section-7> leaves an unavailable valid status list to local policy and recommends denial for high-value operations, so the tested policy needs to be explicit. For the before-effect case, I would keep the expected result simple: once the enforcing service sees the revocation, the protected operation produces no effect. Best, Iman On Thu, 12 Nov 2026 16:44:27 -0600, Ben Le <ben.le@redthreadsec.com> wrote: Hi Alexander, Thank you for running this. Your negative cases are close to what draft-le-agent-passport tries to pin down, so here are scenarios from that draft that extend yours across the two trust domains. Each has one expected result that two implementations can compare. 1. Status list unreachable. Make the status list for one hop unavailable, with no cached copy inside its time-to-live. Expected: the receiving service treats the credential as revoked and rejects the request. Variant: the operation is designated low value and a bounded grace period applies; expected: accepted only inside the grace period, rejected after it. Second variant: one unresolvable status anywhere in a delegation chain invalidates the whole chain. 2. Revocation after delegation. This extends your mid-transaction case, and I support Iman's version of it. Agent A in domain A delegates to agent B, the first request succeeds, and then A is revoked while B's credential has not expired. Expected: B's next call fails closed at the receiving hop, including when that hop is in domain B, and any high-value operation revalidates before it takes effect. Record the check that stopped it, whether any effect occurred, and the time from revocation to the first rejection, which the draft bounds by the smaller of the credential's remaining lifetime, the status list's time-to-live and the cache bound. 3. Delegation that widens. A downstream receipt grants more than the receipt it came from (a wider host, more methods, a longer lifetime). Expected: rejected at the hop that receives it. The draft's table of per-constraint comparison rules (host, port, methods, paths, tools, body size, call count, spend, expiry, audience) gives each implementation the same pass or fail for a given pair of receipts. 4. Cumulative limit across two services. Run it twice with a limit of N calls. First, each of two services counts on its own: expect the chain to exceed N in total, which shows why a shared limit cannot be enforced that way. Second, the receipt names exactly one service as the accounting party: expect the limit to hold at N. A receipt that carries a limit but names two audiences should be rejected. 5. Request rewritten in transit. A proxy changes the authority or path after the client signed. Expected: signature verification fails at the receiving service, unless the proxy forwards its own verification result over an authenticated channel that the service already trusts. 6. Tool description changes between hops. The credential pins the digest of each tool definition (and of the agent's build). Partway through the chain, a service serves a changed tool description, or the agent presents a different build. Expected: the next receiving hop checks the digests at call time and rejects the request. I can write each of these as a short scenario file with the inputs, the expected result and the log line to record, in whatever format your harness uses. If you tell me the format (or point me to the AI2II repository), I will send them before the hackathon starts. I would also like to join remotely; please send the details. The draft is at https://www.google.com/url?q=https://datatracker.ietf.org/doc/draft-le-agent-passport/&source=gmail&ust=1794609866981000&sa=E, and -01 will be posted after IETF 127. There is a side meeting on Tuesday 17 November (18:45 to 19:45 PT, Plaza A), where results from the hackathon would be very welcome. Best regards, Ben Le Redthread Security
- [WIMSE] IETF 127 Hackathon: WIMSE interop scenari… Alexander PELOV
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Iman Schrock
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Ben Le
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Iman Schrock
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Marc Miro i Rierola
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Ben Le
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Arun Thallapelly
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Arun Thallapelly
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… Kieran Sweeney
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… ben.le
- [WIMSE] Re: IETF 127 Hackathon: WIMSE interop sce… ben.le