Skip to content

refactor(verify): delegate shared attestation crypto to agent-manifest 0.5#413

Merged
imran-siddique merged 1 commit into
mainfrom
refactor/shared-verifiers
Jul 21, 2026
Merged

refactor(verify): delegate shared attestation crypto to agent-manifest 0.5#413
imran-siddique merged 1 commit into
mainfrom
refactor/shared-verifiers

Conversation

@imran-siddique

Copy link
Copy Markdown
Contributor

Consolidates cMCP's attestation crypto onto agent-manifest's shared verification library (0.5.0, via PyPI) — one implementation for the org instead of duplicated copies.

What now delegates to agent-manifest

  • SNP report signatureagent_manifest.verify_snp_signature (+ parse_snp_report).
  • VCEK and PCK certificate-chain verificationagent_manifest.verify_cert_chain, the generic algorithm-agnostic verifier (EC / RSA-PSS / RSA-PKCS#1 v1.5, fingerprint-pinned root). This was the genuinely-duplicated core (implemented per-repo before). cMCP's verify_vcek_chain and the TDX PCK-chain walk are now thin calls into it; _snp_report_signature_der and the two _cert_signed_by copies are removed.

What stays local (deliberately)

  • cMCP's DCAP quote parser (parse_td_quote/_ParsedQuote), _SnpAttestationReport struct, SNPVerificationResult/TDXVerificationResult shapes, TR-field semantics, and all report_data/qualifying-data binding checks — format-glue + cMCP orchestration, not shared crypto.
  • cMCP's TPM verifier: Phase-1 parse-only (no AK signature or cert chain in the claim), so there is no shared crypto to delegate. Stays local until the cMCP TPM claim format carries an AK sig+chain.

Guarantees

Behavior unchanged, no check weakened: all 814 unit tests pass unchanged; ruff + mypy clean. Dep bumped to agent-manifest>=0.5.

🤖 Generated with Claude Code

…t 0.5

Removes cMCP's duplicated cryptographic verification in favor of the shared
agent-manifest library (single source of truth across the org, consumed via
PyPI). SNP report-signature -> agent_manifest.verify_snp_signature; VCEK and
PCK certificate-chain verification -> agent_manifest.verify_cert_chain (the
generic, algorithm-agnostic verifier). cMCP keeps its DCAP quote parser,
*VerificationResult shapes, TR semantics, and all binding checks; behavior is
unchanged. TPM stays local (Phase-1 parse-only; no AK sig/chain to share).

Dep: agent-manifest>=0.5. 814 tests pass unchanged; ruff + mypy clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@imran-siddique
imran-siddique merged commit 0db566f into main Jul 21, 2026
12 checks passed
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.

1 participant