feat: add AMD SEV-SNP attestation support#1
Conversation
|
Hardening follow-up after reviewing:
Applied in commit
Validation rerun: cargo fmt --all
cargo test -p dstack-attest --all-features
cargo check --workspace --all-featuresI also added a local hardening review at |
|
Ran a 3-subagent adversarial review pass (security, code-correctness, integration) over Consolidated highest-priority findings:
Mediums included: Recommended immediate fixes on this draft PR: SCALE enum compatibility + TSM provider detection + explicit experimental SNP gating. Keep the PR draft until real SNP verifier/app-binding work lands. |
|
Pushed the first adversarial-review fix batch: Fixed in this batch:
Validation: cargo fmt --all
cargo test -p dstack-attest --all-features
cargo test -p dstack-vmm --all-features
cargo check --workspace --all-featuresAlso ran an independent subagent review of this fix batch. It flagged the first provider-detection revision for likely rejecting real Still intentionally draft/blocked for production until SNP cryptographic verification + app/config binding are implemented. |
|
Pushed the first SEV-SNP verifier-core slice: What changed:
Validation: cargo fmt --all
cargo test -p dstack-attest --all-features
cargo check --workspace --all-featuresIndependent review note: this is intentionally not “production-ready full SNP attestation” yet. It is the first cryptographic verifier core. Remaining blockers:
|
|
Update: continued the production-attestation hardening path. New commit: What changed:
Validation: cargo fmt --all
cargo test -p dstack-attest --all-features
cargo check --workspace --all-features
git diff --checkThis still intentionally keeps the PR draft. Next blocker is SNP measurement/app binding before any KMS key release path should be enabled. |
|
Progress update: added the next fail-closed KMS measurement/app-binding slice without enabling AMD key release. What changed:
Validation:
Important caveat before any future key release: |
|
Progress update: ported the pure AMD SEV-SNP launch measurement recomputation helper into KMS, still with no AMD key release enabled. What changed:
Validation:
Still intentionally not enabled:
Remaining blocker before release: SNP still needs a dedicated |
|
Progress update: added a helper-only AMD SEV-SNP What changed:
Tests:
Validation:
Still intentionally not enabled:
Next remaining blocker: add real OVMF/kernel/initrd golden-vector proof from |
|
Progress update: added the SEV-SNP measurement golden-vector/live proof check. What changed:
Validation passed:
Still intentionally not enabled:
|
|
Progress update: added the explicit SNP authorization/TCB policy helper layer, still without wiring key release. What changed:
Tests added:
Validation passed:
Still intentionally not enabled:
|
Summary
/dev/sev-guestinside the guestplatform = "auto" | "tdx" | "amd-sev-snp"selection and QEMU SEV-SNP launch argsProof / validation
cargo fmt --allcargo test -p dstack-attest --all-featurescargo test -p dstack-vmm --all-featurescargo check --workspace --all-featureschris@173.234.27.162booted an SNP guest and generated a hardware report via configfs TSM:Note: full proof log is saved locally at
/home/chris/sev-snp-dstack-conversion/amd-sev-snp-attestation-proof.log; plan/status notes are in/home/chris/sev-snp-dstack-conversion/plan.md.Closes Dstack-TEE#443.