usertrust-verify 1.5.0 → 2.0.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 +44 -0
- package/dist/anchor-verify.d.ts +229 -0
- package/dist/anchor-verify.d.ts.map +1 -0
- package/dist/anchor-verify.js +809 -0
- package/dist/anchor-verify.js.map +1 -0
- package/dist/cli.js +334 -20
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +93 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +300 -16
- package/dist/index.js.map +1 -1
- package/dist/receipt.d.ts +7 -0
- package/dist/receipt.d.ts.map +1 -1
- package/dist/receipt.js +4 -1
- package/dist/receipt.js.map +1 -1
- package/dist/rekor-verify.d.ts +116 -0
- package/dist/rekor-verify.d.ts.map +1 -0
- package/dist/rekor-verify.js +533 -0
- package/dist/rekor-verify.js.map +1 -0
- package/package.json +12 -3
package/dist/index.js
CHANGED
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
// Copyright 2026 Usertools, Inc.
|
|
3
3
|
// usertrust-verify — Standalone Audit Verification (zero dependencies)
|
|
4
4
|
import { createHash } from "node:crypto";
|
|
5
|
-
import { existsSync,
|
|
5
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
6
6
|
import { basename, join } from "node:path";
|
|
7
|
+
import { dedupeAnchorSet, evaluateAnchoredVault, gatherOrderedEventHashes, parseAnchorsContent, publicKeyFromSpkiBase64, readAnchorMirror, verifyInclusionAgainstAnchor, worseAnchorState, } from "./anchor-verify.js";
|
|
7
8
|
import { canonicalize } from "./canonical.js";
|
|
8
9
|
import { GENESIS_HASH } from "./constants.js";
|
|
9
10
|
import { renderNotFound, renderReceipt, } from "./receipt.js";
|
|
10
|
-
import {
|
|
11
|
+
import { parseRekorReceipt, verifyRekorReceipt } from "./rekor-verify.js";
|
|
12
|
+
import { buildMerkleTree, generateInclusionProof, readAnchor, verifyChain, } from "./verify.js";
|
|
13
|
+
export { anchorPayloadHash, anchorSigningPreimage, committedFieldsEqual, dedupeAnchorSet, evaluateAnchoredVault, gatherOrderedEventHashes, keyIdFromKeyObject, keyIdFromSpkiDer, parseAnchorRecord, parseAnchorsContent, publicKeyFromPem, publicKeyFromSpkiBase64, readAnchorMirror, verifyAnchorChain, verifyAnchorSignature, verifyInclusionAgainstAnchor, verifySignatureRaw, worseAnchorState, } from "./anchor-verify.js";
|
|
11
14
|
export { canonicalize } from "./canonical.js";
|
|
12
15
|
export { GENESIS_HASH } from "./constants.js";
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
16
|
+
export { renderNotFound, renderReceipt, } from "./receipt.js";
|
|
17
|
+
export { parseRekorReceipt, parseSignedNote, REKOR_PROD_PUBKEY_PEM, verifyIndexInclusion, verifyRekorReceipt, } from "./rekor-verify.js";
|
|
18
|
+
export { buildMerkleTree, generateConsistencyProof, generateInclusionProof, hashInternal, hashLeaf, verifyChain, verifyConsistencyProof, verifyInclusionProof, } from "./verify.js";
|
|
15
19
|
/**
|
|
16
20
|
* Verify an entire `.usertrust` vault directory, anchored to the `.meta` head.
|
|
17
21
|
*
|
|
@@ -181,14 +185,209 @@ export function verifyVault(vaultPath) {
|
|
|
181
185
|
export function exitCodeFor(result) {
|
|
182
186
|
return result.valid ? 0 : 1;
|
|
183
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Split one raw receipt artifact into receipt documents. A file may hold a
|
|
190
|
+
* single (possibly pretty-printed) receipt or JSONL of many, so the whole-file
|
|
191
|
+
* parse is tried first and line-splitting is the fallback — the reverse would
|
|
192
|
+
* shred a pretty-printed receipt into unparseable fragments.
|
|
193
|
+
*
|
|
194
|
+
* IDENTICAL in packages/core/src/audit/verify.ts.
|
|
195
|
+
*/
|
|
196
|
+
function splitReceiptDocuments(raw) {
|
|
197
|
+
const trimmed = raw.trim();
|
|
198
|
+
if (trimmed.length === 0)
|
|
199
|
+
return [];
|
|
200
|
+
try {
|
|
201
|
+
JSON.parse(trimmed);
|
|
202
|
+
return [trimmed];
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return trimmed
|
|
206
|
+
.split("\n")
|
|
207
|
+
.map((line) => line.trim())
|
|
208
|
+
.filter((line) => line.length > 0);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Verify every supplied transparency-log receipt against the anchor record it
|
|
213
|
+
* names. Receipts are OPTIONAL evidence, but supplied evidence is not
|
|
214
|
+
* advisory: a receipt is only ever presented to strengthen a claim, so one
|
|
215
|
+
* that does not verify fails the vault closed rather than being dropped.
|
|
216
|
+
*
|
|
217
|
+
* Records are matched by anchorSeq with the external copy governing (the same
|
|
218
|
+
* precedence the evaluator's merge uses). A receipt may bind to ANY record at
|
|
219
|
+
* its anchorSeq: committed-equal twins differ in exactly the timestamp and
|
|
220
|
+
* signature a receipt commits to, so the emitter's published twin must not
|
|
221
|
+
* depend on which copy the auditor happened to fetch first.
|
|
222
|
+
*
|
|
223
|
+
* IDENTICAL in packages/core/src/audit/verify.ts.
|
|
224
|
+
*/
|
|
225
|
+
function verifySuppliedRekorReceipts(receiptsRaw, externalRecords, mirrorRecords, logPubkeysPem) {
|
|
226
|
+
if (receiptsRaw.length === 0)
|
|
227
|
+
return null;
|
|
228
|
+
const bySeq = new Map();
|
|
229
|
+
for (const record of [...externalRecords, ...mirrorRecords]) {
|
|
230
|
+
const twins = bySeq.get(record.anchorSeq);
|
|
231
|
+
if (twins === undefined) {
|
|
232
|
+
bySeq.set(record.anchorSeq, [record]);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
twins.push(record);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// The NEWEST anchor by the evaluator's own rule (largest treeSize, earliest
|
|
239
|
+
// anchorSeq on a tie) — only its receipts may speak for freshness.
|
|
240
|
+
const merged = [...bySeq.keys()]
|
|
241
|
+
.sort((a, b) => a - b)
|
|
242
|
+
.map((seq) => bySeq.get(seq)[0]);
|
|
243
|
+
const latestSeq = [...merged].sort((a, b) => b.treeSize - a.treeSize)[0]?.anchorSeq ?? null;
|
|
244
|
+
const errors = [];
|
|
245
|
+
let receiptsVerified = 0;
|
|
246
|
+
let receiptsFailed = 0;
|
|
247
|
+
let latestAttestedTimeMs = null;
|
|
248
|
+
for (const raw of receiptsRaw) {
|
|
249
|
+
const documents = splitReceiptDocuments(raw);
|
|
250
|
+
if (documents.length === 0) {
|
|
251
|
+
// A receipts artifact that holds no receipts is a supply failure, not an
|
|
252
|
+
// absence of evidence: the caller passed --rekor-receipts, so an empty
|
|
253
|
+
// file means the receipt they meant to present never made it here.
|
|
254
|
+
receiptsFailed++;
|
|
255
|
+
errors.push("rekor-receipt-invalid: receipts artifact contained no receipts");
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
for (const document of documents) {
|
|
259
|
+
const parsed = parseRekorReceipt(document);
|
|
260
|
+
if (parsed.receipt === null) {
|
|
261
|
+
receiptsFailed++;
|
|
262
|
+
errors.push(parsed.error);
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
const receipt = parsed.receipt;
|
|
266
|
+
const candidates = bySeq.get(receipt.anchorSeq) ?? [];
|
|
267
|
+
if (candidates.length === 0) {
|
|
268
|
+
receiptsFailed++;
|
|
269
|
+
errors.push(`rekor-receipt-invalid: receipt for unknown anchorSeq ${receipt.anchorSeq}`);
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
let verified = null;
|
|
273
|
+
let firstErrors = [];
|
|
274
|
+
for (const candidate of candidates) {
|
|
275
|
+
const result = verifyRekorReceipt(receipt, candidate, logPubkeysPem);
|
|
276
|
+
if (result.ok) {
|
|
277
|
+
verified = result;
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
if (firstErrors.length === 0)
|
|
281
|
+
firstErrors = result.errors;
|
|
282
|
+
}
|
|
283
|
+
if (verified === null) {
|
|
284
|
+
receiptsFailed++;
|
|
285
|
+
errors.push(...firstErrors);
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
receiptsVerified++;
|
|
289
|
+
if (receipt.anchorSeq === latestSeq && verified.attestedTimeMs !== null) {
|
|
290
|
+
latestAttestedTimeMs =
|
|
291
|
+
latestAttestedTimeMs === null
|
|
292
|
+
? verified.attestedTimeMs
|
|
293
|
+
: Math.max(latestAttestedTimeMs, verified.attestedTimeMs);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return { receiptsVerified, receiptsFailed, latestAttestedTimeMs, errors };
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* verifyVault + the spec §7.2 anchor state machine. Existing chain semantics
|
|
301
|
+
* are UNCHANGED (verifyVault runs as-is); anchor evaluation is layered on
|
|
302
|
+
* top additively. IDENTICAL function body in packages/core/src/audit/verify.ts
|
|
303
|
+
* — the anchor differential test pins the two.
|
|
304
|
+
*/
|
|
305
|
+
export function verifyVaultWithAnchors(vaultPath, params = {}) {
|
|
306
|
+
const base = verifyVault(vaultPath);
|
|
307
|
+
const externalRecords = [];
|
|
308
|
+
const externalErrors = [];
|
|
309
|
+
for (const raw of params.externalAnchorsRaw ?? []) {
|
|
310
|
+
const parsed = parseAnchorsContent(raw);
|
|
311
|
+
externalRecords.push(...parsed.records);
|
|
312
|
+
externalErrors.push(...parsed.errors);
|
|
313
|
+
}
|
|
314
|
+
const mirror = readAnchorMirror(vaultPath);
|
|
315
|
+
const rekor = verifySuppliedRekorReceipts(params.rekorReceiptsRaw ?? [], externalRecords, mirror.records, params.rekorLogPubkeysPem ?? []);
|
|
316
|
+
const evaluation = evaluateAnchoredVault({
|
|
317
|
+
orderedHashes: gatherOrderedEventHashes(vaultPath),
|
|
318
|
+
externalAnchors: externalRecords,
|
|
319
|
+
externalErrors,
|
|
320
|
+
mirrorAnchors: mirror.records,
|
|
321
|
+
mirrorErrors: mirror.errors,
|
|
322
|
+
trust: params.trust ?? null,
|
|
323
|
+
witness: params.witness ?? { requested: false },
|
|
324
|
+
opts: {
|
|
325
|
+
...(params.maxAnchorAgeMs !== undefined ? { maxAnchorAgeMs: params.maxAnchorAgeMs } : {}),
|
|
326
|
+
...(params.maxUnanchoredEvents !== undefined
|
|
327
|
+
? { maxUnanchoredEvents: params.maxUnanchoredEvents }
|
|
328
|
+
: {}),
|
|
329
|
+
...(params.expectedVaultId !== undefined ? { expectedVaultId: params.expectedVaultId } : {}),
|
|
330
|
+
...(params.nowMs !== undefined ? { nowMs: params.nowMs } : {}),
|
|
331
|
+
...(rekor !== null && rekor.latestAttestedTimeMs !== null
|
|
332
|
+
? { attestedTimeMs: rekor.latestAttestedTimeMs }
|
|
333
|
+
: {}),
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
// A broken receipt is ANCHOR_INVALID (fail-closed), escalated by the state
|
|
337
|
+
// machine's own severity ordering so MISMATCH still outranks it.
|
|
338
|
+
const rekorFailed = rekor !== null && rekor.receiptsFailed > 0;
|
|
339
|
+
return {
|
|
340
|
+
...base,
|
|
341
|
+
valid: base.valid && evaluation.anchorsValid && !rekorFailed,
|
|
342
|
+
errors: [...base.errors, ...evaluation.errors, ...(rekor?.errors ?? [])],
|
|
343
|
+
anchorState: rekorFailed
|
|
344
|
+
? worseAnchorState(evaluation.anchorState, "ANCHOR_INVALID")
|
|
345
|
+
: evaluation.anchorState,
|
|
346
|
+
anchoring: {
|
|
347
|
+
anchorSource: evaluation.anchorSource,
|
|
348
|
+
anchorCount: evaluation.anchorCount,
|
|
349
|
+
latestAnchor: evaluation.latestAnchor,
|
|
350
|
+
unanchoredTail: evaluation.unanchoredTail,
|
|
351
|
+
witness: evaluation.witness,
|
|
352
|
+
reasons: rekorFailed
|
|
353
|
+
? [...new Set([...evaluation.reasons, "rekor-receipt-invalid"])]
|
|
354
|
+
: evaluation.reasons,
|
|
355
|
+
warnings: evaluation.warnings,
|
|
356
|
+
...(rekor !== null ? { rekor } : {}),
|
|
357
|
+
},
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Exit-code policy for anchored verification. Exit codes stay 0/1
|
|
362
|
+
* (constraints §4.3); `--require-anchor` and `--require-external-anchor` are
|
|
363
|
+
* new INPUTS, not changed defaults.
|
|
364
|
+
*/
|
|
365
|
+
export function exitCodeForAnchored(result, opts) {
|
|
366
|
+
if (!result.valid)
|
|
367
|
+
return 1;
|
|
368
|
+
if (opts?.requireAnchor === true &&
|
|
369
|
+
(result.anchorState === "UNANCHORED" ||
|
|
370
|
+
result.anchorState === "ANCHOR_UNVERIFIABLE" ||
|
|
371
|
+
result.anchorState === "ANCHOR_STALE")) {
|
|
372
|
+
return 1;
|
|
373
|
+
}
|
|
374
|
+
if (opts?.requireExternalAnchor === true &&
|
|
375
|
+
(result.anchorState !== "ANCHORED_VERIFIED" || result.anchoring.anchorSource !== "external")) {
|
|
376
|
+
return 1;
|
|
377
|
+
}
|
|
378
|
+
return 0;
|
|
379
|
+
}
|
|
184
380
|
/**
|
|
185
381
|
* Verify a single transaction and return a formatted receipt.
|
|
186
382
|
*
|
|
187
|
-
* Finds the event matching `txId` (by `data.transferId`)
|
|
188
|
-
* hash chain
|
|
189
|
-
*
|
|
383
|
+
* Finds the event matching `txId` (by `data.transferId`) and verifies the
|
|
384
|
+
* hash chain. WITHOUT anchor inputs the receipt claims chain consistency
|
|
385
|
+
* only — the historical self-referential inclusion check (proof verified
|
|
386
|
+
* against a root recomputed from the same events, F1) is retired (AC-5.2).
|
|
387
|
+
* WITH anchor inputs the §7.2 state machine runs over the whole vault first
|
|
388
|
+
* (AC-5.4) and inclusion is proven against the SIGNED EXTERNAL anchor root.
|
|
190
389
|
*/
|
|
191
|
-
export function verifyTransaction(vaultPath, txId) {
|
|
390
|
+
export function verifyTransaction(vaultPath, txId, anchorParams) {
|
|
192
391
|
const auditDir = join(vaultPath, "audit");
|
|
193
392
|
const mainLog = join(auditDir, "events.jsonl");
|
|
194
393
|
if (!existsSync(mainLog)) {
|
|
@@ -232,15 +431,97 @@ export function verifyTransaction(vaultPath, txId) {
|
|
|
232
431
|
// Verify the full chain
|
|
233
432
|
const chainResult = verifyChain(mainLog);
|
|
234
433
|
const chainVerified = chainResult.valid;
|
|
235
|
-
//
|
|
434
|
+
// Merkle root over the stored hashes — informational display only. The
|
|
435
|
+
// self-referential inclusion check (F1: proof AND root computed from the
|
|
436
|
+
// same allHashes) is retired; inclusion is only ever claimed against a
|
|
437
|
+
// verified EXTERNAL anchor root below (AC-5.2).
|
|
236
438
|
const allHashes = events.map((e) => e.hash);
|
|
237
439
|
const tree = buildMerkleTree(allHashes);
|
|
238
|
-
|
|
440
|
+
let merkleRoot = tree.root ?? "";
|
|
239
441
|
const leafIndex = events.indexOf(targetEvent);
|
|
240
|
-
let merkleVerified
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
442
|
+
let merkleVerified;
|
|
443
|
+
let merkleLabel;
|
|
444
|
+
let anchorsValid = true;
|
|
445
|
+
let anchorState;
|
|
446
|
+
let anchoring;
|
|
447
|
+
const anchorErrors = [];
|
|
448
|
+
if (anchorParams === undefined) {
|
|
449
|
+
merkleVerified = chainVerified;
|
|
450
|
+
merkleLabel = chainVerified ? "CHAIN CONSISTENT (UNANCHORED)" : "CHAIN INCONSISTENT";
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
// AC-5.4: the anchor state machine runs over the WHOLE vault first —
|
|
454
|
+
// an ANCHOR_INVALID / ANCHOR_MISMATCH vault must never render
|
|
455
|
+
// "INCLUSION VERIFIED", whatever the single-event proof says.
|
|
456
|
+
const vaultResult = verifyVaultWithAnchors(vaultPath, anchorParams);
|
|
457
|
+
anchorsValid = vaultResult.valid;
|
|
458
|
+
anchorState = vaultResult.anchorState;
|
|
459
|
+
anchoring = vaultResult.anchoring;
|
|
460
|
+
anchorErrors.push(...vaultResult.anchoring.reasons.map((r) => `anchor: ${r}`));
|
|
461
|
+
const state = vaultResult.anchorState;
|
|
462
|
+
if (state === "ANCHORED_VERIFIED" || state === "ANCHOR_STALE") {
|
|
463
|
+
const orderedHashes = gatherOrderedEventHashes(vaultPath);
|
|
464
|
+
const pos = typeof targetEvent.sequence === "number" ? targetEvent.sequence : leafIndex + 1;
|
|
465
|
+
const candidates = [];
|
|
466
|
+
for (const raw of anchorParams.externalAnchorsRaw ?? []) {
|
|
467
|
+
candidates.push(...parseAnchorsContent(raw).records);
|
|
468
|
+
}
|
|
469
|
+
candidates.push(...readAnchorMirror(vaultPath).records);
|
|
470
|
+
const uniqueAnchors = dedupeAnchorSet(candidates).unique;
|
|
471
|
+
const covering = uniqueAnchors
|
|
472
|
+
.filter((r) => r.treeSize >= pos)
|
|
473
|
+
.sort((a, b) => a.treeSize - b.treeSize)[0];
|
|
474
|
+
if (covering === undefined) {
|
|
475
|
+
// Honest tail label — never "verified" for unanchored events.
|
|
476
|
+
merkleVerified = chainVerified;
|
|
477
|
+
merkleLabel = "IN UNANCHORED TAIL";
|
|
478
|
+
}
|
|
479
|
+
else if (anchorParams.trust !== undefined &&
|
|
480
|
+
pos >= 1 &&
|
|
481
|
+
covering.treeSize <= orderedHashes.length) {
|
|
482
|
+
const proof = generateInclusionProof(pos - 1, orderedHashes.slice(0, covering.treeSize), "events.jsonl");
|
|
483
|
+
// §7.1: resolve the covering record's epoch key the way the chain
|
|
484
|
+
// walk does — root + caller pins + in-chain rotation successors.
|
|
485
|
+
// This branch is gated on ANCHORED_VERIFIED/ANCHOR_STALE, so every
|
|
486
|
+
// rotation here was already validated; a forged rotation never
|
|
487
|
+
// reaches this point. Without this, a post-rotation-covered event
|
|
488
|
+
// falsely reports INCLUSION FAILED (the state machine accepted it).
|
|
489
|
+
const inChainSuccessorPems = uniqueAnchors.flatMap((r) => {
|
|
490
|
+
if (r.rotation === undefined)
|
|
491
|
+
return [];
|
|
492
|
+
const k = publicKeyFromSpkiBase64(r.rotation.nextPublicKeySpki);
|
|
493
|
+
return k === null ? [] : [k.export({ type: "spki", format: "pem" })];
|
|
494
|
+
});
|
|
495
|
+
const ok = verifyInclusionAgainstAnchor(proof, covering, {
|
|
496
|
+
...anchorParams.trust,
|
|
497
|
+
successorPinsPem: [
|
|
498
|
+
...(anchorParams.trust.successorPinsPem ?? []),
|
|
499
|
+
...inChainSuccessorPems,
|
|
500
|
+
],
|
|
501
|
+
});
|
|
502
|
+
merkleVerified = ok;
|
|
503
|
+
merkleRoot = covering.merkleRoot;
|
|
504
|
+
merkleLabel = ok
|
|
505
|
+
? `INCLUSION VERIFIED (anchor #${covering.anchorSeq})`
|
|
506
|
+
: "INCLUSION FAILED (anchored root)";
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
merkleVerified = false;
|
|
510
|
+
merkleLabel = "INCLUSION UNVERIFIABLE";
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
else if (state === "UNANCHORED") {
|
|
514
|
+
merkleVerified = chainVerified;
|
|
515
|
+
merkleLabel = chainVerified ? "CHAIN CONSISTENT (UNANCHORED)" : "CHAIN INCONSISTENT";
|
|
516
|
+
}
|
|
517
|
+
else if (state === "ANCHOR_UNVERIFIABLE") {
|
|
518
|
+
merkleVerified = chainVerified;
|
|
519
|
+
merkleLabel = "INCLUSION UNVERIFIABLE";
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
522
|
+
merkleVerified = false;
|
|
523
|
+
merkleLabel = "INCLUSION UNVERIFIABLE";
|
|
524
|
+
}
|
|
244
525
|
}
|
|
245
526
|
// Compute cumulative spend up to and including this event
|
|
246
527
|
let cumulativeSpend = 0;
|
|
@@ -259,13 +540,16 @@ export function verifyTransaction(vaultPath, txId) {
|
|
|
259
540
|
chainVerified,
|
|
260
541
|
cumulativeSpend,
|
|
261
542
|
verifiedAt: new Date(),
|
|
543
|
+
merkleLabel,
|
|
262
544
|
};
|
|
263
|
-
const allErrors = [...parseErrors, ...chainResult.errors];
|
|
545
|
+
const allErrors = [...parseErrors, ...chainResult.errors, ...anchorErrors];
|
|
264
546
|
return {
|
|
265
547
|
found: true,
|
|
266
|
-
valid: chainVerified && merkleVerified,
|
|
548
|
+
valid: chainVerified && merkleVerified && anchorsValid,
|
|
267
549
|
receipt: renderReceipt(receiptData),
|
|
268
550
|
errors: allErrors,
|
|
551
|
+
...(anchorState !== undefined ? { anchorState } : {}),
|
|
552
|
+
...(anchoring !== undefined ? { anchoring } : {}),
|
|
269
553
|
};
|
|
270
554
|
}
|
|
271
555
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/receipt.d.ts
CHANGED
|
@@ -28,6 +28,13 @@ export interface ReceiptData {
|
|
|
28
28
|
readonly chainVerified: boolean;
|
|
29
29
|
readonly cumulativeSpend: number;
|
|
30
30
|
readonly verifiedAt: Date;
|
|
31
|
+
/**
|
|
32
|
+
* Honest Merkle-row label. "INCLUSION VERIFIED" may ONLY be passed when
|
|
33
|
+
* the proof was checked against a verified EXTERNAL anchor root — never
|
|
34
|
+
* from a root recomputed out of the same events (the retired F1 path).
|
|
35
|
+
* Absent → the truthful unanchored default is rendered.
|
|
36
|
+
*/
|
|
37
|
+
readonly merkleLabel?: string | undefined;
|
|
31
38
|
}
|
|
32
39
|
export declare function renderReceipt(data: ReceiptData): string;
|
|
33
40
|
export declare function renderNotFound(txId: string): string;
|
package/dist/receipt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAIH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE;QACd,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAIH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE;QACd,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAgJD,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA6FvD;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBnD"}
|
package/dist/receipt.js
CHANGED
|
@@ -175,7 +175,10 @@ export function renderReceipt(data) {
|
|
|
175
175
|
lines.push(row(`${dotted(" Position", `Event ${event.sequence} of ${chainLength}`, WIDTH - 1)} `));
|
|
176
176
|
lines.push(row(`${dotted(" Hash", truncHash(event.hash), WIDTH - 1)} `));
|
|
177
177
|
lines.push(row(`${dotted(" Prev", truncHash(event.previousHash), WIDTH - 1)} `));
|
|
178
|
-
|
|
178
|
+
// AC-5.3: without an external anchor the truthful claim is chain
|
|
179
|
+
// consistency, not inclusion — the old unconditional "INCLUSION VERIFIED"
|
|
180
|
+
// came from a self-referential proof and is retired.
|
|
181
|
+
const merkleStatus = data.merkleLabel ?? (merkleVerified ? "CHAIN CONSISTENT (UNANCHORED)" : "INCLUSION FAILED");
|
|
179
182
|
lines.push(row(`${dotted(" Merkle", merkleStatus, WIDTH - 1)} `));
|
|
180
183
|
lines.push(blank());
|
|
181
184
|
// ── Verdict ──
|
package/dist/receipt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { type AnchorRecord } from "./anchor-verify.js";
|
|
2
|
+
export interface RekorReceipt {
|
|
3
|
+
v: 1;
|
|
4
|
+
vaultId: string;
|
|
5
|
+
anchorSeq: number;
|
|
6
|
+
/** 64-hex — MUST equal anchorPayloadHash(record). */
|
|
7
|
+
artifactHash: string;
|
|
8
|
+
/** base64 of the entry bytes AS STORED BY THE LOG, never a reserialization. */
|
|
9
|
+
entryBody: string;
|
|
10
|
+
log: {
|
|
11
|
+
url: string;
|
|
12
|
+
logIndex: number;
|
|
13
|
+
treeSize: number;
|
|
14
|
+
/** 64-hex root the inclusion path must reconstruct. */
|
|
15
|
+
rootHash: string;
|
|
16
|
+
/** 64-hex inclusion path, leaf -> root order. */
|
|
17
|
+
hashes: string[];
|
|
18
|
+
/** Signed note (checkpoint) over treeSize + rootHash. */
|
|
19
|
+
checkpoint: string;
|
|
20
|
+
/**
|
|
21
|
+
* Unix seconds the log CLAIMS it integrated the entry. Signed by nothing
|
|
22
|
+
* on its own — only the SET below turns it into an attested time.
|
|
23
|
+
*/
|
|
24
|
+
integratedTime: number;
|
|
25
|
+
/**
|
|
26
|
+
* base64 ECDSA signature over the sorted-key JSON of
|
|
27
|
+
* `{body, integratedTime, logID, logIndex}` — the log's only signature
|
|
28
|
+
* covering integratedTime. Optional: a log that does not emit one still
|
|
29
|
+
* yields a valid INCLUSION proof, just no attested time.
|
|
30
|
+
*/
|
|
31
|
+
signedEntryTimestamp?: string;
|
|
32
|
+
/** 64-hex log identity, part of the SET payload. Required with a SET. */
|
|
33
|
+
logID?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface SignedNote {
|
|
37
|
+
origin: string;
|
|
38
|
+
treeSize: number;
|
|
39
|
+
rootHashHex: string;
|
|
40
|
+
/** EXACTLY the bytes the log signs: 3 body lines including the trailing LF. */
|
|
41
|
+
body: string;
|
|
42
|
+
/**
|
|
43
|
+
* Note signatures, each with its 4-byte key hint stripped off the front. A
|
|
44
|
+
* checkpoint carries the log's own signature plus one per co-signing witness.
|
|
45
|
+
*/
|
|
46
|
+
sigs: Buffer[];
|
|
47
|
+
}
|
|
48
|
+
export interface RekorVerification {
|
|
49
|
+
ok: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Witness-attested time in ms — the input to staleness policy when present.
|
|
52
|
+
* Non-null ONLY when a signed entry timestamp verified: an unsigned
|
|
53
|
+
* integratedTime is a number the party under audit could have chosen.
|
|
54
|
+
*/
|
|
55
|
+
attestedTimeMs: number | null;
|
|
56
|
+
errors: string[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The rekor.sigstore.dev v1 log key, as served by
|
|
60
|
+
* https://rekor.sigstore.dev/api/v1/log/publicKey — ECDSA P-256, SPKI sha256
|
|
61
|
+
* c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d (the log's
|
|
62
|
+
* published logID). This is DATA, not a dependency, and it is not a blanket
|
|
63
|
+
* trust root: it is consulted ONLY for receipts whose log URL host IS
|
|
64
|
+
* rekor.sigstore.dev. Any other log must be pinned by the operator with
|
|
65
|
+
* --rekor-pubkey.
|
|
66
|
+
*/
|
|
67
|
+
export declare const REKOR_PROD_PUBKEY_PEM = "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2G2Y+2tabdTV5BcGiBIx0a9fAFwr\nkBbmLSGtks4L3qX6yYY0zufBnhC8Ur/iy55GhWP/9A/bY2LhC30M9+RYtw==\n-----END PUBLIC KEY-----\n";
|
|
68
|
+
/**
|
|
69
|
+
* Parse a signed note:
|
|
70
|
+
* <origin>\n<treeSize>\n<base64 rootHash>\n\n— <keyname> <base64 sig>\n...
|
|
71
|
+
* Strictly LF-only and strictly this shape — a note is a signed artifact, so
|
|
72
|
+
* accepting variants would mean verifying a signature over bytes we did not
|
|
73
|
+
* actually parse. The signature payload is `4-byte keyhint || DER signature`;
|
|
74
|
+
* the hint identifies which key the log used and is ADVISORY only, because the
|
|
75
|
+
* auditor pins the key out-of-band. Only its 4 bytes are skipped.
|
|
76
|
+
*
|
|
77
|
+
* ONE OR MORE signature lines are accepted: a production checkpoint is signed by
|
|
78
|
+
* the log and co-signed by its witnesses, and every line must still be
|
|
79
|
+
* well-formed. Which of them (if any) speaks for the auditor is decided later,
|
|
80
|
+
* against the pinned keyring — never here.
|
|
81
|
+
*/
|
|
82
|
+
export declare function parseSignedNote(note: string): SignedNote | null;
|
|
83
|
+
/**
|
|
84
|
+
* RFC 9162 §2.1.3.2 inclusion verification: walk the audit path from the leaf
|
|
85
|
+
* to the root, deciding sibling order from the leaf index rather than from any
|
|
86
|
+
* hint the proof supplies. `fn`/`sn` track the leaf's and the last leaf's
|
|
87
|
+
* positions within the current subtree; the right-shift after a left-sibling
|
|
88
|
+
* merge is what makes right-edge (incomplete) subtrees come out correct.
|
|
89
|
+
*
|
|
90
|
+
* Never throws: malformed hex, out-of-range indices, and over-long paths are
|
|
91
|
+
* rejections, because this runs on attacker-supplied input.
|
|
92
|
+
*/
|
|
93
|
+
export declare function verifyIndexInclusion(leafHex: string, index: number, treeSize: number, pathHex: readonly string[], rootHex: string): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Strict parse of one receipt. Unknown fields, wrong types, and range
|
|
96
|
+
* violations are all rejected before any crypto runs — the same fail-closed
|
|
97
|
+
* posture as parseAnchorRecord, for the same reason: a field the verifier
|
|
98
|
+
* silently ignores is a field an attacker can use.
|
|
99
|
+
*/
|
|
100
|
+
export declare function parseRekorReceipt(raw: string): {
|
|
101
|
+
receipt: RekorReceipt | null;
|
|
102
|
+
error: string | null;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Verify one receipt against the anchor record it claims to witness, under a
|
|
106
|
+
* caller-pinned keyring (any key in the ring may verify the checkpoint).
|
|
107
|
+
*
|
|
108
|
+
* The order below is the binding chain, and it is deliberate: cheap identity
|
|
109
|
+
* and hash checks first, then the entry decode, then the inclusion walk, and
|
|
110
|
+
* only then the signatures — so a receipt for the wrong record can never cost
|
|
111
|
+
* an ECDSA verification, and a failure always names the earliest broken link.
|
|
112
|
+
* `ok` is the INCLUSION verdict; `attestedTimeMs` is the strictly weaker time
|
|
113
|
+
* claim, and only a verifying signed entry timestamp produces it.
|
|
114
|
+
*/
|
|
115
|
+
export declare function verifyRekorReceipt(receipt: RekorReceipt, record: AnchorRecord, logPubkeysPem: readonly string[]): RekorVerification;
|
|
116
|
+
//# sourceMappingURL=rekor-verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rekor-verify.d.ts","sourceRoot":"","sources":["../src/rekor-verify.ts"],"names":[],"mappings":"AAoCA,OAAO,EACN,KAAK,YAAY,EAIjB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,WAAW,YAAY;IAC5B,CAAC,EAAE,CAAC,CAAC;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,uDAAuD;QACvD,QAAQ,EAAE,MAAM,CAAC;QACjB,iDAAiD;QACjD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,yDAAyD;QACzD,UAAU,EAAE,MAAM,CAAC;QACnB;;;WAGG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;;;;WAKG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,yEAAyE;QACzE,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,2LAIjC,CAAC;AAqGF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAiC/D;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,MAAM,GACb,OAAO,CA4BT;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC/C,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAwFA;AAmFD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,SAAS,MAAM,EAAE,GAC9B,iBAAiB,CAqGnB"}
|