@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 +1 -1
- package/dist/index.d.ts +18 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +167 -47
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +17 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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.
|
|
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 }`.
|
|
62
|
-
* the bundle has no manifest field (older exports).
|
|
63
|
-
* `sha256:<hex>` to match the server's
|
|
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.
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
|
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 }`.
|
|
101
|
-
* the bundle has no manifest field (older exports).
|
|
102
|
-
* `sha256:<hex>` to match the server's
|
|
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({
|
|
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
|
-
|
|
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
|
|
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
|
|
277
|
-
// agent in the bundle.
|
|
278
|
-
//
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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.
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
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
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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":"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"}
|