Skip to content

Enforce verifier-owned SNP platform policy - #656

Merged
imran-siddique merged 2 commits into
mainfrom
agent/snp-platform-policy
Sep 17, 2026
Merged

imran-siddique merged 2 commits into
mainfrom
agent/snp-platform-policy

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

What

Add immutable SnpPlatformPolicy requirements to native SNP, Azure vTPM-rooted SNP and the public verify_trace_claim API. Explicit policy requires authenticated SNP evidence and is evaluated only after signature/chain verification.

Why

A valid report signature establishes authenticity but does not establish that the reported platform meets the relying party's requirements. Callers can now require or forbid PLATFORM_INFO fields, reject unknown bits, and receive a failure when software evidence or another provider cannot satisfy the configured SNP policy.

Security impact

Policy is supplied by the verifier, not accepted from the claim issuer. Unknown or contradictory field requirements are rejected. Omitting the optional policy preserves existing verification behavior.

This covers PLATFORM_INFO only. Guest DEBUG policy, firmware TCB currency, revocation, GPU state and runtime gateway admission remain outside this change. Synthetic signed reports test enforcement; this PR does not claim a new cMCP hardware run.

Test plan

  • pytest tests/unit tests/conformance tests/integration -q: 1,871 passed, 8 skipped on Windows/Python 3.12
  • ruff check src/ tests/
  • mypy src/cmcp_runtime/ src/cmcp_verify/
  • bandit -q -r src/ -c pyproject.toml
  • New manual cMCP hardware validation (not performed)

Includes 28 focused platform-policy tests using signed synthetic evidence, covering both SNP paths, the public API and provider/software bypass attempts. Checks ran on the branch rebased onto current main with matching local package metadata.

DCO sign-off

  • Contribution is submitted with DCO sign-off.

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
@imran-siddique
imran-siddique marked this pull request as ready for review September 17, 2026 22:56

@Qiang-Xu Qiang-Xu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@imran-siddique
imran-siddique merged commit d7c5cf5 into main Sep 17, 2026
17 checks passed
@imran-siddique
imran-siddique deleted the agent/snp-platform-policy branch September 17, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants