Scenario: release_sandbox
Build and sign sandbox threat model
25
Findings
8
Data Flows
9
Affected Components
Data Flow Diagram
Sequence Diagram
Show data flows
| ID | Name | Source | Sink | Type |
|---|---|---|---|---|
| 1 | Build container image | Build machines | GitHub Container Registry | Request |
| 2 | Push container to GHCR | Build machines | GitHub Container Registry | Request |
| 3 | Sign remote sandbox image | Cosign Binary (build machines) | GitHub Container Registry | Request |
| 4 | Publish rekor logs | Cosign Binary (build machines) | Rekor Log Server | Request |
| 5 | Request signed sandbox tarball | Build machines | GitHub Container Registry | Request |
| 6 | Response with the signed sandbox + signatures | GitHub Container Registry | Build machines | Request |
| 7 | Generate the sandbox tarball from the pulled container image | Build machines | Cosign Binary (build machines) | Request |
| 8 | Tag remote sandbox | Build machines | GitHub Container Registry | Request |
Applicable threats
| Threat ID | Description | Target Component | Mitigations |
|---|---|---|---|
| DZ-1-DEPS | Build machines | verifies resources.deps | |
| DZ-4 | Sandbox Private Key | is physical | |
| CAPEC-23 | File Content Injection | Cosign Binary (build machines) | is sandboxed |
| CAPEC-28 | Fuzzing | Cosign Binary (build machines) | sanitizes input is fuzzed |
| CAPEC-40 | Manipulating Writeable Terminal Devices | Cosign Binary (build machines) | sanitizes input |
| CAPEC-113 | Interface Manipulation | Cosign Binary (build machines) | sanitizes input is sandboxed |
| CAPEC-130 | Excessive Allocation | Cosign Binary (build machines) | is resource constrained sanitizes input |
| CAPEC-131 | Resource Leak Exposure | Cosign Binary (build machines) | is resource constrained |
| CAPEC-145 | Checksum Spoofing | Build machines | uses strong crypto |
| CAPEC-165 | File Manipulation | Cosign Binary (build machines) | is sandboxed sanitizes input |
| CAPEC-276 | Inter-component Protocol Manipulation | Cosign Binary (build machines) | is sandboxed sanitizes input |
| CAPEC-440 | Hardware Integrity Attack | Build machines | is verifiable |
| CAPEC-473 | Signature Spoof | Build machines | uses strong crypto |
| CAPEC-582 | Route Disabling | GitHub Container Registry | works offline |
| CAPEC-582 | Route Disabling | Build machines | works offline |
| CAPEC-582 | Route Disabling | Remote Sandbox Image | works offline |
| CAPEC-582 | Route Disabling | Cosign Binary (build machines) | works offline |
| CAPEC-582 | Route Disabling | Rekor Log Server | works offline |
| CAPEC-639 | Probe System Files | GitHub Container Registry | is sandboxed |
| CAPEC-639 | Probe System Files | DZ container image | is sandboxed |
| CAPEC-639 | Probe System Files | Remote Sandbox Image | is sandboxed |
| CAPEC-639 | Probe System Files | Cosign Binary (build machines) | is sandboxed |
| CAPEC-639 | Probe System Files | Sandbox Signature Data | is sandboxed |
| CAPEC-639 | Probe System Files | Rekor Log Server | is sandboxed |
| CAPEC-639 | Probe System Files | Embedded Sandbox | is sandboxed |