@nookplot/cli 0.6.116 → 0.7.5
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/dist/commands/profile.d.ts +33 -0
- package/dist/commands/profile.js +472 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/register.js +77 -0
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/verifyReproduction.d.ts +53 -0
- package/dist/commands/verifyReproduction.js +444 -0
- package/dist/commands/verifyReproduction.js.map +1 -0
- package/dist/evalManifest.json +27 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -1
- package/dist/skillGenerator.d.ts +1 -1
- package/dist/skillGenerator.js +1 -1
- package/dist/skillGenerator.js.map +1 -1
- package/dist/tool-manifest.json +125 -19
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nookplot verify-reproduction <submissionId>` —
|
|
3
|
+
* Verifier-side flow for paper_reproduction mining challenges.
|
|
4
|
+
*
|
|
5
|
+
* Pipeline:
|
|
6
|
+
* 1. Fetch submission detail + paper config from the gateway.
|
|
7
|
+
* 2. Pull artifactCid (agent's submission bundle) + reference_implementation_cid
|
|
8
|
+
* (challenge's eval bundle) from an IPFS gateway. Both are expected to be
|
|
9
|
+
* tar.gz archives per the seed convention; the CLI detects gzip by magic
|
|
10
|
+
* bytes and extracts into /artifact and /eval respectively. A non-gzip
|
|
11
|
+
* CID falls back to a single-file `bundle` write for backward compat.
|
|
12
|
+
* NB: eval_protocol_cid is JSON metadata only (admin UI / audit) — do
|
|
13
|
+
* NOT use it for execution.
|
|
14
|
+
* 3. Run the reference verifier Docker image (pinned digest) against
|
|
15
|
+
* the artifact, with --network none and the challenge's compute cap.
|
|
16
|
+
* 4. Capture stdout, compute keccak256(stdout), pin stdout to IPFS.
|
|
17
|
+
* 5. Prompt verifier for 4D scores + comprehension answers.
|
|
18
|
+
* 6. POST the verification with sandbox_attestation attached.
|
|
19
|
+
*
|
|
20
|
+
* The sandbox step (3) is opt-out via --skip-sandbox so agents/humans
|
|
21
|
+
* can review the command flow without Docker installed. Without a real
|
|
22
|
+
* sandbox run, gateway-side validation rejects the attestation.
|
|
23
|
+
*
|
|
24
|
+
* @module commands/verifyReproduction
|
|
25
|
+
*/
|
|
26
|
+
import type { Command } from "commander";
|
|
27
|
+
export declare function expectedEvalSha256ForCid(cid: string): string | null;
|
|
28
|
+
export type EvalBundleVerdict = {
|
|
29
|
+
ok: true;
|
|
30
|
+
warn?: string;
|
|
31
|
+
actualSha256: string;
|
|
32
|
+
} | {
|
|
33
|
+
ok: false;
|
|
34
|
+
error: string;
|
|
35
|
+
};
|
|
36
|
+
export declare const SANDBOX_STDOUT_ALLOWED_PREFIXES: readonly RegExp[];
|
|
37
|
+
/**
|
|
38
|
+
* Drop every line from the sandbox's combined stdout+stderr stream that
|
|
39
|
+
* doesn't match a reference-image output shape. Preserves ordering and
|
|
40
|
+
* line-end conventions (normalised to `\n`) so the keccak hash stays
|
|
41
|
+
* reproducible across honest runs of the same artifact.
|
|
42
|
+
*
|
|
43
|
+
* Lines are tested against `SANDBOX_STDOUT_ALLOWED_PREFIXES`; mismatches are
|
|
44
|
+
* discarded. Trailing blank lines are trimmed — matches `.join("\n") + "\n"`
|
|
45
|
+
* style so the final byte is always `\n` for a non-empty filtered log.
|
|
46
|
+
*
|
|
47
|
+
* Exported for unit testing; production callers go through
|
|
48
|
+
* `runSandboxAndBuildAttestation` which applies the filter once before both
|
|
49
|
+
* the keccak + the pin.
|
|
50
|
+
*/
|
|
51
|
+
export declare function filterSandboxStdout(raw: string): string;
|
|
52
|
+
export declare function verifyEvalBundleContent(buf: Uint8Array, cid: string): EvalBundleVerdict;
|
|
53
|
+
export declare function registerVerifyReproductionCommand(program: Command): void;
|
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nookplot verify-reproduction <submissionId>` —
|
|
3
|
+
* Verifier-side flow for paper_reproduction mining challenges.
|
|
4
|
+
*
|
|
5
|
+
* Pipeline:
|
|
6
|
+
* 1. Fetch submission detail + paper config from the gateway.
|
|
7
|
+
* 2. Pull artifactCid (agent's submission bundle) + reference_implementation_cid
|
|
8
|
+
* (challenge's eval bundle) from an IPFS gateway. Both are expected to be
|
|
9
|
+
* tar.gz archives per the seed convention; the CLI detects gzip by magic
|
|
10
|
+
* bytes and extracts into /artifact and /eval respectively. A non-gzip
|
|
11
|
+
* CID falls back to a single-file `bundle` write for backward compat.
|
|
12
|
+
* NB: eval_protocol_cid is JSON metadata only (admin UI / audit) — do
|
|
13
|
+
* NOT use it for execution.
|
|
14
|
+
* 3. Run the reference verifier Docker image (pinned digest) against
|
|
15
|
+
* the artifact, with --network none and the challenge's compute cap.
|
|
16
|
+
* 4. Capture stdout, compute keccak256(stdout), pin stdout to IPFS.
|
|
17
|
+
* 5. Prompt verifier for 4D scores + comprehension answers.
|
|
18
|
+
* 6. POST the verification with sandbox_attestation attached.
|
|
19
|
+
*
|
|
20
|
+
* The sandbox step (3) is opt-out via --skip-sandbox so agents/humans
|
|
21
|
+
* can review the command flow without Docker installed. Without a real
|
|
22
|
+
* sandbox run, gateway-side validation rejects the attestation.
|
|
23
|
+
*
|
|
24
|
+
* @module commands/verifyReproduction
|
|
25
|
+
*/
|
|
26
|
+
import path from "node:path";
|
|
27
|
+
import { promises as fs } from "node:fs";
|
|
28
|
+
import os from "node:os";
|
|
29
|
+
import crypto from "node:crypto";
|
|
30
|
+
import { spawnSync } from "node:child_process";
|
|
31
|
+
import { ethers } from "ethers";
|
|
32
|
+
import chalk from "chalk";
|
|
33
|
+
import ora from "ora";
|
|
34
|
+
import inquirer from "inquirer";
|
|
35
|
+
import { loadConfig, validateConfig } from "../config.js";
|
|
36
|
+
import { gatewayRequest, isGatewayError } from "../utils/http.js";
|
|
37
|
+
import evalManifest from "../evalManifest.json" with { type: "json" };
|
|
38
|
+
// Look up the sha256 we pinned for a given eval-bundle CID. Returns null for
|
|
39
|
+
// CIDs we don't know about (e.g. CID rotated after this CLI build shipped,
|
|
40
|
+
// or a non-standard reference bundle) — caller should log but proceed.
|
|
41
|
+
export function expectedEvalSha256ForCid(cid) {
|
|
42
|
+
const entry = evalManifest.cids[cid];
|
|
43
|
+
return typeof entry === "string" ? entry : null;
|
|
44
|
+
}
|
|
45
|
+
// Allow-list of stdout line shapes that survive the filter. Keeping this as
|
|
46
|
+
// an exported constant so tests can assert "honest run passes through" and
|
|
47
|
+
// "adversarial print() is dropped" against the same regex set the production
|
|
48
|
+
// path uses.
|
|
49
|
+
//
|
|
50
|
+
// AUDIT I2: the canonical attack was a malicious inference.py printing
|
|
51
|
+
// `hidden_split._SEED_CACHE["mnist"]` so the seed leaks into the pinned
|
|
52
|
+
// stdout and becomes a permanent public oracle for future submissions on the
|
|
53
|
+
// same slug. Filtering to known-safe line prefixes closes that broadcast.
|
|
54
|
+
export const SANDBOX_STDOUT_ALLOWED_PREFIXES = [
|
|
55
|
+
/^\[verifier\] /, // run.py's own structured lines
|
|
56
|
+
/^RESULT:\s*\{/, // single result marker emitted at end of run
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* Drop every line from the sandbox's combined stdout+stderr stream that
|
|
60
|
+
* doesn't match a reference-image output shape. Preserves ordering and
|
|
61
|
+
* line-end conventions (normalised to `\n`) so the keccak hash stays
|
|
62
|
+
* reproducible across honest runs of the same artifact.
|
|
63
|
+
*
|
|
64
|
+
* Lines are tested against `SANDBOX_STDOUT_ALLOWED_PREFIXES`; mismatches are
|
|
65
|
+
* discarded. Trailing blank lines are trimmed — matches `.join("\n") + "\n"`
|
|
66
|
+
* style so the final byte is always `\n` for a non-empty filtered log.
|
|
67
|
+
*
|
|
68
|
+
* Exported for unit testing; production callers go through
|
|
69
|
+
* `runSandboxAndBuildAttestation` which applies the filter once before both
|
|
70
|
+
* the keccak + the pin.
|
|
71
|
+
*/
|
|
72
|
+
export function filterSandboxStdout(raw) {
|
|
73
|
+
const kept = [];
|
|
74
|
+
for (const line of raw.split(/\r?\n/)) {
|
|
75
|
+
for (const re of SANDBOX_STDOUT_ALLOWED_PREFIXES) {
|
|
76
|
+
if (re.test(line)) {
|
|
77
|
+
kept.push(line);
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return kept.length === 0 ? "" : kept.join("\n") + "\n";
|
|
83
|
+
}
|
|
84
|
+
// Pure helper — the only client-side defence against an IPFS edge serving
|
|
85
|
+
// poisoned eval bundles. Exported for unit testing; production callers go
|
|
86
|
+
// through `downloadBundleCid(kind="eval")` which applies the verdict.
|
|
87
|
+
export function verifyEvalBundleContent(buf, cid) {
|
|
88
|
+
const expected = expectedEvalSha256ForCid(cid);
|
|
89
|
+
const actualSha256 = crypto.createHash("sha256").update(buf).digest("hex");
|
|
90
|
+
if (expected) {
|
|
91
|
+
if (actualSha256.toLowerCase() !== expected.toLowerCase()) {
|
|
92
|
+
return {
|
|
93
|
+
ok: false,
|
|
94
|
+
error: `Eval bundle content mismatch for CID ${cid}: gateway served sha256=${actualSha256} ` +
|
|
95
|
+
`but manifest expects ${expected}. Either the gateway is compromised or the ` +
|
|
96
|
+
`bundle was re-pinned without regenerating cli/src/evalManifest.json.`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { ok: true, actualSha256 };
|
|
100
|
+
}
|
|
101
|
+
// Fail-open on unknown CIDs so a freshly-seeded challenge doesn't brick
|
|
102
|
+
// older CLI builds — but flag the gap loudly. Silent skip would let a
|
|
103
|
+
// poisoned bundle slide on every CLI predating the manifest bump.
|
|
104
|
+
return {
|
|
105
|
+
ok: true,
|
|
106
|
+
actualSha256,
|
|
107
|
+
warn: `eval CID ${cid} is not in cli/src/evalManifest.json — ` +
|
|
108
|
+
`skipping sha256 content check (served sha256=${actualSha256}). Update your CLI ` +
|
|
109
|
+
`(\`npm i -g @nookplot/cli@latest\`) or re-sync the manifest if you operate the challenge.`,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// Default reference-image digest. Update on every reference-image bump.
|
|
113
|
+
// Currently hosted under the project creator's personal namespace; will migrate
|
|
114
|
+
// to ghcr.io/nookprotocol/paper-reproduction-verifier:v1 once the org-level
|
|
115
|
+
// registry is set up. Env vars override for dev / local testing.
|
|
116
|
+
const DEFAULT_VERIFIER_IMAGE_DIGEST = process.env.NOOKPLOT_VERIFIER_IMAGE_DIGEST ??
|
|
117
|
+
"sha256:f239b7e91610bcea92668bafaac9eddf5ec240342d8c9e18ae4139d941c4e317";
|
|
118
|
+
const DEFAULT_VERIFIER_IMAGE = process.env.NOOKPLOT_VERIFIER_IMAGE ?? "ghcr.io/basedmd/paper-reproduction-verifier:v1";
|
|
119
|
+
export function registerVerifyReproductionCommand(program) {
|
|
120
|
+
program
|
|
121
|
+
.command("verify-reproduction <submissionId>")
|
|
122
|
+
.description("Run a paper_reproduction verification locally: pull artifact from IPFS, run reference sandbox, " +
|
|
123
|
+
"submit scores + sandbox attestation.")
|
|
124
|
+
.option("--skip-sandbox", "Skip the Docker sandbox step (for dry-run review only; gateway will reject)")
|
|
125
|
+
.option("--image <image>", "Override the reference verifier image", DEFAULT_VERIFIER_IMAGE)
|
|
126
|
+
.option("--image-digest <digest>", "sha256:<64 hex> digest for the image", DEFAULT_VERIFIER_IMAGE_DIGEST)
|
|
127
|
+
.option("--ipfs-gateway <url>", "IPFS read gateway", process.env.NOOKPLOT_IPFS_GATEWAY ?? "https://gateway.pinata.cloud/ipfs")
|
|
128
|
+
.option("--cpus <n>", "CPU cores for the sandbox (V1 cap: 2)", "2")
|
|
129
|
+
.option("--memory <m>", "Memory limit for the sandbox (V1 cap: 4g)", "4g")
|
|
130
|
+
.option("--json", "Output raw JSON")
|
|
131
|
+
.action(async (submissionId, cmdOpts) => {
|
|
132
|
+
try {
|
|
133
|
+
await runVerifyReproduction(program.opts(), submissionId, cmdOpts);
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
137
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
async function runVerifyReproduction(globalOpts, submissionId, cmdOpts) {
|
|
143
|
+
const config = loadConfig({
|
|
144
|
+
configPath: globalOpts.config,
|
|
145
|
+
gatewayOverride: globalOpts.gateway,
|
|
146
|
+
apiKeyOverride: globalOpts.apiKey,
|
|
147
|
+
});
|
|
148
|
+
const errors = validateConfig(config);
|
|
149
|
+
if (errors.length > 0) {
|
|
150
|
+
for (const e of errors)
|
|
151
|
+
console.error(chalk.red(` ✗ ${e}`));
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
const spinner = ora(`Fetching submission ${submissionId.slice(0, 12)}…`).start();
|
|
155
|
+
// 1. Submission detail
|
|
156
|
+
const subRes = await gatewayRequest(config.gateway, "GET", `/v1/mining/submissions/${submissionId}`, { apiKey: config.apiKey });
|
|
157
|
+
if (isGatewayError(subRes)) {
|
|
158
|
+
spinner.fail("Could not fetch submission");
|
|
159
|
+
console.error(chalk.red(` ${subRes.error}`));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
const submission = subRes.data;
|
|
163
|
+
// 2. Paper config
|
|
164
|
+
const paperRes = await gatewayRequest(config.gateway, "GET", `/v1/mining/paper-challenges/${submission.challengeId}`, { apiKey: config.apiKey });
|
|
165
|
+
if (isGatewayError(paperRes)) {
|
|
166
|
+
spinner.fail("Not a paper_reproduction challenge or challenge not found");
|
|
167
|
+
console.error(chalk.red(` ${paperRes.error}`));
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
const { paperConfig, challenge } = paperRes.data;
|
|
171
|
+
spinner.succeed(chalk.green(`Verifying: ${challenge.title}`));
|
|
172
|
+
if (!submission.artifactCid) {
|
|
173
|
+
console.error(chalk.red(" ✗ Submission has no artifact_cid — not a paper_reproduction submission?"));
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
const target = parseFloat(paperConfig.target_metric_value);
|
|
177
|
+
const epsSandbox = parseFloat(paperConfig.epsilon_sandbox);
|
|
178
|
+
console.log(chalk.dim(` target ${paperConfig.target_metric_name} = ${target} (ε_sandbox = ${epsSandbox})`));
|
|
179
|
+
console.log(chalk.dim(` expected ${paperConfig.expected_eval_minutes}min CPU`));
|
|
180
|
+
// 3. Docker sandbox run (unless --skip-sandbox)
|
|
181
|
+
let attestation = null;
|
|
182
|
+
if (cmdOpts.skipSandbox) {
|
|
183
|
+
console.log(chalk.yellow(" ⚠ --skip-sandbox: will submit without an attestation; gateway will reject."));
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
attestation = await runSandboxAndBuildAttestation({
|
|
187
|
+
submission,
|
|
188
|
+
paperConfig,
|
|
189
|
+
ipfsGateway: cmdOpts.ipfsGateway,
|
|
190
|
+
image: cmdOpts.image,
|
|
191
|
+
imageDigest: cmdOpts.imageDigest,
|
|
192
|
+
cpus: Number(cmdOpts.cpus),
|
|
193
|
+
memory: cmdOpts.memory,
|
|
194
|
+
apiKey: config.apiKey,
|
|
195
|
+
gatewayUrl: config.gateway,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
// 4. Prompt verifier for 4D scores + insight
|
|
199
|
+
const answers = await inquirer.prompt([
|
|
200
|
+
{ type: "input", name: "correctnessScore", message: "Correctness score (0-1)", default: "0.9",
|
|
201
|
+
validate: (s) => !Number.isFinite(+s) ? "number required" : (+s >= 0 && +s <= 1 ? true : "must be 0..1"),
|
|
202
|
+
filter: (s) => Number(s) },
|
|
203
|
+
{ type: "input", name: "reasoningScore", message: "Reasoning score (0-1)", default: "0.8",
|
|
204
|
+
validate: (s) => !Number.isFinite(+s) ? "number required" : (+s >= 0 && +s <= 1 ? true : "must be 0..1"),
|
|
205
|
+
filter: (s) => Number(s) },
|
|
206
|
+
{ type: "input", name: "efficiencyScore", message: "Efficiency score (0-1)", default: "0.7",
|
|
207
|
+
validate: (s) => !Number.isFinite(+s) ? "number required" : (+s >= 0 && +s <= 1 ? true : "must be 0..1"),
|
|
208
|
+
filter: (s) => Number(s) },
|
|
209
|
+
{ type: "input", name: "noveltyScore", message: "Novelty score (0-1)", default: "0.5",
|
|
210
|
+
validate: (s) => !Number.isFinite(+s) ? "number required" : (+s >= 0 && +s <= 1 ? true : "must be 0..1"),
|
|
211
|
+
filter: (s) => Number(s) },
|
|
212
|
+
{ type: "input", name: "knowledgeInsight", message: "Knowledge insight (≥80 chars)",
|
|
213
|
+
validate: (s) => s.length >= 80 ? true : "need ≥80 characters" },
|
|
214
|
+
]);
|
|
215
|
+
// 5. POST verify with attestation
|
|
216
|
+
const verifyBody = {
|
|
217
|
+
...answers,
|
|
218
|
+
justification: "verify-reproduction CLI: sandbox-attested metric review",
|
|
219
|
+
};
|
|
220
|
+
if (attestation)
|
|
221
|
+
verifyBody.sandboxAttestation = attestation;
|
|
222
|
+
const postSpinner = ora("Submitting verification…").start();
|
|
223
|
+
const postRes = await gatewayRequest(config.gateway, "POST", `/v1/mining/submissions/${submissionId}/verify`, { apiKey: config.apiKey, body: verifyBody });
|
|
224
|
+
if (isGatewayError(postRes)) {
|
|
225
|
+
postSpinner.fail("Verification rejected");
|
|
226
|
+
console.error(chalk.red(` ${postRes.error}`));
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
postSpinner.succeed(chalk.green("Verification accepted."));
|
|
230
|
+
if (cmdOpts.json) {
|
|
231
|
+
console.log(JSON.stringify({ submissionId, attestation, result: postRes.data }, null, 2));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async function runSandboxAndBuildAttestation(args) {
|
|
235
|
+
const { submission, paperConfig, ipfsGateway, image, imageDigest, cpus, memory } = args;
|
|
236
|
+
if (!imageDigest || !/^sha256:[0-9a-f]{64}$/.test(imageDigest)) {
|
|
237
|
+
throw new Error("Missing --image-digest. Pass the pinned sha256 digest for the reference verifier image " +
|
|
238
|
+
"(env NOOKPLOT_VERIFIER_IMAGE_DIGEST, or --image-digest sha256:<64 hex>).");
|
|
239
|
+
}
|
|
240
|
+
const work = await fs.mkdtemp(path.join(os.tmpdir(), "nookplot-verify-"));
|
|
241
|
+
const artifactDir = path.join(work, "artifact");
|
|
242
|
+
const evalDir = path.join(work, "eval");
|
|
243
|
+
const outDir = path.join(work, "out");
|
|
244
|
+
await fs.mkdir(artifactDir, { recursive: true });
|
|
245
|
+
await fs.mkdir(evalDir, { recursive: true });
|
|
246
|
+
await fs.mkdir(outDir, { recursive: true });
|
|
247
|
+
// Pull artifact + eval bundle from IPFS. Both are expected to be tar.gz
|
|
248
|
+
// archives — the CLI detects gzip by magic bytes (0x1f 0x8b) and extracts
|
|
249
|
+
// into the mount dir so `run.py` sees `/eval/eval.py`, `/artifact/inference.py`,
|
|
250
|
+
// etc. The fallback single-file "bundle" write is kept for agents who pin
|
|
251
|
+
// raw artifacts predating the tar.gz convention.
|
|
252
|
+
if (!paperConfig.reference_implementation_cid) {
|
|
253
|
+
throw new Error("paperConfig.reference_implementation_cid is null — this challenge was seeded without a " +
|
|
254
|
+
"pinned eval bundle. Re-seed via POST /v1/mining/paper-challenges with referenceImplementationCid " +
|
|
255
|
+
"set to a tar.gz CID (see docker/paper-reproduction-verifier/evals/ipfs_cids.json for the 20 seeds).");
|
|
256
|
+
}
|
|
257
|
+
const fetchSpinner = ora("Fetching artifact + eval bundle from IPFS…").start();
|
|
258
|
+
await downloadBundleCid(ipfsGateway, submission.artifactCid, artifactDir, "artifact");
|
|
259
|
+
await downloadBundleCid(ipfsGateway, paperConfig.reference_implementation_cid, evalDir, "eval");
|
|
260
|
+
fetchSpinner.succeed("Artifact + eval bundle pulled.");
|
|
261
|
+
// Run the reference image against the mounted artifact + eval.
|
|
262
|
+
const runSpinner = ora("Running reference sandbox (this may take several minutes)…").start();
|
|
263
|
+
const budgetSeconds = Math.ceil(paperConfig.expected_eval_minutes * 60 * 1.5);
|
|
264
|
+
const dockerArgs = [
|
|
265
|
+
"run", "--rm",
|
|
266
|
+
"--network", "none",
|
|
267
|
+
"--cpus", String(cpus),
|
|
268
|
+
"--memory", memory,
|
|
269
|
+
// AUDIT D1: defense-in-depth hardening around the artifact's inference.py.
|
|
270
|
+
// `--network none` + `--memory` are the load-bearing defenses; these flags
|
|
271
|
+
// close secondary vectors a malicious artifact could exercise inside the
|
|
272
|
+
// CPU/memory bounds:
|
|
273
|
+
// --pids-limit blocks fork-bomb patterns that would exhaust the host's
|
|
274
|
+
// kernel PID table even under tight memory limits.
|
|
275
|
+
// --read-only makes the container rootfs immutable so predict() can't
|
|
276
|
+
// scribble over /opt/paper-verifier/hidden_split.py or
|
|
277
|
+
// shadow modules mid-run. Combined with the writable tmpfs
|
|
278
|
+
// on /tmp for legitimate temp-file needs.
|
|
279
|
+
// --cap-drop ALL drops every Linux capability (SYS_CHROOT, MKNOD, etc.)
|
|
280
|
+
// the Docker default hands out unnecessarily for inference.
|
|
281
|
+
// no-new-privileges blocks setuid escalation and matches the read-only
|
|
282
|
+
// rootfs invariant.
|
|
283
|
+
"--pids-limit", "128",
|
|
284
|
+
"--read-only",
|
|
285
|
+
"--tmpfs", "/tmp:rw,size=100m,noexec,nosuid,nodev",
|
|
286
|
+
"--cap-drop", "ALL",
|
|
287
|
+
"--security-opt", "no-new-privileges",
|
|
288
|
+
"-v", `${artifactDir}:/artifact:ro`,
|
|
289
|
+
"-v", `${evalDir}:/eval:ro`,
|
|
290
|
+
"-v", `${outDir}:/out:rw`,
|
|
291
|
+
"--",
|
|
292
|
+
`${image}@${imageDigest}`,
|
|
293
|
+
];
|
|
294
|
+
const t0 = Date.now();
|
|
295
|
+
const child = spawnSync("docker", dockerArgs, {
|
|
296
|
+
encoding: "utf8",
|
|
297
|
+
timeout: budgetSeconds * 1000,
|
|
298
|
+
});
|
|
299
|
+
const wallTimeS = Math.ceil((Date.now() - t0) / 1000);
|
|
300
|
+
if (child.error) {
|
|
301
|
+
runSpinner.fail("Docker invocation failed");
|
|
302
|
+
throw child.error;
|
|
303
|
+
}
|
|
304
|
+
const rawStdout = (child.stdout ?? "") + (child.stderr ?? "");
|
|
305
|
+
const exitCode = child.status ?? 1;
|
|
306
|
+
runSpinner.succeed(`Sandbox completed in ${wallTimeS}s (exit ${exitCode}).`);
|
|
307
|
+
// AUDIT I2: filter sandbox stdout before keccak + pin so a malicious
|
|
308
|
+
// `inference.py` cannot use print() to broadcast the hidden-split seed
|
|
309
|
+
// (or other module state) into a permanent public IPFS pin. We keep only
|
|
310
|
+
// lines that match the reference image's structured output shape:
|
|
311
|
+
// - "[verifier] …" — produced by run.py itself
|
|
312
|
+
// - "RESULT: { … }" — the single result marker
|
|
313
|
+
// Everything else — arbitrary stdout/stderr from the artifact — is dropped.
|
|
314
|
+
// This also stabilises the log hash: honest runs of the same artifact now
|
|
315
|
+
// produce identical filtered stdout regardless of chatty diagnostics.
|
|
316
|
+
const filteredStdout = filterSandboxStdout(rawStdout);
|
|
317
|
+
// Parse the `RESULT: {...}` line emitted by run.py. Using an explicit
|
|
318
|
+
// marker prevents JSON-shaped debug output from inference.py's predict()
|
|
319
|
+
// from being mistaken for the sandbox result. Parse against the filtered
|
|
320
|
+
// stream so the result line MUST have been produced by the reference image.
|
|
321
|
+
const resultLine = filteredStdout
|
|
322
|
+
.split(/\r?\n/)
|
|
323
|
+
.reverse()
|
|
324
|
+
.find((l) => /^RESULT:\s*\{.*\}\s*$/.test(l.trim()));
|
|
325
|
+
if (!resultLine) {
|
|
326
|
+
throw new Error("Sandbox did not emit a `RESULT: {...}` marker line. The reference image may be out of date — " +
|
|
327
|
+
"pull the latest `ghcr.io/basedmd/paper-reproduction-verifier:v1` and try again.");
|
|
328
|
+
}
|
|
329
|
+
const jsonPart = resultLine.trim().replace(/^RESULT:\s*/, "");
|
|
330
|
+
const result = JSON.parse(jsonPart);
|
|
331
|
+
// Keccak256 over the FILTERED stdout. MUST be Ethereum keccak256 (not
|
|
332
|
+
// NIST FIPS 202 SHA3-256 — different padding/domain). The DB field is
|
|
333
|
+
// declared as keccak256 in migration 263 and downstream audit tooling
|
|
334
|
+
// verifies `keccak256(stdout) == logs_hash`. Node's `createHash("sha3-256")`
|
|
335
|
+
// produces the WRONG hash here. Gateway spot-check fetches the pinned
|
|
336
|
+
// stdout (also filtered) and re-derives this same hash.
|
|
337
|
+
const logsHashHex = ethers.keccak256(ethers.toUtf8Bytes(filteredStdout));
|
|
338
|
+
// Pin stdout to IPFS via the gateway-backed pin route (simpler path in
|
|
339
|
+
// V1: rely on the gateway's own pinning endpoint). Alternatively the
|
|
340
|
+
// verifier can paste the CID from their own IPFS node. For V1 we call
|
|
341
|
+
// a new helper endpoint — but until it exists, stdout.cid can be
|
|
342
|
+
// user-provided via --stdout-cid. For now, pin locally to a well-known
|
|
343
|
+
// public IPFS HTTP pinning service proxy: we call the gateway's
|
|
344
|
+
// /v1/mining/sandbox/pin route (Phase 2 gateway addition).
|
|
345
|
+
const stdoutCid = await pinStdoutToIpfs(args.gatewayUrl, args.apiKey, filteredStdout);
|
|
346
|
+
return {
|
|
347
|
+
metricName: result.metric_name,
|
|
348
|
+
metricValue: Number(result.metric_value),
|
|
349
|
+
logsHashHex,
|
|
350
|
+
stdoutCid,
|
|
351
|
+
imageDigest,
|
|
352
|
+
wallTimeS,
|
|
353
|
+
exitCode,
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
// AUDIT D3: cap bundle size at 1 GiB. STL10 (largest V1 shortlist bundle) is
|
|
357
|
+
// ~190 MiB, so a 5× headroom rejects malicious artifacts that would OOM a
|
|
358
|
+
// verifier's laptop before the sandbox even sees them. Enforced twice:
|
|
359
|
+
// 1. Content-Length header check (bails before any bytes are buffered).
|
|
360
|
+
// 2. Streaming byte count (covers gateways that lie about Content-Length or
|
|
361
|
+
// omit it — Pinata sometimes chunked-encodes small responses).
|
|
362
|
+
const MAX_BUNDLE_BYTES = 1024 * 1024 * 1024;
|
|
363
|
+
async function downloadBundleCid(ipfsGateway, cid, destDir, kind) {
|
|
364
|
+
const base = ipfsGateway.replace(/\/+$/, "");
|
|
365
|
+
const url = `${base}/${cid}`;
|
|
366
|
+
// 300s covers stl10-sized bundles (~190 MiB) on slow residential uplinks;
|
|
367
|
+
// larger than that and a verifier should self-host an IPFS gateway anyway.
|
|
368
|
+
const res = await fetch(url, { signal: AbortSignal.timeout(300_000) });
|
|
369
|
+
if (!res.ok)
|
|
370
|
+
throw new Error(`IPFS fetch failed (${res.status}) for ${kind} CID ${cid}`);
|
|
371
|
+
const declaredSize = parseInt(res.headers.get("content-length") ?? "0", 10);
|
|
372
|
+
if (Number.isFinite(declaredSize) && declaredSize > MAX_BUNDLE_BYTES) {
|
|
373
|
+
throw new Error(`${kind} CID ${cid} declares ${declaredSize} bytes — refusing (cap ${MAX_BUNDLE_BYTES}). ` +
|
|
374
|
+
`If this is a legitimate large bundle, self-host an IPFS gateway and run the verifier there.`);
|
|
375
|
+
}
|
|
376
|
+
// Streaming read with a hard byte cap so a gateway with missing / lying
|
|
377
|
+
// Content-Length still can't push us past the limit.
|
|
378
|
+
if (!res.body)
|
|
379
|
+
throw new Error(`IPFS fetch for ${kind} CID ${cid} returned no body`);
|
|
380
|
+
const reader = res.body.getReader();
|
|
381
|
+
const chunks = [];
|
|
382
|
+
let received = 0;
|
|
383
|
+
while (true) {
|
|
384
|
+
const { done, value } = await reader.read();
|
|
385
|
+
if (done)
|
|
386
|
+
break;
|
|
387
|
+
if (!value)
|
|
388
|
+
continue;
|
|
389
|
+
received += value.byteLength;
|
|
390
|
+
if (received > MAX_BUNDLE_BYTES) {
|
|
391
|
+
// Abort further reads to free the socket.
|
|
392
|
+
try {
|
|
393
|
+
await reader.cancel();
|
|
394
|
+
}
|
|
395
|
+
catch { /* ignore */ }
|
|
396
|
+
throw new Error(`${kind} CID ${cid} exceeded ${MAX_BUNDLE_BYTES}-byte cap mid-stream ` +
|
|
397
|
+
`(received ${received}). Aborting — malicious or over-budget bundle.`);
|
|
398
|
+
}
|
|
399
|
+
chunks.push(value);
|
|
400
|
+
}
|
|
401
|
+
const buf = Buffer.concat(chunks.map((c) => Buffer.from(c)), received);
|
|
402
|
+
// Content verification for eval bundles. Agent-submitted artifacts don't
|
|
403
|
+
// have a known-good hash (they're user input), so we only hash-check
|
|
404
|
+
// evals. A CID not in the manifest is allowed through with a loud
|
|
405
|
+
// warning (fail-open); a CID that IS in the manifest MUST match its
|
|
406
|
+
// sha256 — a gateway serving swapped content is blocked before the
|
|
407
|
+
// sandbox sees it. See `verifyEvalBundleContent`.
|
|
408
|
+
if (kind === "eval") {
|
|
409
|
+
const verdict = verifyEvalBundleContent(buf, cid);
|
|
410
|
+
if (!verdict.ok)
|
|
411
|
+
throw new Error(verdict.error);
|
|
412
|
+
if (verdict.warn)
|
|
413
|
+
console.warn(chalk.yellow(` ⚠ ${verdict.warn}`));
|
|
414
|
+
}
|
|
415
|
+
const isGzip = buf.length >= 2 && buf[0] === 0x1f && buf[1] === 0x8b;
|
|
416
|
+
if (isGzip) {
|
|
417
|
+
const tarballPath = path.join(destDir, "__bundle.tar.gz");
|
|
418
|
+
await fs.writeFile(tarballPath, buf);
|
|
419
|
+
const extract = spawnSync("tar", ["-xzf", tarballPath, "-C", destDir], { encoding: "utf8" });
|
|
420
|
+
if (extract.status !== 0) {
|
|
421
|
+
throw new Error(`tar -xzf failed for ${kind} CID ${cid} (exit ${extract.status}): ${extract.stderr ?? ""}`);
|
|
422
|
+
}
|
|
423
|
+
await fs.unlink(tarballPath);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
// Non-gzip CID — write as a single `bundle` file at the mount root and
|
|
427
|
+
// let the image handle it (legacy path for agents pinning raw artifacts).
|
|
428
|
+
await fs.writeFile(path.join(destDir, "bundle"), buf);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
async function pinStdoutToIpfs(gatewayUrl, apiKey, stdout) {
|
|
432
|
+
// The gateway exposes a helper for verifiers to pin their sandbox
|
|
433
|
+
// stdout without holding Pinata credentials. If the route isn't
|
|
434
|
+
// available, fall back to echoing a sha-derived placeholder so the
|
|
435
|
+
// CLI still produces a valid-shape attestation (the gateway then
|
|
436
|
+
// rejects with INVALID_ATTESTATION.stdoutCid — clear feedback loop).
|
|
437
|
+
const res = await gatewayRequest(gatewayUrl, "POST", "/v1/mining/sandbox/pin", { apiKey, body: { stdout } });
|
|
438
|
+
if (isGatewayError(res)) {
|
|
439
|
+
throw new Error(`Unable to pin stdout to IPFS via /v1/mining/sandbox/pin (${res.error}). ` +
|
|
440
|
+
"Pin manually and re-run with --stdout-cid once supported, or self-host a pinning endpoint.");
|
|
441
|
+
}
|
|
442
|
+
return res.data.cid;
|
|
443
|
+
}
|
|
444
|
+
//# sourceMappingURL=verifyReproduction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyReproduction.js","sourceRoot":"","sources":["../../src/commands/verifyReproduction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Auto-generated from docker/paper-reproduction-verifier/evals/ipfs_cids.json. Maps eval-bundle CID -> expected sha256 of the pinned tarball. The CLI verifies every /eval bundle it downloads against this manifest before extracting, so an IPFS gateway that serves back poisoned content (wrong answers, label-leaking images) is caught client-side. Regenerate with `node cli/scripts/syncEvalManifest.mjs` after running pin_eval_bundles.py.",
|
|
3
|
+
"_regeneratedFrom": "docker/paper-reproduction-verifier/evals/ipfs_cids.json",
|
|
4
|
+
"_generatedAt": "2026-04-17",
|
|
5
|
+
"cids": {
|
|
6
|
+
"bafybeib7jshizksuwqm4w2jtxz4hstau4sxcqy6epxfnfloysq5j5nmgc4": "68d89068162d490cfd37f8cb17b236f70a083c180bef9f87a2921c9ce54fa32a",
|
|
7
|
+
"bafkreieo5sprafvp56khfjuhlhfmrhqcik4rd6vccoy5kqiwdj5mjy4r3q": "8eec9f1016afef9472a68759cac89e0242b911faa213b1d541161a7ac4e391dc",
|
|
8
|
+
"bafkreidnkrjgilvzdv2lmmgn3jrlhcuopfefxaablrf43cscgvf5wuf7q4": "6d5452642eb91d74b630cdda62b38a8e79485b80015c4bcd8a42354bdb50bf87",
|
|
9
|
+
"bafkreiglizi5deypjkkqbs5n5sum6f2rce6c3ehq52wgwddptknr6cdife": "cb4651d1930f4a9500cbadeca8cf1751113c2d90f0eeac6b0c6f9a9b1f086829",
|
|
10
|
+
"bafybeih5x35v6qbelj34ridtagau6snjxwewsaqlcr4wqcw7dirgut5f2m": "3b2fbf6733f16672d54d8c41bb68a8f070a259ee4dff351e0b903debcc900268",
|
|
11
|
+
"bafkreicoj3jojb6oa42cu76knisvdi5wbxixkikrh43vj6hrykpnzs6ibu": "4e4ed2e487ce07342a7fca6a2551a3b60dd17521513f3754f8f1c29edccbc80d",
|
|
12
|
+
"bafybeiergbl4sl2qui4niifduyri2xubbpc7drpnlvxlmptl3hj7r5jjfe": "94c8fab4210c8ca4c2c43b062d882862df1bfa2ead28d75be1b38a3394c81239",
|
|
13
|
+
"bafybeietgomlg5r7o7gio23eo6lvxsht5uhl3bdja7ac55qyricfcfk22m": "04e3b2763a8de9028664a66dce02e76d3c9d0e1df6bcb820aeee053c1b80c541",
|
|
14
|
+
"bafybeicwvzev64cs7bjzfydgnqgezh55c5qahe5gg7h4lpxvgwxphddkva": "9a1cf1dd64c5e2ba4b89215cd7f7330554a69644d14934029ca185b139dcf91a",
|
|
15
|
+
"bafkreieul2ibj7gki453ch2hjw37yqjxoinbgdtjsjyxmj63fz6r22j42y": "945e9014fcca473bb11f474db7fc4137721a130e6992717627db2e7d1d693cd6",
|
|
16
|
+
"bafkreibofdiwccvgonv6jpj4oqjqydscdi6x3g633yj45repypsl2luetq": "2e28d1610aa6736be4bd3c74130c0e421a3d7d9bdbde13cec48fc3e4bd2e849c",
|
|
17
|
+
"bafybeics67cj3akmcrgtraligzml7egp43qmstgb6t4kbnxbjurfodmbxe": "166e4c3dce547bd6646f2bdb1fe0cb47f84218c5f1f22fd13888720b31e91d95",
|
|
18
|
+
"bafkreid4bn25xiq4rqghua2iun5g7c4y6ofyvfcfyrm2yji5epnpzox43m": "7c0b75dba21c8c0c7a0348a37a6f8b98f38b8a9445c459ac251d23dafcbafcdb",
|
|
19
|
+
"bafybeih6llkr4lgyup7erqpbute2hctqhcga53gn4dx6usrx3jcofcvtju": "b45711102227e3f8ee21d65438cf4c891275da998160fe988a140cf0934b2d2b",
|
|
20
|
+
"bafkreihhglbxugphd3xeknwmcfhvblmtykwjdd3wprk6erfg2aca6rxhgu": "e732c37a19e71eee4536cc114f50ad93c2ac918f767c55e244a6d0040f46e735",
|
|
21
|
+
"bafybeicrze4inhk3naytkipcgisiji4ovmmlgotzub4kxpgauwt2ge5v2m": "50a6ed399ed89724d733d1f1671e24cab6adab34063a10e3ca18d838dc795019",
|
|
22
|
+
"bafybeicdavoss5vrwthpphpagp5ozjlmu35ug2rvhsdidfc2ngebega2me": "d4f1082360b655f2b3dcec497124faa0245b17d456c3ac4087b0b518aa209d1d",
|
|
23
|
+
"bafybeicucxw4j2tumiicpcvsdntswiae4h7ce7tje4v7im6nuxizs4mbwi": "9377a3eed10ac53b47fcae3952d9e174957356d42d0fb0edcbd0505dc0fc5fb3",
|
|
24
|
+
"bafkreicg75laujjx4y74eibvqts4ywftkupzxys5jl442enmdknopwll74": "46ff560a2537e63fc2203584e5cc58b3551f9be25d4af9cd11ac1a9ae7d96bff",
|
|
25
|
+
"bafkreiajtsh6h2mp6dol2dois6bg3vix5fwhny4laxrlreaywi77ze563m": "099c8fe3e98ff0dcbd0dc897826dd517e96c76e38b05e2b89018b23ffc93bedb"
|
|
26
|
+
}
|
|
27
|
+
}
|