@prismnetwork/agent-sdk 0.7.0 → 0.7.1
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 +1 -1
- package/attest.mjs +9 -6
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -150,4 +150,4 @@ The wallet needs two balances on Robinhood Chain (id 4663): USDG (`0x5fc5360D040
|
|
|
150
150
|
Node >= 20, `viem` ^2 (peer), and `ssh` + `ssh-keygen` on PATH for `run()` and
|
|
151
151
|
for workspace save and restore.
|
|
152
152
|
|
|
153
|
-
See [example.mjs](https://github.com/
|
|
153
|
+
See [example.mjs](https://github.com/winter0x/prism/blob/main/sdk/example.mjs) for a full run.
|
package/attest.mjs
CHANGED
|
@@ -719,11 +719,13 @@ async function gpuChecks(t, { root, fetchImpl, model, digest, quote, collateralU
|
|
|
719
719
|
// verified. Its own quote is verified here, the report-data slot is read out
|
|
720
720
|
// of that verified structure, and the TD it came from is held against the TD
|
|
721
721
|
// whose quote carried our nonce. The plaintext key-set field the same
|
|
722
|
-
// response supplies is a label, not a binding
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
722
|
+
// response supplies is a label, not a binding, so a label that disagrees is
|
|
723
|
+
// reported and then ignored: the evidence endpoint is served by one replica
|
|
724
|
+
// and completions by another, so the label routinely names a sibling even
|
|
725
|
+
// when the quotes below prove the evidence came from the TD that served us.
|
|
726
|
+
// Failing on it here would reject evidence that binds cryptographically.
|
|
727
|
+
const labelled = report.workload_keyset_digest;
|
|
728
|
+
const mislabelled = labelled !== digest;
|
|
727
729
|
if (typeof report.intel_quote !== "string") {
|
|
728
730
|
return t.fail("gpu-binding", "the GPU evidence carries no CPU quote to bind against");
|
|
729
731
|
}
|
|
@@ -744,10 +746,11 @@ async function gpuChecks(t, { root, fetchImpl, model, digest, quote, collateralU
|
|
|
744
746
|
signingAddress: report.signing_address,
|
|
745
747
|
nonce,
|
|
746
748
|
});
|
|
749
|
+
const aside = mislabelled ? `; the evidence labels itself key set ${labelled}, which the quotes above override` : "";
|
|
747
750
|
t.add(
|
|
748
751
|
"gpu-binding",
|
|
749
752
|
gate.ok ? "pass" : "fail",
|
|
750
|
-
gate.ok ? `${gate.detail}, quoted by the TD that carried our nonce` : gate.detail,
|
|
753
|
+
gate.ok ? `${gate.detail}, quoted by the TD that carried our nonce${aside}` : gate.detail,
|
|
751
754
|
);
|
|
752
755
|
}
|
|
753
756
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prismnetwork/agent-sdk",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Headless GPU leasing and renter-encrypted storage on Prism Network for wallet-holding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "prism.mjs",
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
"homepage": "https://prismnetwork.tech",
|
|
70
70
|
"repository": {
|
|
71
71
|
"type": "git",
|
|
72
|
-
"url": "git+https://github.com/
|
|
72
|
+
"url": "git+https://github.com/winter0x/prism.git",
|
|
73
73
|
"directory": "sdk"
|
|
74
74
|
},
|
|
75
75
|
"bugs": {
|
|
76
|
-
"url": "https://github.com/
|
|
76
|
+
"url": "https://github.com/winter0x/prism/issues"
|
|
77
77
|
},
|
|
78
78
|
"license": "Apache-2.0",
|
|
79
79
|
"publishConfig": {
|