secretvm-verify 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -177,17 +177,17 @@ POSTs a raw CPU quote to SCRT Labs' [`/api/quote-parse`](https://secretai.scrtla
177
177
 
178
178
  Looks up a quote in the SecretVM artifact registry. Returns the matching template name and version, or `null` if not found.
179
179
 
180
- #### `verifyWorkload(data, dockerComposeYaml)`
180
+ #### `verifyWorkload(data, dockerComposeYaml, dockerFilesInput?)`
181
181
 
182
- Auto-detects quote type and verifies that it was produced by a known SecretVM running the given docker-compose.
182
+ Auto-detects quote type and verifies that it was produced by a known SecretVM running the given docker-compose. The optional third argument `{ dockerFiles?, dockerFilesSha256? }` supports TDX VMs that bake a Dockerfiles archive into the image — pass the raw tar bytes (they get SHA-256'd client-side) or a precomputed hex digest. SEV-SNP ignores it.
183
183
 
184
- #### `verifyTdxWorkload(data, dockerComposeYaml)`
184
+ #### `verifyTdxWorkload(data, dockerComposeYaml, dockerFilesInput?)`
185
185
 
186
- TDX-specific workload verification.
186
+ TDX-specific workload verification. Same optional `{ dockerFiles?, dockerFilesSha256? }` argument as `verifyWorkload`; when provided, the SHA-256 of the archive is appended to the RTMR3 replay as `log[2]`.
187
187
 
188
- #### `verifySevWorkload(data, dockerComposeYaml)`
188
+ #### `verifySevWorkload(data, dockerComposeYaml, dockerFilesInput?)`
189
189
 
190
- SEV-SNP-specific workload verification.
190
+ SEV-SNP-specific workload verification. When `dockerFiles` bytes or `dockerFilesSha256` hex is supplied, the digest is appended to the kernel cmdline as `docker_additional_files_hash=<hex>` before the SEV-SNP GCTX launch measurement is recomputed.
191
191
 
192
192
  #### `formatWorkloadResult(result)`
193
193
 
package/dist/cli.js CHANGED
@@ -43,6 +43,12 @@ const vmUrl = getFlagValue("--vm");
43
43
  // `--reload-amd-kds` bypasses the local AMD KDS cache and re-fetches
44
44
  // VCEK, AMD CA cert chain, and CRL from kdsintf.amd.com. No effect on TDX.
45
45
  const reloadAmdKds = getFlag("--reload-amd-kds");
46
+ // `--docker-files <path>` points at a tar archive of Dockerfiles baked into
47
+ // the VM image. On TDX the SHA-256 digest becomes RTMR3 log[2]; on SEV-SNP
48
+ // it is appended to the kernel cmdline as `docker_additional_files_hash=...`.
49
+ // `--docker-files-sha256 <hex>` supplies the digest directly (skip the read).
50
+ const dockerFilesPath = getFlagValue("--docker-files");
51
+ const dockerFilesSha256 = getFlagValue("--docker-files-sha256");
46
52
  const SECRET_VM_PORT = 29343;
47
53
  async function fetchFromVm(endpoint) {
48
54
  let url = vmUrl;
@@ -99,8 +105,12 @@ Commands:
99
105
  --gpu <file|--vm url> Verify an NVIDIA GPU attestation
100
106
  --resolve-version, -rv <file|--vm url>
101
107
  Resolve SecretVM version from TDX or AMD SEV-SNP quote
102
- --verify-workload, -vw <file|--vm url> [--compose <file>]
103
- Verify workload against a docker-compose (fetched from VM if --vm)
108
+ --verify-workload, -vw <file|--vm url> [--compose <file>] [--docker-files <tar> | --docker-files-sha256 <hex>]
109
+ Verify workload against a docker-compose (fetched from VM if --vm).
110
+ --docker-files accepts a path to the Dockerfiles archive; its SHA-256 is
111
+ computed client-side. --docker-files-sha256 supplies the digest directly
112
+ (skips the file read). On TDX the digest extends RTMR3; on SEV-SNP it is
113
+ appended to the kernel cmdline that feeds the launch measurement.
104
114
  --check-agent <id> --chain <name>
105
115
  Resolve and verify an ERC-8004 agent on-chain
106
116
  --agent <file> Verify an ERC-8004 agent from a metadata JSON file
@@ -126,6 +136,8 @@ Examples:
126
136
  secretvm-verify -rv --vm blue-moose.vm.scrtlabs.com
127
137
  secretvm-verify -vw --vm blue-moose.vm.scrtlabs.com
128
138
  secretvm-verify --verify-workload cpu_quote.txt --compose docker-compose.yaml
139
+ secretvm-verify --verify-workload cpu_quote.txt --compose docker-compose.yaml --docker-files docker-files.tar
140
+ secretvm-verify --verify-workload cpu_quote.txt --compose docker-compose.yaml --docker-files-sha256 <hex>
129
141
  secretvm-verify --check-agent 38114 --chain base
130
142
  secretvm-verify --check-agent 38114 --chain base -v
131
143
  secretvm-verify --agent metadata.json`;
@@ -258,17 +270,28 @@ try {
258
270
  }
259
271
  composeData = readFileSync(composeFile, "utf8");
260
272
  }
273
+ // Optional docker-files input. Either read the archive and compute SHA-256,
274
+ // or accept a precomputed digest. For TDX the digest becomes RTMR3 log[2];
275
+ // for SEV it is appended as `docker_additional_files_hash=<hex>` to the
276
+ // kernel cmdline that feeds the launch measurement.
277
+ const dockerFilesInput = {};
278
+ if (dockerFilesSha256) {
279
+ dockerFilesInput.dockerFilesSha256 = dockerFilesSha256;
280
+ }
281
+ else if (dockerFilesPath) {
282
+ dockerFilesInput.dockerFiles = readFileSync(dockerFilesPath);
283
+ }
261
284
  const quoteType = detectCpuQuoteType(quoteData);
262
285
  if (quoteType === "SEV-SNP") {
263
286
  // Step 1: cryptographic quote verification
264
287
  const quoteResult = await checkSevCpuAttestation(quoteData, product, reloadAmdKds);
265
288
  if (raw) {
266
- const workloadResult = await verifyWorkload(quoteData, composeData);
289
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
267
290
  console.log(JSON.stringify({ quote: quoteResult, workload: workloadResult }, null, 2));
268
291
  process.exit(quoteResult.valid && workloadResult.status === "authentic_match" ? 0 : 1);
269
292
  }
270
293
  if (json) {
271
- const workloadResult = await verifyWorkload(quoteData, composeData);
294
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
272
295
  console.log(JSON.stringify({ quote: minimalJson(quoteResult), workload: workloadResult }, null, 2));
273
296
  process.exit(quoteResult.valid && workloadResult.status === "authentic_match" ? 0 : 1);
274
297
  }
@@ -284,7 +307,7 @@ try {
284
307
  }
285
308
  console.log(`✅ Authentic SecretVM confirmed: ${version.vm_type}/${version.template_name} ${version.artifacts_ver}`);
286
309
  // Step 3: workload (compose hash) verification
287
- const workloadResult = await verifyWorkload(quoteData, composeData);
310
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
288
311
  if (workloadResult.status === "authentic_match") {
289
312
  console.log(`✅ Confirmed that the VM is running the docker-compose.yaml specified at ${vmUrl}:29343/docker-compose`);
290
313
  }
@@ -297,12 +320,12 @@ try {
297
320
  else {
298
321
  const quoteResult = await checkTdxCpuAttestation(quoteData);
299
322
  if (raw) {
300
- const workloadResult = await verifyWorkload(quoteData, composeData);
323
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
301
324
  console.log(JSON.stringify({ quote: quoteResult, workload: workloadResult }, null, 2));
302
325
  process.exit(quoteResult.valid && workloadResult.status === "authentic_match" ? 0 : 1);
303
326
  }
304
327
  if (json) {
305
- const workloadResult = await verifyWorkload(quoteData, composeData);
328
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
306
329
  console.log(JSON.stringify({ quote: minimalJson(quoteResult), workload: workloadResult }, null, 2));
307
330
  process.exit(quoteResult.valid && workloadResult.status === "authentic_match" ? 0 : 1);
308
331
  }
@@ -310,7 +333,7 @@ try {
310
333
  console.log("🚫 Attestation doesn't belong to an authentic SecretVM");
311
334
  process.exit(1);
312
335
  }
313
- const workloadResult = await verifyWorkload(quoteData, composeData);
336
+ const workloadResult = await verifyWorkload(quoteData, composeData, dockerFilesInput);
314
337
  console.log(formatWorkloadResult(workloadResult, vmUrl));
315
338
  process.exit(workloadResult.status === "authentic_match" ? 0 : 1);
316
339
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/rtmr.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Calculate RTMR3 from a docker-compose file content and rootfs_data.
2
+ * Calculate RTMR3 from a docker-compose file and (optionally) a docker-files
3
+ * archive digest.
3
4
  *
4
- * Mirrors portal logic exactly:
5
- * 1. Parse docker-compose YAML and re-stringify (normalise)
6
- * 2. SHA-256 of normalised YAML bytes → log[0]
7
- * 3. rootfs_data (hex) → log[1]
8
- * 4. replayRtmr(log)
5
+ * Replay log order (matches the TDX initramfs in secret-vm-build's init-tdx):
6
+ * 1. SHA-256 of docker-compose bytes → log[0]
7
+ * 2. rootfs_data (hex) → log[1]
8
+ * 3. SHA-256 of docker-files archive → log[2] (only when provided)
9
9
  */
10
- export declare function calculateRtmr3(dockerCompose: Buffer | string, rootfsData: string): string;
10
+ export declare function calculateRtmr3(dockerCompose: Buffer | string, rootfsData: string, dockerFilesSha256?: string): string;
package/dist/rtmr.js CHANGED
@@ -24,15 +24,15 @@ function replayRtmr(history) {
24
24
  return mr.toString("hex");
25
25
  }
26
26
  /**
27
- * Calculate RTMR3 from a docker-compose file content and rootfs_data.
27
+ * Calculate RTMR3 from a docker-compose file and (optionally) a docker-files
28
+ * archive digest.
28
29
  *
29
- * Mirrors portal logic exactly:
30
- * 1. Parse docker-compose YAML and re-stringify (normalise)
31
- * 2. SHA-256 of normalised YAML bytes → log[0]
32
- * 3. rootfs_data (hex) → log[1]
33
- * 4. replayRtmr(log)
30
+ * Replay log order (matches the TDX initramfs in secret-vm-build's init-tdx):
31
+ * 1. SHA-256 of docker-compose bytes → log[0]
32
+ * 2. rootfs_data (hex) → log[1]
33
+ * 3. SHA-256 of docker-files archive → log[2] (only when provided)
34
34
  */
35
- export function calculateRtmr3(dockerCompose, rootfsData) {
35
+ export function calculateRtmr3(dockerCompose, rootfsData, dockerFilesSha256) {
36
36
  const log = [];
37
37
  // Hash raw bytes directly (no YAML normalization) — matches portal's Buffer path
38
38
  const composeBuffer = typeof dockerCompose === "string"
@@ -40,6 +40,9 @@ export function calculateRtmr3(dockerCompose, rootfsData) {
40
40
  : dockerCompose;
41
41
  log.push(measureSha256(composeBuffer).toString("hex"));
42
42
  log.push(rootfsData.toLowerCase().replace(/^0x/, ""));
43
+ if (dockerFilesSha256) {
44
+ log.push(dockerFilesSha256.toLowerCase().replace(/^0x/, ""));
45
+ }
43
46
  return replayRtmr(log);
44
47
  }
45
48
  //# sourceMappingURL=rtmr.js.map
package/dist/rtmr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rtmr.js","sourceRoot":"","sources":["../src/rtmr.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,kCAAkC;AAClC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEjD,SAAS,aAAa,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,OAAiB;IACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAc,CAAC;QACnB,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,UAAU,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC1B,aAA8B,EAC9B,UAAkB;IAElB,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,iFAAiF;IACjF,MAAM,aAAa,GACf,OAAO,aAAa,KAAK,QAAQ;QAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC,CAAC,aAAa,CAAC;IAExB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"rtmr.js","sourceRoot":"","sources":["../src/rtmr.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,kCAAkC;AAClC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEjD,SAAS,aAAa,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,OAAiB;IACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAc,CAAC;QACnB,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,UAAU,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC1B,aAA8B,EAC9B,UAAkB,EAClB,iBAA0B;IAE1B,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,iFAAiF;IACjF,MAAM,aAAa,GACf,OAAO,aAAa,KAAK,QAAQ;QAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC,CAAC,aAAa,CAAC;IAExB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtD,IAAI,iBAAiB,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
@@ -37,7 +37,13 @@ export declare function resolveAmdSevVersion(quoteBase64OrUrl: string): Promise<
37
37
  * 5. If any row matches → authentic_match.
38
38
  * 6. Otherwise → authentic_mismatch.
39
39
  */
40
- export declare function verifyTdxWorkload(quoteHexOrUrl: string, dockerComposeYaml?: string): Promise<WorkloadResult>;
40
+ export interface DockerFilesInput {
41
+ /** Raw bytes of the docker-files tar archive. SHA-256 is computed client-side. */
42
+ dockerFiles?: Uint8Array | Buffer;
43
+ /** Precomputed SHA-256 hex digest of the docker-files archive. Takes precedence over dockerFiles. */
44
+ dockerFilesSha256?: string;
45
+ }
46
+ export declare function verifyTdxWorkload(quoteHexOrUrl: string, dockerComposeYaml?: string, dockerFilesInput?: DockerFilesInput): Promise<WorkloadResult>;
41
47
  export declare function formatWorkloadResult(r: WorkloadResult, vmUrl?: string): string;
42
48
  /**
43
49
  * Verify an AMD SEV-SNP workload against a docker-compose.yaml.
@@ -49,7 +55,7 @@ export declare function formatWorkloadResult(r: WorkloadResult, vmUrl?: string):
49
55
  * @param quoteBase64 Base64-encoded AMD SEV-SNP attestation report.
50
56
  * @param dockerComposeYaml Contents of the docker-compose.yaml file.
51
57
  */
52
- export declare function verifySevWorkload(quoteBase64OrUrl: string, dockerComposeYaml?: string): Promise<WorkloadResult>;
58
+ export declare function verifySevWorkload(quoteBase64OrUrl: string, dockerComposeYaml?: string, dockerFilesInput?: DockerFilesInput): Promise<WorkloadResult>;
53
59
  /**
54
60
  * Verify that a CPU quote was produced by a known SecretVM running the given
55
61
  * docker-compose YAML. Automatically detects whether the quote is an Intel
@@ -59,4 +65,4 @@ export declare function verifySevWorkload(quoteBase64OrUrl: string, dockerCompos
59
65
  * @param quoteData Hex-encoded TDX quote **or** base64-encoded SEV-SNP report.
60
66
  * @param dockerComposeYaml Contents of the docker-compose.yaml file.
61
67
  */
62
- export declare function verifyWorkload(quoteDataOrUrl: string, dockerComposeYaml?: string): Promise<WorkloadResult>;
68
+ export declare function verifyWorkload(quoteDataOrUrl: string, dockerComposeYaml?: string, dockerFilesInput?: DockerFilesInput): Promise<WorkloadResult>;
package/dist/workload.js CHANGED
@@ -61,23 +61,7 @@ export async function resolveAmdSevVersion(quoteBase64OrUrl) {
61
61
  artifacts_ver: imageId,
62
62
  };
63
63
  }
64
- // ---------------------------------------------------------------------------
65
- // Workload verification
66
- // ---------------------------------------------------------------------------
67
- /**
68
- * Verify that a TDX quote (hex) was produced by a known SecretVM running the
69
- * given docker-compose YAML.
70
- *
71
- * Steps:
72
- * 1. Parse mrtd + rtmr0..3 from the quote.
73
- * 2. Find all registry rows matching mrtd+rtmr0..2.
74
- * 3. If none → not_authentic.
75
- * 4. For each candidate row: calculate expected RTMR3 from the compose YAML
76
- * and the row's rootfs_data, then compare to the quote's rtmr3.
77
- * 5. If any row matches → authentic_match.
78
- * 6. Otherwise → authentic_mismatch.
79
- */
80
- export async function verifyTdxWorkload(quoteHexOrUrl, dockerComposeYaml) {
64
+ export async function verifyTdxWorkload(quoteHexOrUrl, dockerComposeYaml, dockerFilesInput) {
81
65
  let quoteHex;
82
66
  let compose;
83
67
  if (isVmUrl(quoteHexOrUrl)) {
@@ -90,6 +74,14 @@ export async function verifyTdxWorkload(quoteHexOrUrl, dockerComposeYaml) {
90
74
  return { status: "not_authentic" };
91
75
  compose = dockerComposeYaml;
92
76
  }
77
+ let dockerFilesSha256;
78
+ if (dockerFilesInput?.dockerFilesSha256) {
79
+ dockerFilesSha256 = dockerFilesInput.dockerFilesSha256;
80
+ }
81
+ else if (dockerFilesInput?.dockerFiles) {
82
+ const bytes = Buffer.from(dockerFilesInput.dockerFiles);
83
+ dockerFilesSha256 = createHash("sha256").update(bytes).digest("hex");
84
+ }
93
85
  let mrtd, rtmr0, rtmr1, rtmr2, quoteRtmr3;
94
86
  try {
95
87
  const fields = parseTdxQuoteFields(quoteHex);
@@ -114,7 +106,7 @@ export async function verifyTdxWorkload(quoteHexOrUrl, dockerComposeYaml) {
114
106
  const artifacts_ver = best.artifacts_ver;
115
107
  // Check compose against every candidate entry (different rootfs_data or envs)
116
108
  for (const entry of candidates) {
117
- const expected = calculateRtmr3(compose, entry.rootfs_data);
109
+ const expected = calculateRtmr3(compose, entry.rootfs_data, dockerFilesSha256);
118
110
  if (expected === quoteRtmr3) {
119
111
  return {
120
112
  status: "authentic_match",
@@ -161,7 +153,7 @@ export function formatWorkloadResult(r, vmUrl) {
161
153
  * @param quoteBase64 Base64-encoded AMD SEV-SNP attestation report.
162
154
  * @param dockerComposeYaml Contents of the docker-compose.yaml file.
163
155
  */
164
- export async function verifySevWorkload(quoteBase64OrUrl, dockerComposeYaml) {
156
+ export async function verifySevWorkload(quoteBase64OrUrl, dockerComposeYaml, dockerFilesInput) {
165
157
  let quoteBase64;
166
158
  let compose;
167
159
  if (isVmUrl(quoteBase64OrUrl)) {
@@ -174,6 +166,18 @@ export async function verifySevWorkload(quoteBase64OrUrl, dockerComposeYaml) {
174
166
  return { status: "not_authentic" };
175
167
  compose = dockerComposeYaml;
176
168
  }
169
+ // Resolve docker-files digest (see init-sev: appended to kernel cmdline as
170
+ // `docker_additional_files_hash=<hex>`, which is hashed into the SEV-SNP
171
+ // launch measurement via the GCTX hash page).
172
+ let dockerFilesSha256;
173
+ if (dockerFilesInput?.dockerFilesSha256) {
174
+ dockerFilesSha256 = dockerFilesInput.dockerFilesSha256
175
+ .toLowerCase().replace(/^0x/, "");
176
+ }
177
+ else if (dockerFilesInput?.dockerFiles) {
178
+ const bytes = Buffer.from(dockerFilesInput.dockerFiles);
179
+ dockerFilesSha256 = createHash("sha256").update(bytes).digest("hex");
180
+ }
177
181
  let raw;
178
182
  try {
179
183
  raw = Buffer.from(quoteBase64.trim(), "base64");
@@ -209,7 +213,10 @@ export async function verifySevWorkload(quoteBase64OrUrl, dockerComposeYaml) {
209
213
  const candidates = registry.filter((e) => e.vm_type === vmType);
210
214
  const versionEntries = imageId ? candidates.filter((e) => e.artifacts_ver === imageId) : [];
211
215
  function tryEntry(entry) {
212
- const cmdline = `console=ttyS0 loglevel=7 docker_compose_hash=${composeHash} rootfs_hash=${entry.rootfs_hash}`;
216
+ let cmdline = `console=ttyS0 loglevel=7 docker_compose_hash=${composeHash} rootfs_hash=${entry.rootfs_hash}`;
217
+ if (dockerFilesSha256) {
218
+ cmdline += ` docker_additional_files_hash=${dockerFilesSha256}`;
219
+ }
213
220
  try {
214
221
  return calcSevMeasurement(entry, vcpus, cmdline) === quoteMeasurement;
215
222
  }
@@ -268,24 +275,24 @@ export async function verifySevWorkload(quoteBase64OrUrl, dockerComposeYaml) {
268
275
  * @param quoteData Hex-encoded TDX quote **or** base64-encoded SEV-SNP report.
269
276
  * @param dockerComposeYaml Contents of the docker-compose.yaml file.
270
277
  */
271
- export async function verifyWorkload(quoteDataOrUrl, dockerComposeYaml) {
278
+ export async function verifyWorkload(quoteDataOrUrl, dockerComposeYaml, dockerFilesInput) {
272
279
  if (isVmUrl(quoteDataOrUrl)) {
273
280
  const quoteData = await fetchCpuQuote(quoteDataOrUrl);
274
281
  const compose = dockerComposeYaml ?? await fetchDockerCompose(quoteDataOrUrl);
275
282
  const type = detectCpuQuoteType(quoteData);
276
283
  if (type === "TDX")
277
- return verifyTdxWorkload(quoteData, compose);
284
+ return verifyTdxWorkload(quoteData, compose, dockerFilesInput);
278
285
  if (type === "SEV-SNP")
279
- return verifySevWorkload(quoteData, compose);
286
+ return verifySevWorkload(quoteData, compose, dockerFilesInput);
280
287
  return { status: "not_authentic" };
281
288
  }
282
289
  if (!dockerComposeYaml)
283
290
  return { status: "not_authentic" };
284
291
  const type = detectCpuQuoteType(quoteDataOrUrl);
285
292
  if (type === "TDX")
286
- return verifyTdxWorkload(quoteDataOrUrl, dockerComposeYaml);
293
+ return verifyTdxWorkload(quoteDataOrUrl, dockerComposeYaml, dockerFilesInput);
287
294
  if (type === "SEV-SNP")
288
- return verifySevWorkload(quoteDataOrUrl, dockerComposeYaml);
295
+ return verifySevWorkload(quoteDataOrUrl, dockerComposeYaml, dockerFilesInput);
289
296
  return { status: "not_authentic" };
290
297
  }
291
298
  //# sourceMappingURL=workload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workload.js","sourceRoot":"","sources":["../src/workload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workload.js","sourceRoot":"","sources":["../src/workload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,aAAqB;IAErB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,aAAa,EAAE,MAAM,CAAC,aAAa;KACtC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,gBAAwB;IAExB,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzG,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACD,QAAQ,GAAG,eAAe,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,KAAK,OAAO,CACpE,CAAC;IACF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO;KACzB,CAAC;AACN,CAAC;AA0BD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,aAAqB,EACrB,iBAA0B,EAC1B,gBAAmC;IAEnC,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,GAAG,iBAAiB,IAAI,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACJ,QAAQ,GAAG,aAAa,CAAC;QACzB,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC3D,OAAO,GAAG,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAI,iBAAqC,CAAC;IAC1C,IAAI,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACtC,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;IAC3D,CAAC;SAAM,IAAI,gBAAgB,EAAE,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxD,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa,EAAE,UAAkB,CAAC;IAClF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACnB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAqB,iBAAiB,CAAC,UAAU,CAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,0DAA0D;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IACzB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAEzC,8EAA8E;IAC9E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC/E,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO;gBACH,MAAM,EAAE,iBAAiB;gBACzB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,GAAG,EAAE,KAAK,CAAC,OAAO;aACrB,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO;QACH,MAAM,EAAE,oBAAoB;QAC5B,aAAa;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa;QACb,GAAG;KACN,CAAC;AACN,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAAC,CAAiB,EAAE,KAAc;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,wDAAwD,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,8CAA8C,CAAC,CAAC,aAAa,eAAe,CAAC,CAAC,aAAa,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;IAEnI,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,wCAAwC,KAAK,uBAAuB,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAElI,IAAI,CAAC,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,MAAM,GAAG,wCAAwC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,qBAAqB;IACrB,OAAO,MAAM,GAAG,mCAAmC,MAAM,EAAE,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,gBAAwB,EACxB,iBAA0B,EAC1B,gBAAmC;IAEnC,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5B,WAAW,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACpD,OAAO,GAAG,iBAAiB,IAAI,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,gBAAgB,CAAC;QAC/B,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC3D,OAAO,GAAG,iBAAiB,CAAC;IAChC,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,8CAA8C;IAC9C,IAAI,iBAAqC,CAAC;IAC1C,IAAI,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACtC,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB;aACjD,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,gBAAgB,EAAE,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxD,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAEhE,IAAI,gBAAwB,CAAC;IAC7B,IAAI,MAA2C,CAAC;IAChD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACD,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAChD,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACD,QAAQ,GAAG,eAAe,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5F,SAAS,QAAQ,CAAC,KAAuB;QACrC,IAAI,OAAO,GAAG,gDAAgD,WAAW,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7G,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,IAAI,iCAAiC,iBAAiB,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,CAAC;YACD,OAAO,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,gBAAgB,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO;gBACH,MAAM,EAAE,iBAAiB;gBACzB,aAAa,EAAE,YAAY;gBAC3B,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,GAAG,EAAE,MAAM;aACd,CAAC;QACN,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO;YAAE,SAAS,CAAC,sBAAsB;QAChF,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO;gBACH,MAAM,EAAE,iBAAiB;gBACzB,aAAa,EAAE,YAAY;gBAC3B,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,GAAG,EAAE,MAAM;aACd,CAAC;QACN,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO;YACH,MAAM,EAAE,oBAAoB;YAC5B,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,OAAO;YACtB,GAAG,EAAE,MAAM;SACd,CAAC;IACN,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,cAAsB,EACtB,iBAA0B,EAC1B,gBAAmC;IAEnC,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,iBAAiB,IAAI,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACnF,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,iBAAiB;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAClG,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IACtG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "secretvm-verify",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "description": "Attestation verification for Intel TDX, AMD SEV-SNP, and NVIDIA GPU",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",