Skip to content

Commit be8a23f

Browse files
committed
Merge remote-tracking branch 'origin/master' into feat/tdx-measurement-attestation
# Conflicts: # dstack-attest/src/attestation.rs # verifier/src/verification.rs
2 parents 6b9344b + 08c78dc commit be8a23f

51 files changed

Lines changed: 6340 additions & 261 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 49 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ members = [
6363
"sdk/rust",
6464
"sdk/rust/types",
6565
"no_std_check",
66+
"crates/dstack-cli-core",
67+
"crates/dstack-cli",
68+
"crates/dstackup",
69+
"crates/dstack-auth",
6670
]
6771
resolver = "2"
6872

@@ -75,6 +79,7 @@ dstack-gateway-rpc = { path = "gateway/rpc" }
7579
dstack-kms-rpc = { path = "kms/rpc" }
7680
dstack-guest-agent-rpc = { path = "guest-agent/rpc" }
7781
dstack-vmm-rpc = { path = "vmm/rpc" }
82+
dstack-cli-core = { path = "crates/dstack-cli-core" }
7883
dstack-port-forward = { path = "port-forward" }
7984
cc-eventlog = { path = "cc-eventlog" }
8085
supervisor = { path = "supervisor" }

README.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
Original Contributors: Hang Yin, Kevin Wang, Andrew Miller
1414

15-
[Documentation](https://docs.phala.com/dstack) · [Examples](https://github.com/Dstack-TEE/dstack-examples) · [Community](https://t.me/+UO4bS4jflr45YmUx)
15+
[Documentation](https://docs.phala.com/dstack) · [Security](./SECURITY.md) · [Examples](https://github.com/Dstack-TEE/dstack-examples) · [Community](https://t.me/+UO4bS4jflr45YmUx)
1616

1717
</div>
1818

@@ -29,6 +29,7 @@ AI providers ask users to trust them with sensitive data. But trust doesn't scal
2929
| Platform | Status | Attestation |
3030
|----------|--------|-------------|
3131
| **Bare metal TDX** | Available | TDX |
32+
| **Bare metal AMD SEV-SNP** | Host support; requires an SNP-capable guest image | SEV-SNP |
3233
| **[Phala Cloud](https://cloud.phala.network)** | Available | TDX |
3334
| **GCP Confidential VMs** | Available | TDX + TPM |
3435
| **AWS Nitro Enclaves** | Available | NSM |
@@ -66,15 +67,15 @@ services:
6667
- "8000:8000"
6768
```
6869
69-
Deploy to any Intel TDX host using a guest OS image from [meta-dstack releases](https://github.com/Dstack-TEE/meta-dstack/releases), or use [Phala Cloud](https://cloud.phala.network) for managed infrastructure.
70+
Deploy to a self-hosted TDX machine with the `dstackup install` -> `dstack deploy` workflow, or use [Phala Cloud](https://cloud.phala.network) for managed infrastructure. AMD SEV-SNP hosts use the same workflow when the selected guest image includes `digest.sev.txt`.
7071

71-
Setting up dstack on your own hardware? See the [full deployment guide →](./docs/deployment.md)
72+
Setting up dstack on your own hardware? Start with the [self-hosted quick onboarding guide](./docs/onboarding.md)
7273

7374
## Architecture
7475

7576
![Architecture](./docs/assets/arch.png)
7677

77-
Your container runs inside a Confidential VM (Intel TDX) with optional GPU isolation via NVIDIA Confidential Computing. The CPU TEE protects application logic; the GPU TEE protects model weights and inference data.
78+
Your container runs inside a Confidential VM, such as Intel TDX or AMD SEV-SNP, with optional GPU isolation via NVIDIA Confidential Computing. The CPU TEE protects application logic; the GPU TEE protects model weights and inference data.
7879

7980
**Core components:**
8081

@@ -88,6 +89,19 @@ Your container runs inside a Confidential VM (Intel TDX) with optional GPU isola
8889

8990
[Full security model →](./docs/security/security-model.md)
9091

92+
## Security and Trust
93+
94+
Security docs are linked here so deployers and reviewers can quickly find the trust model, production guidance, audit, and the status of already-answered public findings.
95+
96+
- [Security Overview](./docs/security/) - entry point for users, operators, researchers, and AI agents
97+
- [Security Model](./docs/security/security-model.md) - threat model, trust boundaries, and verification checklist
98+
- [Public Security Reports](./docs/security/public-security-reports.md) - public status for security reports and related hardening work
99+
- [Security Best Practices](./docs/security/security-best-practices.md) - production settings and hardening guidance
100+
- [Security Audit](./docs/security/dstack-audit.pdf) - third-party audit by zkSecurity
101+
- [Report a Vulnerability](./SECURITY.md) - use GitHub's private security reporting path
102+
103+
Please do not disclose exploitable vulnerabilities in public GitHub issues. Use the private reporting path in [SECURITY.md](./SECURITY.md).
104+
91105
## SDKs
92106

93107
Apps communicate with the guest agent via HTTP over `/var/run/dstack.sock`. Use the [HTTP API](./sdk/curl/api.md) directly with curl, or use a language SDK:
@@ -107,24 +121,19 @@ Apps communicate with the guest agent via HTTP over `/var/run/dstack.sock`. Use
107121
- [Verification](./docs/verification.md) - How to verify TEE attestation
108122

109123
**For Operators**
124+
- [Hardware Enablement](./docs/hardware-enablement.md) - Prepare a TDX or AMD SEV-SNP host
125+
- [Self-hosted Quick Onboarding](./docs/onboarding.md) - First app on one host
110126
- [Deployment](./docs/deployment.md) - Self-hosting on TDX hardware
111127
- [On-Chain Governance](./docs/onchain-governance.md) - Smart contract authorization
112128
- [Gateway](./docs/dstack-gateway.md) - Gateway configuration
113129

114130
**Reference**
115131
- [App Compose Format](./docs/normalized-app-compose.md) - Compose file specification
132+
- [Native TEE Interfaces](./docs/native-tee-interfaces.md) - Advanced compatibility with Linux TEE devices and configfs-tsm
116133
- [VMM CLI Guide](./docs/vmm-cli-user-guide.md) - Command-line reference
117134
- [Design Decisions](./docs/design-and-hardening-decisions.md) - Architecture rationale
118135
- [FAQ](./docs/faq.md) - Frequently asked questions
119136

120-
## Security
121-
122-
- [Security Overview](./docs/security/) - Security documentation and responsible disclosure
123-
- [Security Model](./docs/security/security-model.md) - Threat model and trust boundaries
124-
- [Security Best Practices](./docs/security/security-best-practices.md) - Production hardening
125-
- [Security Audit](./docs/security/dstack-audit.pdf) - Third-party audit by zkSecurity
126-
- [CVM Boundaries](./docs/security/cvm-boundaries.md) - Information exchange and isolation
127-
128137
## FAQ
129138

130139
<details>
@@ -167,14 +176,17 @@ Yes. dstack powers production AI infrastructure at [OpenRouter](https://openrout
167176
<details>
168177
<summary><strong>Can I run this on my own hardware?</strong></summary>
169178

170-
Yes. dstack runs on any Intel TDX-capable server. See the [deployment guide](./docs/deployment.md) for self-hosting instructions. You can also use [Phala Cloud](https://cloud.phala.network) for managed infrastructure.
179+
Yes. dstack runs on supported TEE-capable servers, including Intel TDX-capable hardware. See the [deployment guide](./docs/deployment.md) for self-hosting instructions. You can also use [Phala Cloud](https://cloud.phala.network) for managed infrastructure.
171180

172181
</details>
173182

174183
<details>
175184
<summary><strong>What TEE hardware is supported?</strong></summary>
176185

177-
Currently: Intel TDX (4th/5th Gen Xeon) and NVIDIA Confidential Computing (H100, Blackwell). AMD SEV-SNP support is planned.
186+
- **GCP**: Intel TDX (Confidential VMs)
187+
- **AWS**: Nitro Enclaves (NSM attestation)
188+
- **Bare metal**: Intel TDX (4th/5th Gen Xeon) and AMD SEV-SNP on supported dstack OS images. Intel TDX is the production path; AMD SEV-SNP is new and experimental.
189+
- **GPUs**: NVIDIA Confidential Computing (H100, Blackwell)
178190

179191
</details>
180192

@@ -220,5 +232,3 @@ Logo and branding assets: [dstack-logo-kit](./docs/assets/dstack-logo-kit/)
220232
## License
221233

222234
Apache 2.0
223-
</content>
224-
</invoke>

SECURITY.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Security
2+
3+
Use this file for vulnerability reports. For the security model, production guidance, audit, and already-answered public findings, start with [Security Documentation](./docs/security/).
4+
5+
## Report a vulnerability
6+
7+
If you believe you found a vulnerability, please use [GitHub's private security reporting features](https://docs.github.com/en/code-security/how-tos/report-and-fix-vulnerabilities/report-privately) for this repository. If GitHub private reporting is unavailable, contact security@phala.network.
8+
9+
Do not open public GitHub issues for exploitable vulnerabilities or details that could help exploit production deployments.
10+
11+
Use private reporting for issues that could expose secrets, bypass attestation or authorization, compromise KMS keys, weaken workload isolation, or enable unauthorized code or configuration changes in production deployments.
12+
13+
## Public security questions
14+
15+
Use public issues only for questions about documented behavior, documentation gaps, already-public findings, or hardening ideas that do not include an exploit path.
16+
17+
Before opening a public security question, check [Public Security Reports](./docs/security/public-security-reports.md). It records public report status and related hardening or roadmap work.
18+
19+
## Production trust boundary
20+
21+
Development settings are not production-safe merely because they are present in the codebase. Production deployments must rely on measured configuration, expected TEE measurements, authorization policy, and attestation verification. The [Security Model](./docs/security/security-model.md#development-modes-are-auditable-not-production-safe) is the source of truth for what dstack treats as a production guarantee.

crates/dstack-auth/Cargo.toml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# SPDX-FileCopyrightText: © 2026 Phala Network <dstack@phala.network>
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
[package]
6+
name = "dstack-auth"
7+
version.workspace = true
8+
edition.workspace = true
9+
license.workspace = true
10+
11+
[[bin]]
12+
name = "dstack-auth"
13+
path = "src/main.rs"
14+
15+
[dependencies]
16+
anyhow.workspace = true
17+
clap.workspace = true
18+
rocket = { workspace = true, features = ["json"] }
19+
serde.workspace = true
20+
serde_json.workspace = true

0 commit comments

Comments
 (0)