Skip to content

feat: Lunal upstream attestation verification in privateclaw verify step [4/5] (Phase 1B)#2

Merged
aamirrasheed merged 1 commit intomainfrom
feat/lunal-upstream-attestation-verify
Apr 9, 2026
Merged

feat: Lunal upstream attestation verification in privateclaw verify step [4/5] (Phase 1B)#2
aamirrasheed merged 1 commit intomainfrom
feat/lunal-upstream-attestation-verify

Conversation

@aamirrasheed
Copy link
Copy Markdown
Collaborator

Summary

  • Parses new X-Upstream-Attestation-Report header (added by tee-proxy v0.3.0+) from the same curl used for the existing orchestrator attestation check
  • Decodes base64+gzip to a temp file, runs attestation-cli verify, reports Upstream (Lunal) VCEK Chain: VALID on success
  • Both orchestrator and Lunal upstream attestations must pass for step [4/5] to succeed
  • If upstream header is absent (pre-v0.3.0 tee-proxy or Lunal not sending), shows WARN instead of hard fail — backward compatible

Context

tee-proxy PR #19 adds the header preservation. Lunal is confirmed to be sending Attestation-Report on their side (verified via direct curl from prod orchestrator to confidential-vllm-production-stack-demo.lunal.dev).

Test plan

  • Bash syntax check (bash -n privateclaw) — passing
  • Deploy tee-proxy v0.3.0 to staging orchestrator
  • SSH a staging CVM, run privateclaw verify, confirm step [4/5] shows both VCEK chains VALID
  • Test backward compat: if tee-proxy is pre-v0.3.0, step [4/5] should still pass with WARN on upstream line

🤖 Generated with Claude Code

Phase 1B: privateclaw verify now validates both layers of TEE attestation:

1. Orchestrator attestation (Attestation-Report from tee-proxy) — existing check
2. Lunal upstream attestation (X-Upstream-Attestation-Report from tee-proxy v0.3.0+)
   — new: decodes base64+gzip, runs attestation-cli verify, reports
   "Upstream (Lunal) VCEK Chain: VALID" on success

Both layers must pass for step [4/5] to succeed. If the upstream header is
absent (tee-proxy pre-v0.3.0 or Lunal not sending), a WARN is shown instead
of a hard fail for backward compatibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@aamirrasheed aamirrasheed merged commit d691a7d into main Apr 9, 2026
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