Skip to content

docs(testing): the TDX row covers the quote, not the TDREPORT (#370) - #529

Merged
imran-siddique merged 1 commit into
mainfrom
agent/tdreport-validation-gap-370
Aug 19, 2026
Merged

docs(testing): the TDX row covers the quote, not the TDREPORT (#370)#529
imran-siddique merged 1 commit into
mainfrom
agent/tdreport-validation-gap-370

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Last piece of #370. Part of the CoSAI WS4 Phase 1 review (ws4 #149) close-out.

docs/testing/hardware-validation.md exists to enforce one rule: no document describes cMCP as hardware-attested for a platform until a genuine quote from that platform has been verified end to end, and the run is recorded. The TDX row was at risk of being read wider than the run behind it.

The recorded run verifies a DCAP v4 quote. verify_tdx_measurement() also parses the 1024-byte TDREPORT_STRUCT from the TDX_CMD_GET_REPORT0 ioctl — a different artifact — and no real TDREPORT has been checked against it.

That matters now because #371 found both TDREPORT offsets wrong (MRTD read from inside REPORTMACSTRUCT.report_data, REPORTDATA from the leading RESERVED block) and #527 corrected them against the published Intel ABI. The correction is asserted against the ABI and against a property that needs no hardware to state — a measurement must not move when only the nonce moves. Neither is a capture, and synthetic self-consistency is precisely what this page says is not validation.

Nothing about those offsets being wrong for that long would have been visible to a reader of the table as it stood, which is the reason to write the caveat down rather than carry it in a PR description nobody re-reads.

This page exists to enforce one rule: no document describes cMCP as
hardware-attested for a platform until a genuine quote from that platform has
been verified end to end and the run is recorded here. The TDX row was at risk
of being read wider than the run behind it.

The recorded run verifies a DCAP v4 quote: attestation-key signature over
header plus TD report body, the QE report binding, the PCK signature, and the
PCK chain to the pinned Intel SGX Root CA. verify_tdx_measurement() also parses
the 1024-byte TDREPORT_STRUCT from the TDX_CMD_GET_REPORT0 ioctl, which is a
different artifact, and no real TDREPORT has ever been checked against it.

That matters now because #371 found both TDREPORT field offsets wrong, MRTD
read from inside REPORTMACSTRUCT.report_data and REPORTDATA read from the
leading RESERVED block, and #527 corrected them against the published ABI. The
correction is asserted against the ABI and against a property that needs no
hardware to state, that a measurement must not move when only the nonce moves.
Neither is a capture, and synthetic self-consistency is exactly what this page
says is not validation. Nothing about the offsets being wrong for that long
would have been visible to a reader of the table as it stood.

Refs #370, #371, #527

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@imran-siddique imran-siddique added the cosai-ws4 Named in the CoSAI WS4 Phase 1 review (ws4 #149) as a review target label Aug 18, 2026
@imran-siddique imran-siddique self-assigned this Aug 18, 2026
@imran-siddique
imran-siddique enabled auto-merge (squash) August 18, 2026 16:03
@imran-siddique
imran-siddique requested review from a team and removed request for a team August 18, 2026 18:58
@imran-siddique

Copy link
Copy Markdown
Member Author

@Mayur021 — all required checks are green. Could you take the maintainer approval pass when you have a moment?

@Mayur021

Copy link
Copy Markdown

Read the diff. The narrowing is right. The validated run covers the DCAP quote path and no TDREPORT capture exists yet, so the row should not read wider than that. Nothing I would change in the wording.

On the approval itself I would rather not be the one to click it. Phase 2 says these stay in review until an independent maintainer approves, and I am one of the reviewers that record cites, with an issue in the same evidence set. An approval from me would not carry the independence that sentence is claiming. Better from someone outside the review.

@imran-siddique
imran-siddique merged commit dbd77e7 into main Aug 19, 2026
13 checks passed
@imran-siddique
imran-siddique deleted the agent/tdreport-validation-gap-370 branch August 19, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cosai-ws4 Named in the CoSAI WS4 Phase 1 review (ws4 #149) as a review target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants