[SCITT] Re: Verifier conformance behind the decision record: draft-correctover-ccs and a negative-test floor for pre-execution verification
Walter Hawkins <wdhawkins46@gmail.com> Tue, 15 September 2026 01:55 UTC
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (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 1893C50 for <scitt@ietf.org>; Tue, 15 Sep 2026 01:55:56 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=qy9vM2W3; arc=pass ("google.com:s=arc-20260327:i=1"); dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx.ietf.org: domain of wdhawkins46@gmail.com designates 2a00:1450:4864:20::230 as permitted sender) smtp.mailfrom=wdhawkins46@gmail.com
Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-3a49d2b18d5so29204851fa.3 for <scitt@ietf.org>; Mon, 14 Sep 2026 18:55:55 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1789437349; cv=none; d=google.com; s=arc-20260327; b=PUWY4SU1L2jJZ5rbmVrb7zhpYH4O6JngWcoib00n7Rq8eoN7GuFj+VF3BRzGydEWz2 JZl5TAkKGvkqMyJkTlcOhvMuXPqLfV/XoFTmYQASYSBRQi9nLdFwcMBNwXZ2nNeN1NGR 7ntCKwNSp3UlmLfuHoJh1YqNLMgRDYdOmwfehe0JQX1LOWRpLAZfHFqYCg9s+uj+Uw0B 3gc+3lalTHdR7DUuzzrnitxFjqadoC6Oq7eXoCXXlwWfAqhuKBQO7gRntJwrlAiUmYkw SEixpf7TR3he5ykJ2Kzh/AZYR5o0cFG68QE3Ol+DpXP1yqyC9S60NuqU0O3iC6WEXdiL a39A==
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=zPgL00untrEr4BuF0p43n/vNGgu8t3GCUaGK7W6OxJ4=; fh=VpXThXp4ZoeYeJKKo9rnOpjS4GRetIU1RmsRd3BBg/s=; b=ELdk2z1P9fThx7kwOPHs1Mj0a0qyHhArIKqrRFl+3MkNtRhSKINONDvUJmoksmkbxY 9KhizSw1JBs3MrtS9+wvzzHW4YRDj6+TpOxgP2GBz3qmjXpczCs92txi/qq0tr4CgwUY 3pPxvVYCWVkWbidaluRovej3Zj+UEE4Olbm8ObtSwtJRkxVpNFgZHjNQmXFTcFfl7BTY +t7xcf1VWsCoe+Z5FqrrZg+wdtwYsKcz3m+gRdH0kfpCKVzyIHmcQBNHkNx4ZCiq7hlS 5C24EbbiobMWyxI4kbzeZNuA8iU0b91BjAFJP/flTBTfjrEBBTINbdyLUBicN+7NzVHo /QSw==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789437349; x=1790042149; 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=zPgL00untrEr4BuF0p43n/vNGgu8t3GCUaGK7W6OxJ4=; b=qy9vM2W3fFP0wGGE9ptFp1SVAWNwTC+flJuvOnnVv3VL5E8q/ttoZTYANQXsjVEhaW cSuld6ZqQGXPT3E/pvPvEy9pjy6ePWhbia554c5+n2bwDDXqdvvKlZ6+WioqXNR9Bd9Y gudS64rMJGyJVpFh5O5DLYrxPywZ1yurwf9NGnupCwJ9JMpNWc61b44GVQkqT6rHJU1x wBOmYWElmRt7uTix6yeSmyMIgiXtAHPZNDaIqEBEX2KLy4NZLkjeBEZmvA5bCyFQeG+z tAEAnvjJp3gzpooUsMG+OxI4+09iwExwXd1khyfgy292FBBqnSvhpdTUZuo7JgyzwJfu s8UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789437349; x=1790042149; 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=zPgL00untrEr4BuF0p43n/vNGgu8t3GCUaGK7W6OxJ4=; b=TJV9n9DKdQDdEjmJS+cViLvo4c8dwlr+tf9H/fq1t2LWrcFYsWvZxpFTbiFHhqMvsG kbvvqV5/6Wym+wFmLIff0eb5hUHBJmEz/g2W0qquQtdtDgh1vI42H7jg/9UQjb909HYX 1tAOqmjM/pkn72phuHblvx5jzhEnCpcFVC9d0jzZCggRWnjC4u9eXGpFPYrpEmlz48RX //1I1HDI/fBOxlsK4v57oihCIW3vKgiHS+uH4XlrQs208zvacDY7B3s7DCjl0BJIJPEp dCb1gMQw6k8ysQ6zjPO8c79GChzfZYZzbca5mzKhBIEfDqETrnSrIeh2Z9bM72a7ymWE Z6Tw==
X-Forwarded-Encrypted: i=1; AKwUvBzfA6Gwzp+ydrTTG+lWkb3n9UNnE2R00lgTqdS3vSoDVc32I3oWNERSNXrZbamDh0f36BFLsQ==@ietf.org
X-Gm-Message-State: AFuF++ljfZ4d0++dJ2CsU8uWaIAFp6X1oV+LoOIphkUcV6mQ2o7Et8or 6WdZclpBAyoCeF++9cpPJC3N7DzyxJpAQQlDJ0ZkO0sHz4WSE4VqA+KMm/OHOUf1vhVVYFj81Vi uhTt9/avrntv86MlZxp9OAYSrXYo1HaU=
X-Gm-Gg: AYBFou1wHsUa1ItKL64QC3TH5aEfVK5FrhcxtdTrG0+t2PmI9EN9KlOA6NKrCyYardB xqOLu24x1KHv4VEMZ6vkrHOflELZlhqM6QlNduzRI5RA//XhlUla2Fo3OEopO6XCze+DqXqRDP9 nylnmpnNoP5VKG3uHes53USaMax1ynQjwAX4zfC7oX2GgXe7Rv/LiaDxbdtbWqrm8DOf1A/fs1O wYnvR4jEbRzrmxLkKSZ4JxH2ECTOkBHi6FPrlM9PbcYv/rhJLA9FHHLUj3BmNja5Y0w7AN+kljl oT05dWRvUo4pvISNSoVhEeHM07sz6cURO1oZJhOeZfrbh3Sp8/fIjw==
X-Received: by 2002:a2e:b8cf:0:b0:3a2:522:c75 with SMTP id 38308e7fff4ca-3a5c885b146mr7560541fa.4.1789437348372; Mon, 14 Sep 2026 18:55:48 -0700 (PDT)
MIME-Version: 1.0
References: <178902483102.2.17428457458933682242@correctover.com> <DS0PR20MB625547370A1D95270B23CFA9F5BF2@DS0PR20MB6255.namprd20.prod.outlook.com> <CALc05oHrckb7iAHcP6p2HVLkgXFimR0wGpbAXS0d-7vUZUuyFw@mail.gmail.com> <DS0PR20MB6255DC632589B59AA41C828EF5BB2@DS0PR20MB6255.namprd20.prod.outlook.com>
In-Reply-To: <DS0PR20MB6255DC632589B59AA41C828EF5BB2@DS0PR20MB6255.namprd20.prod.outlook.com>
From: Walter Hawkins <wdhawkins46@gmail.com>
Date: Mon, 14 Sep 2026 20:55:37 -0500
X-Gm-Features: AcwNN1Wf5rcy5nYmJbEewKihp-QjhJG9z4LWYpYLUmv4CDCuEge__YroecMbr5U
Message-ID: <CALc05oFXkOys6VpbDk7Va=Y5pW2OnPOhL--A02832_Ofn73biQ@mail.gmail.com>
To: Douglas Wadkins <Douglas.Wadkins@strakewright.ai>
Content-Type: multipart/alternative; boundary="0000000000007f636e065b7bd956"
X-Spamd-Bar: --
Message-ID-Hash: QXOSVHKPPDT7ZBFGC4H2EFAHW57VDTTK
X-Message-ID-Hash: QXOSVHKPPDT7ZBFGC4H2EFAHW57VDTTK
X-MailFrom: wdhawkins46@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-scitt.ietf.org-0; header-match-scitt.ietf.org-1; header-match-scitt.ietf.org-2; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Guigui Wang <wangguigui=40correctover.com@dmarc.ietf.org>, "scitt@ietf.org" <scitt@ietf.org>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [SCITT] Re: Verifier conformance behind the decision record: draft-correctover-ccs and a negative-test floor for pre-execution verification
List-Id: "Supply Chain Integrity, Transparency, and Trust" <scitt.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/scitt/A3JMHlqtLHZlZjEXDKpufAjJVG4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scitt>
List-Help: <mailto:scitt-request@ietf.org?subject=help>
List-Owner: <mailto:scitt-owner@ietf.org>
List-Post: <mailto:scitt@ietf.org>
List-Subscribe: <mailto:scitt-join@ietf.org>
List-Unsubscribe: <mailto:scitt-leave@ietf.org>
Doug, Guigui, Agreed. Framing (1) as the baseline requirement and (2) as an attestation profile keeps the abstraction boundary clean. Making the join explicit in the evidence envelope so relying parties can distinguish between a static build-to-conformance claim vs. a hardware-attested runtime execution avoids collapsing distinct assurance grades into a monolithic "conformant" label. Completely aligned. Walter On Mon, Sep 14, 2026 at 12:03 PM Douglas Wadkins < Douglas.Wadkins@strakewright.ai> wrote: > Walter, > > Thanks. This is the right shape, and your (1) is the piece I didn't state > clearly enough. A signed statement binding a build digest to the > conformance floor and vector set is the missing join. I think that is the > requirement. > > I would separate (2) from it though as I don't think the two bindings > eliminate the third-party trust problem. The conformance statement is still > signed by somebody. The relying party still has to decide who that issuer > is, what authority they have, and whether the statement applied at T. RFC > 9943 leaves that trust decision to the relying party. > > The hardware doesn't remove that and it strengthens the other half. The > attestation can bind this particular decision to the measured instance at > T. But the measurement doesn't establish that the build passed Guigui's > eleven vectors. That claim still comes from the signed conformance > statement. So I would rather not make the TEE the answer. It is a strong > construction where both sides can appraise it, but it shouldn't be the > requirement. > > I think the requirement is that the evidence makes the join explicit. A > relying party should be able to tell whether it has a signed > build-to-conformance binding, that plus runtime attestation, or something > weaker. Those shouldn't all just look like "conformant." > > So (1), yes, stated as the requirement. (2) as one way to make the runtime > side stronger. > > Doug > > > *From: *Walter Hawkins <wdhawkins46@gmail.com> > *Date: *Saturday, September 12, 2026 at 06:41 > *To: *Douglas Wadkins <Douglas.Wadkins@strakewright.ai> > *Cc: *Guigui Wang <wangguigui=40correctover.com@dmarc.ietf.org>, > scitt@ietf.org <scitt@ietf.org> > *Subject: *Re: [SCITT] Re: Verifier conformance behind the decision > record: draft-correctover-ccs and a negative-test floor for pre-execution > verification > > Doug, Guigui, > > This thread hits the exact structural boundary that needs formalizing. > > Doug's framing of the join is spot on: > > "At T+n, how does a relying party independently determine that the > verifier instance that signed this particular receipt was the > implementation that satisfied the cited conformance floor and that the > tested or audited code and configuration were actually the ones in force at > T?" > > `config_hash` and `issuer` URIs identify policy and identity, but they > cannot prove execution integrity at evaluation time. A software-only > verifier can claim it ran negative vector set v1.2 while silently running > an unpatched binary. > > To make the join independently determinable at T+n without introducing > trusted third-party auditors into the loop, two bindings are required: > > 1. **Static Conformance Statement:** A signed endorsement (or registered > SCITT statement) linking a specific build digest (code measurement / image > hash) to the evaluated negative-vector floor (e.g. Guigui's 11 CCS vectors). > 2. **Instance Hardware Measurement Binding:** The running evaluator > executes inside a hardware-isolated confidential environment (e.g. TEE). > The hardware attestation quote embeds the measurement of the running binary > (e.g. MRTD/PCR values) and binds the RFC 8785 receipt hash directly into > its attested user-data field (`reportData`). > > When relying parties evaluate the receipt at T+n, the verification is > closed: > - The receipt binds the event and verdict (Permit / Capsule). > - The hardware measurement in the receipt matches the build digest in the > registered conformance statement. > - The conformance statement attests that this exact build passed the > negative vector floor. > > This keeps Guigui's 7-dimension evaluation floor and Doug's lifecycle > layers clean, while grounding the evaluator's runtime truth in verifiable > cryptographic hardware rather than administrative trust. > > Walter > > On Thu, Sep 10, 2026 at 11:06 AM Douglas Wadkins < > Douglas.Wadkins@strakewright.ai> wrote: > > Guigui, > > Useful framing and I think the gap is real but I would describe it a bit > different. > > The negative vectors establish a property of an implementation and given > those cases a conformant verifier must reject them. The receipt establishes > a property of a particular event and this verifier says it evaluated this > request under this configuration and reached this verdict. > > CCS already binds the request, parameters, runtime context, rule summary > and configuration, so the missing piece is not another policy or input > identifier. The remaining question is the join between those two claims. > > At T+n, how does a relying party independently determine that the verifier > instance that signed this particular receipt was the implementation that > satisfied the cited conformance floor and that the tested or audited code > and configuration were actually the ones in force at T? > > config_hash does real work as it prevents a verifier from being > reconfigured after issuing a receipt. What it doesn't do is show that the > configuration it commits to is the one that was tested. And issuer is a > Verifier URI, so the receipt identifies which verifier answered, not which > build answered. A conformance run or audit tells me what an implementation > did when tested. Neither, by itself, binds this decision to that tested > evaluator. > > So the useful companion is a binding from the decision receipt to a signed > conformance or attestation statement. That statement would identify the > verifier implementation, the conformance level and vector-set version, and > the configuration or policy floor to which the result applies. Stronger > assurance could additionally bind a measurement of the running instance. > > This leaves the layers clean: Permit records the pre-execution decision, > CCS defines the verifier floor, and the additional binding makes the > relationship between the two independently determinable later. > > Doug > > *From: *Guigui Wang <wangguigui=40correctover.com@dmarc.ietf.org> > *Date: *Thursday, September 10, 2026 at 01:21 > *To: *scitt@ietf.org <scitt@ietf.org> > *Subject: *[SCITT] Verifier conformance behind the decision record: > draft-correctover-ccs and a negative-test floor for pre-execution > verification > > Hi SCITT WG, > > Following the agent-action evidence work here and on agent2agent - the > Permit profile (draft-munoz-scitt-permit-profile), Agent Action Capsules > (draft-mih-scitt-agent-action-capsule), the NOA SCITT agent-receipt > profile, and the AgentInteractionRecord profile - I would like to share an > adjacent individual draft and ask where it might usefully fit. > > These profiles do a thorough job on the form of evidence: a signed, > registered, independently verifiable record of a pre-execution decision > (Permit) or of a post-execution action (Capsule / AIR / NOA), bound to > request bytes, with authority lineage and transparency receipts. Each also > explicitly stops short of the decision's content. The Permit profile does > not specify "a policy language or evaluation engine," and a Capsule > Constraint Record binds a pass/fail verdict while the actual predicate, > evidence schema, and thresholds remain in the producer's own manifest. > > That leaves a gap at the verifier itself. A gate that always returns > "allow" emits perfectly conformant Permits and Capsules. The envelope > proves that a decision was made and which bytes it authorized; by itself it > cannot show that the verifier actually evaluated the things that make an > allow/deny trustworthy - it does not, on its own, address the omission > case: a check that should have fired and did not. > > draft-correctover-ccs-08 (Correctover Conformance Shape; an individual > Internet-Draft submitted to the Independent Submissions Editor for > consideration - not an RFC and not an IETF endorsement) is aimed at that > layer: the verifier rather than the record. > > - Seven runtime-verification dimensions evaluated on every tool call: > Structure, Schema, Latency, Cost, Identity, Integrity, and Security - the > Security dimension carrying semantics-aware checks for command injection, > SSRF, and credential exfiltration rather than keyword matching. > - A fail-closed verdict model (allow / deny / escalate): "no evidence, no > execution." > - Eleven negative test cases (attacks and tamperings that a conformant > verifier MUST block) plus Level 0-4 conformance with a verifier policy > floor - a falsifiable definition of "the gate fires," which is the > complement a "capsule on every verdict" record needs in order to mean > anything. > - Ed25519 detached signatures over RFC 8785 (JCS) receipts, and two > independent interoperable implementations sharing a conformance vector > format (Section 21). > > The intended relationship is compositional, not competitive. CCS defines > no envelope, transparency log, authority lineage, or request/closure > binding - those are SCITT, Permit, and Capsule. The natural seams are: > > 1. a CCS-conformant verifier's receipt as the evaluation-sufficiency > evidence behind a Permit - the "policy/evaluation engine" the Permit > profile deliberately leaves open - with the CCS negative vectors serving as > an anti-omission floor; > 2. the CCS verdict and rule summary as an interoperable form for what a > Capsule Constraint Record commits to (shared check categories and a > conformance floor, rather than producer-local check ids). > > I would be glad to contribute the negative test vectors and verifier-floor > material to whichever may-layer draft the WG prefers, and I am fully open > to being told this overlaps more than I think with in-flight work. Pointers > and corrections are very welcome. > > Thanks, > Guigui Wang > Correctover - AI Reliability > draft: https://datatracker.ietf.org/doc/draft-correctover-ccs/ > (individual submission, not an RFC or IETF endorsement) > > -- > SCITT mailing list -- scitt@ietf.org > To unsubscribe send an email to scitt-leave@ietf.org > -- > SCITT mailing list -- scitt@ietf.org > To unsubscribe send an email to scitt-leave@ietf.org > >
- [SCITT] Verifier conformance behind the decision … Guigui Wang
- [SCITT] Re: Verifier conformance behind the decis… Douglas Wadkins
- [SCITT] Re: Verifier conformance behind the decis… Walter Hawkins
- [SCITT] Re: Verifier conformance behind the decis… Douglas Wadkins
- [SCITT] Re: Verifier conformance behind the decis… Walter Hawkins
- [SCITT] Re: Verifier conformance behind the decis… Konrad Gruszka