@vorim/verify 0.3.0 → 0.3.2

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/cli.js CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { readFileSync } from 'node:fs';
19
19
  import { verifyBundle } from './index.js';
20
- const VERSION = '0.1.0';
20
+ const VERSION = '0.3.2';
21
21
  function printUsage(stream) {
22
22
  stream.write(`vorim-verify ${VERSION} — offline verifier for Vorim audit bundles
23
23
 
package/dist/index.d.ts CHANGED
@@ -58,9 +58,11 @@ export declare function canonicalPayloadV1(event: BundleEvent): string;
58
58
  */
59
59
  export declare function jcsCanonicalise(value: unknown): string;
60
60
  /**
61
- * Verify the SHA-256 manifest over `{ events, agents }`. Returns null if
62
- * the bundle has no manifest field (older exports). Manifest format is
63
- * `sha256:<hex>` to match the server's `exportAuditBundle`.
61
+ * Verify the SHA-256 manifest over `{ events, agents, delegation_tokens }`.
62
+ * Returns null if the bundle has no manifest field (older exports).
63
+ * Manifest format is `sha256:<hex>` to match the server's
64
+ * `exportAuditBundle`. delegation_tokens defaults to [] so that bundles
65
+ * with no chains still produce the same bytes the server hashed.
64
66
  */
65
67
  export declare function verifyManifest(bundle: AuditBundle): {
66
68
  ok: boolean | null;
@@ -102,15 +104,19 @@ export declare function verifyBundle(bundle: AuditBundle): VerifyReport;
102
104
  * public keys. Walks every link, checking signature, parent_link_hash,
103
105
  * depth, scope subset, expiry, and delegator-known-to-bundle.
104
106
  *
105
- * Returns a `DelegationChainResult` with a single verdict. The verdict
106
- * is the FIRST failure found, in this priority order:
107
- * 1. delegation_unverifiable (no links)
108
- * 2. delegation_unknown_agent (delegator pubkey missing)
109
- * 3. delegation_invalid_signature
110
- * 4. delegation_chain_broken (depth or parent_link_hash mismatch)
111
- * 5. delegation_scope_exceeded
112
- * 6. delegation_expired
113
- * 7. delegation_valid (clean)
107
+ * Returns a `DelegationChainResult` with a single verdict. Verdicts are
108
+ * surfaced in priority order — the FIRST failure encountered while
109
+ * walking links in depth order, with signature checks evaluated BEFORE
110
+ * structural / scope / expiry checks so a real forgery is never masked
111
+ * by a downstream chain_broken or expired marker on the same link:
112
+ *
113
+ * 1. delegation_unverifiable (no links / no claims)
114
+ * 2. delegation_unknown_agent (delegator pubkey missing)
115
+ * 3. delegation_invalid_signature (sig over claims does not verify)
116
+ * 4. delegation_chain_broken (depth / parent_link_hash / chain_id mismatch)
117
+ * 5. delegation_scope_exceeded (link scopes ⊄ parent scopes)
118
+ * 6. delegation_expired (valid_until < now - skew)
119
+ * 7. delegation_valid (clean)
114
120
  */
115
121
  export declare function verifyDelegationChain(token: import('./types.js').DelegationChainTokenBundleEntry, agentMap: Map<string, import('./types.js').BundleAgent>, now?: Date): import('./types.js').DelegationChainResult;
116
122
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EAEX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAST;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4BtD;AAYD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG;IACnD,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAKA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,GACnB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BlC;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CA4L9D;AASD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,YAAY,EAAE,+BAA+B,EAC3D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,WAAW,CAAC,EACvD,GAAG,GAAE,IAAiB,GACrB,OAAO,YAAY,EAAE,qBAAqB,CAsF5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EAEX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAST;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4BtD;AAYD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG;IACnD,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CASA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,GACnB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BlC;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CA2P9D;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,YAAY,EAAE,+BAA+B,EAC3D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,WAAW,CAAC,EACvD,GAAG,GAAE,IAAiB,GACrB,OAAO,YAAY,EAAE,qBAAqB,CAiI5C"}
package/dist/index.js CHANGED
@@ -97,14 +97,20 @@ function canonicalBytesForEvent(event) {
97
97
  return form === 'v1' ? canonicalPayloadV1(event) : canonicalPayloadV0(event);
98
98
  }
99
99
  /**
100
- * Verify the SHA-256 manifest over `{ events, agents }`. Returns null if
101
- * the bundle has no manifest field (older exports). Manifest format is
102
- * `sha256:<hex>` to match the server's `exportAuditBundle`.
100
+ * Verify the SHA-256 manifest over `{ events, agents, delegation_tokens }`.
101
+ * Returns null if the bundle has no manifest field (older exports).
102
+ * Manifest format is `sha256:<hex>` to match the server's
103
+ * `exportAuditBundle`. delegation_tokens defaults to [] so that bundles
104
+ * with no chains still produce the same bytes the server hashed.
103
105
  */
104
106
  export function verifyManifest(bundle) {
105
107
  if (!bundle.manifest)
106
108
  return { ok: null, expected: null, actual: null };
107
- const body = JSON.stringify({ events: bundle.events, agents: bundle.agents });
109
+ const body = JSON.stringify({
110
+ events: bundle.events,
111
+ agents: bundle.agents,
112
+ delegation_tokens: bundle.delegation_tokens ?? [],
113
+ });
108
114
  const actual = 'sha256:' + createHash('sha256').update(body).digest('hex');
109
115
  return { ok: actual === bundle.manifest, expected: bundle.manifest, actual };
110
116
  }
@@ -248,6 +254,41 @@ export function verifyBundle(bundle) {
248
254
  };
249
255
  for (const r of events)
250
256
  counts[r.verdict]++;
257
+ // Surface advisories on v0-signed events that carry v1-only fields.
258
+ // v0 canonical bytes only cover six fields, so any of the
259
+ // replayable-evidence or delegation-context metadata on a v0 event
260
+ // could have been tampered with post-signing without invalidating
261
+ // the signature. The verdict stays `verified` (the actual
262
+ // signature does verify) but the reader is told what isn't covered.
263
+ const V1_ONLY_FIELDS = [
264
+ 'model_version',
265
+ 'tool_catalogue_hash',
266
+ 'system_prompt_hash',
267
+ 'prev_event_hash',
268
+ 'on_behalf_of',
269
+ 'delegator_agent_id',
270
+ 'delegation_chain_id',
271
+ 'delegation_depth',
272
+ ];
273
+ for (let i = 0; i < (bundle.events ?? []).length; i++) {
274
+ const raw = (bundle.events ?? [])[i];
275
+ const form = raw.canonical_form ?? 'v0';
276
+ if (form !== 'v0')
277
+ continue;
278
+ // Surface advisories on ALL v0 events with v1-only fields, not just
279
+ // verdict=verified ones. An unsigned v0 event is even more advisory
280
+ // (the field isn't covered by ANY signature), so the reader needs
281
+ // the same notice.
282
+ if (events[i].verdict !== 'verified' && events[i].verdict !== 'unsigned')
283
+ continue;
284
+ const present = V1_ONLY_FIELDS.filter(k => raw[k] !== undefined && raw[k] !== null && raw[k] !== '');
285
+ if (present.length > 0) {
286
+ events[i].advisories = [
287
+ `v0 signature does not cover: ${present.join(', ')}. ` +
288
+ 'These fields are advisory; re-sign with canonical_form=v1 to cover them.',
289
+ ];
290
+ }
291
+ }
251
292
  // ── Hash-chained ingest validation ─────────────────────────────────
252
293
  //
253
294
  // For each agent's chain (events in bundle order), check whether the
@@ -261,25 +302,41 @@ export function verifyBundle(bundle) {
261
302
  // ingest. Without any chained events the chain counts are suppressed
262
303
  // from the final report.
263
304
  const rawEvents = bundle.events ?? [];
264
- const chainCounts = { intact: 0, restart: 0, broken: 0 };
265
- const anyChained = rawEvents.some(e => e.prev_event_hash != null);
305
+ const chainCounts = { intact: 0, restart: 0, broken: 0, continuation: 0 };
306
+ // Treat empty-string and null as equivalent: a bundle rewrite that
307
+ // overwrites every prev_event_hash with '' must NOT be able to
308
+ // bypass the chain check by exploiting `'' != null` (true) +
309
+ // `if (prevField)` (false). Normalise here so anyChained and the
310
+ // per-event branch agree.
311
+ const hasPrev = (e) => {
312
+ const v = e.prev_event_hash;
313
+ return typeof v === 'string' && v.length > 0;
314
+ };
315
+ const anyChained = rawEvents.some(hasPrev);
266
316
  const lastBytesHashByAgent = new Map();
267
317
  for (let i = 0; i < rawEvents.length; i++) {
268
318
  const e = rawEvents[i];
269
319
  const agentId = eventAgentId(e);
270
320
  if (!agentId)
271
321
  continue;
272
- const prevField = e.prev_event_hash;
322
+ const prevRaw = e.prev_event_hash;
323
+ const prevField = typeof prevRaw === 'string' && prevRaw.length > 0
324
+ ? prevRaw
325
+ : undefined;
273
326
  const previousHash = lastBytesHashByAgent.get(agentId);
274
327
  if (prevField) {
275
328
  if (!previousHash) {
276
- // Event claims to be chained but we have no predecessor for this
277
- // agent in the bundle. Likely a partial bundle (sub-range export).
278
- // Treat as broken: the prev_event_hash references something we
279
- // can't verify.
280
- events[i].chain = 'chain_broken';
281
- events[i].reason = events[i].reason ?? 'prev_event_hash set but no predecessor in bundle';
282
- chainCounts.broken++;
329
+ // Event claims to be chained but we have no predecessor for
330
+ // this agent in the bundle. This is the normal case for the
331
+ // first event of a sub-range (partial) export: the predecessor
332
+ // lives outside the bundle window. Surface as informational
333
+ // chain_continuation rather than failing — the verifier
334
+ // can't validate something it doesn't have. Operators
335
+ // exporting a continuation can chain bundles by including the
336
+ // previous bundle's tail hash on the side.
337
+ events[i].chain = 'chain_continuation';
338
+ events[i].reason = events[i].reason ?? 'prev_event_hash references an event outside this bundle (partial / sub-range export)';
339
+ chainCounts.continuation++;
283
340
  }
284
341
  else if (prevField === previousHash) {
285
342
  events[i].chain = 'chain_intact';
@@ -291,6 +348,14 @@ export function verifyBundle(bundle) {
291
348
  chainCounts.broken++;
292
349
  }
293
350
  }
351
+ else if (typeof prevRaw === 'string' && prevRaw.length === 0 && previousHash) {
352
+ // Explicit empty-string prev_event_hash after a real predecessor
353
+ // is suspicious — flag as broken so a chain-rewrite attempt
354
+ // can't masquerade as a restart.
355
+ events[i].chain = 'chain_broken';
356
+ events[i].reason = events[i].reason ?? 'prev_event_hash is empty string after predecessor; treat as malformed';
357
+ chainCounts.broken++;
358
+ }
294
359
  else if (previousHash && anyChained) {
295
360
  // Predecessor exists but this event has no prev_event_hash:
296
361
  // SDK restart or chainEvents toggled off mid-stream. Only count
@@ -319,6 +384,9 @@ export function verifyBundle(bundle) {
319
384
  delegationCounts.unverifiable++;
320
385
  else if (d.verdict === 'delegation_unknown_agent')
321
386
  delegationCounts.unverifiable++;
387
+ // delegation_not_yet_valid behaves like delegation_expired —
388
+ // counts as invalid and fails the bundle. A chain claiming to be
389
+ // active in the future should never be treated as currently usable.
322
390
  else
323
391
  delegationCounts.invalid++;
324
392
  }
@@ -346,6 +414,7 @@ export function verifyBundle(bundle) {
346
414
  base.chain_intact = chainCounts.intact;
347
415
  base.chain_restart = chainCounts.restart;
348
416
  base.chain_broken = chainCounts.broken;
417
+ base.chain_continuation = chainCounts.continuation;
349
418
  }
350
419
  if (tokens.length > 0) {
351
420
  base.delegations = delegations;
@@ -360,20 +429,29 @@ function sha256Hex(s) {
360
429
  return 'sha256:' + createHash('sha256').update(s).digest('hex');
361
430
  }
362
431
  // ─── Delegation chain verification (VAIP -02 § 5) ─────────────────────────
432
+ /** Standard JWT-style 60s leeway on delegation expiry, so a chain that
433
+ * expires the instant a verifier picks it up doesn't fail-closed on a
434
+ * clock skew of a few seconds. Operators who need stricter behaviour
435
+ * can override by passing `now` to `verifyDelegationChain`. */
436
+ const DELEGATION_EXPIRY_SKEW_MS = 60_000;
363
437
  /**
364
438
  * Verify a single delegation chain token against the bundle's agent
365
439
  * public keys. Walks every link, checking signature, parent_link_hash,
366
440
  * depth, scope subset, expiry, and delegator-known-to-bundle.
367
441
  *
368
- * Returns a `DelegationChainResult` with a single verdict. The verdict
369
- * is the FIRST failure found, in this priority order:
370
- * 1. delegation_unverifiable (no links)
371
- * 2. delegation_unknown_agent (delegator pubkey missing)
372
- * 3. delegation_invalid_signature
373
- * 4. delegation_chain_broken (depth or parent_link_hash mismatch)
374
- * 5. delegation_scope_exceeded
375
- * 6. delegation_expired
376
- * 7. delegation_valid (clean)
442
+ * Returns a `DelegationChainResult` with a single verdict. Verdicts are
443
+ * surfaced in priority order — the FIRST failure encountered while
444
+ * walking links in depth order, with signature checks evaluated BEFORE
445
+ * structural / scope / expiry checks so a real forgery is never masked
446
+ * by a downstream chain_broken or expired marker on the same link:
447
+ *
448
+ * 1. delegation_unverifiable (no links / no claims)
449
+ * 2. delegation_unknown_agent (delegator pubkey missing)
450
+ * 3. delegation_invalid_signature (sig over claims does not verify)
451
+ * 4. delegation_chain_broken (depth / parent_link_hash / chain_id mismatch)
452
+ * 5. delegation_scope_exceeded (link scopes ⊄ parent scopes)
453
+ * 6. delegation_expired (valid_until < now - skew)
454
+ * 7. delegation_valid (clean)
377
455
  */
378
456
  export function verifyDelegationChain(token, agentMap, now = new Date()) {
379
457
  const chainId = token.chain_id;
@@ -386,9 +464,27 @@ export function verifyDelegationChain(token, agentMap, now = new Date()) {
386
464
  reason: 'no signed links in chain (server-side enforcement only)',
387
465
  };
388
466
  }
389
- // Walk links in depth order.
467
+ // Walk links in depth order. Signature checks come BEFORE structural
468
+ // checks so a real forgery never masquerades as a downstream
469
+ // chain_broken / scope_exceeded / expired condition that happens to
470
+ // match the (forged) claims on the same link.
390
471
  for (let i = 0; i < token.links.length; i++) {
391
472
  const { claims, signature } = token.links[i];
473
+ // Signature — must verify before we trust any claim value.
474
+ const delegatorAgent = agentMap.get(claims.delegator);
475
+ if (!delegatorAgent) {
476
+ return {
477
+ chain_id: chainId, depth, verdict: 'delegation_unknown_agent',
478
+ reason: `delegator ${claims.delegator} not in bundle.agents[]; cannot verify link ${i + 1}`,
479
+ };
480
+ }
481
+ const sigOk = verifyDelegationSignatureWithKey(claims, signature, delegatorAgent.public_key);
482
+ if (!sigOk.ok) {
483
+ return {
484
+ chain_id: chainId, depth, verdict: 'delegation_invalid_signature',
485
+ reason: `link ${i + 1} signature does not verify: ${sigOk.reason}`,
486
+ };
487
+ }
392
488
  // Chain identity sanity.
393
489
  if (claims.chain_id !== chainId) {
394
490
  return {
@@ -421,37 +517,61 @@ export function verifyDelegationChain(token, agentMap, now = new Date()) {
421
517
  reason: `link ${i + 1}.parent_link_hash mismatch (expected ${expectedParentHash}, got ${claims.parent_link_hash})`,
422
518
  };
423
519
  }
424
- // Scope subset: this link's scopes ⊆ parent's scopes.
520
+ // Scope subset: this link's scopes ⊆ parent's scopes, with
521
+ // multiset semantics so duplicate-padding can't widen scopes
522
+ // past the signed parent set.
523
+ const parentScopeCount = new Map();
524
+ for (const s of parentClaims.scopes) {
525
+ parentScopeCount.set(s, (parentScopeCount.get(s) ?? 0) + 1);
526
+ }
425
527
  for (const scope of claims.scopes) {
426
- if (!parentClaims.scopes.includes(scope)) {
528
+ const remaining = parentScopeCount.get(scope) ?? 0;
529
+ if (remaining <= 0) {
427
530
  return {
428
531
  chain_id: chainId, depth, verdict: 'delegation_scope_exceeded',
429
- reason: `link ${i + 1} grants scope "${scope}" which parent did not have`,
532
+ reason: `link ${i + 1} grants scope "${scope}" which parent did not have (or beyond multiset count)`,
430
533
  };
431
534
  }
535
+ parentScopeCount.set(scope, remaining - 1);
432
536
  }
433
537
  }
434
- // Expiry.
435
- if (claims.valid_until && new Date(claims.valid_until) < now) {
436
- return {
437
- chain_id: chainId, depth, verdict: 'delegation_expired',
438
- reason: `link ${i + 1} (delegator=${claims.delegator}) expired at ${claims.valid_until}`,
439
- };
440
- }
441
- // Signature.
442
- const delegatorAgent = agentMap.get(claims.delegator);
443
- if (!delegatorAgent) {
444
- return {
445
- chain_id: chainId, depth, verdict: 'delegation_unknown_agent',
446
- reason: `delegator ${claims.delegator} not in bundle.agents[]; cannot verify link ${i + 1}`,
447
- };
538
+ // Expiry — with a small leeway so a chain that expires the instant
539
+ // a verifier picks it up doesn't fail-closed on a small clock skew.
540
+ // Both valid_until and valid_from go through Number.isFinite to
541
+ // catch malformed strings that Date.parse coerces to NaN.
542
+ if (claims.valid_until) {
543
+ const expiresAt = new Date(claims.valid_until).getTime();
544
+ if (!Number.isFinite(expiresAt)) {
545
+ return {
546
+ chain_id: chainId, depth, verdict: 'delegation_chain_broken',
547
+ reason: `link ${i + 1} has malformed valid_until: ${claims.valid_until}`,
548
+ };
549
+ }
550
+ if (expiresAt + DELEGATION_EXPIRY_SKEW_MS < now.getTime()) {
551
+ return {
552
+ chain_id: chainId, depth, verdict: 'delegation_expired',
553
+ reason: `link ${i + 1} (delegator=${claims.delegator}) expired at ${claims.valid_until}`,
554
+ };
555
+ }
448
556
  }
449
- const sigOk = verifyDelegationSignatureWithKey(claims, signature, delegatorAgent.public_key);
450
- if (!sigOk.ok) {
451
- return {
452
- chain_id: chainId, depth, verdict: 'delegation_invalid_signature',
453
- reason: `link ${i + 1} signature does not verify: ${sigOk.reason}`,
454
- };
557
+ // Not-yet-valid: a chain whose valid_from is in the future (beyond
558
+ // the same skew window) must not be honoured. Without this check
559
+ // a malicious delegator can mint a chain that "verifies" before
560
+ // it's intended to be active.
561
+ if (claims.valid_from) {
562
+ const validFromMs = new Date(claims.valid_from).getTime();
563
+ if (!Number.isFinite(validFromMs)) {
564
+ return {
565
+ chain_id: chainId, depth, verdict: 'delegation_chain_broken',
566
+ reason: `link ${i + 1} has malformed valid_from: ${claims.valid_from}`,
567
+ };
568
+ }
569
+ if (validFromMs - DELEGATION_EXPIRY_SKEW_MS > now.getTime()) {
570
+ return {
571
+ chain_id: chainId, depth, verdict: 'delegation_not_yet_valid',
572
+ reason: `link ${i + 1} (delegator=${claims.delegator}) not valid until ${claims.valid_from}`,
573
+ };
574
+ }
455
575
  }
456
576
  }
457
577
  return { chain_id: chainId, verdict: 'delegation_valid', depth };
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/types.d.ts CHANGED
@@ -90,9 +90,9 @@ export interface BundleAgent {
90
90
  }
91
91
  export type EventVerdict = 'verified' | 'unsigned' | 'bad_signature' | 'unknown_agent' | 'malformed_signature';
92
92
  /** Per-agent chain validation outcome (independent of signature verdict). */
93
- export type ChainVerdict = 'chain_intact' | 'chain_restart' | 'chain_broken';
93
+ export type ChainVerdict = 'chain_intact' | 'chain_restart' | 'chain_continuation' | 'chain_broken';
94
94
  /** Per-delegation-chain validation outcome (VAIP -02 § 5). */
95
- export type DelegationChainVerdict = 'delegation_valid' | 'delegation_invalid_signature' | 'delegation_chain_broken' | 'delegation_scope_exceeded' | 'delegation_expired' | 'delegation_unknown_agent' | 'delegation_unverifiable';
95
+ export type DelegationChainVerdict = 'delegation_valid' | 'delegation_invalid_signature' | 'delegation_chain_broken' | 'delegation_scope_exceeded' | 'delegation_expired' | 'delegation_not_yet_valid' | 'delegation_unknown_agent' | 'delegation_unverifiable';
96
96
  export interface DelegationChainResult {
97
97
  chain_id: string;
98
98
  verdict: DelegationChainVerdict;
@@ -113,6 +113,15 @@ export interface EventResult {
113
113
  * otherwise undefined (no chain to validate).
114
114
  */
115
115
  chain?: ChainVerdict;
116
+ /**
117
+ * Non-fatal warnings — fields present on the event whose values are
118
+ * NOT covered by the event's signature, and so could have been
119
+ * tampered with post-signing without the signature catching it.
120
+ * Common case: a v0-signed event that carries v1-only metadata
121
+ * (replayable-evidence fields, delegation context). Empty / absent
122
+ * when nothing is advisory.
123
+ */
124
+ advisories?: string[];
116
125
  }
117
126
  export interface VerifyReport {
118
127
  bundle_version: string | null;
@@ -144,6 +153,12 @@ export interface VerifyReport {
144
153
  * bundle.
145
154
  */
146
155
  chain_broken?: number;
156
+ /**
157
+ * Number of events that carry a prev_event_hash referencing an
158
+ * event outside the bundle window. Normal on partial / sub-range
159
+ * exports; informational, does not fail the bundle.
160
+ */
161
+ chain_continuation?: number;
147
162
  /**
148
163
  * Per-delegation-chain verdicts (one per unique delegation_chain_id
149
164
  * referenced by events in the bundle). Suppressed when the bundle
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,0DAA0D;AAC1D,MAAM,WAAW,+BAA+B;IAC9C,CAAC,EAAE,CAAC,CAAC;IACL,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,CAAC,CAAC;IACL,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEpC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,UAAU,GACV,eAAe,GACf,eAAe,GACf,qBAAqB,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,eAAe,GACf,oBAAoB,GACpB,cAAc,CAAC;AAEnB,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,oBAAoB,GACpB,0BAA0B,GAC1B,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,sBAAsB,CAAC;IAChC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACtC,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,EAAE,EAAE,OAAO,CAAC;CACb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vorim/verify",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Offline verifier for Vorim audit bundles — no network, no Vorim API call, no telemetry.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",