attenu-guard 0.10.0 → 0.11.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/CHANGELOG.md +7 -0
- package/dist/cjs/authority.d.ts.map +1 -1
- package/dist/cjs/authority.js +87 -1
- package/dist/cjs/authority.js.map +1 -1
- package/dist/cjs/evidence.d.ts +6 -0
- package/dist/cjs/evidence.d.ts.map +1 -1
- package/dist/cjs/evidence.js +38 -0
- package/dist/cjs/evidence.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wire.d.ts.map +1 -1
- package/dist/cjs/wire.js +42 -0
- package/dist/cjs/wire.js.map +1 -1
- package/dist/esm/authority.d.ts.map +1 -1
- package/dist/esm/authority.js +88 -2
- package/dist/esm/authority.js.map +1 -1
- package/dist/esm/evidence.d.ts +6 -0
- package/dist/esm/evidence.d.ts.map +1 -1
- package/dist/esm/evidence.js +38 -0
- package/dist/esm/evidence.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wire.d.ts.map +1 -1
- package/dist/esm/wire.js +42 -0
- package/dist/esm/wire.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/wire.js
CHANGED
|
@@ -350,6 +350,48 @@ function authorityFromPayload(payload) {
|
|
|
350
350
|
if (!isJsonObject(d0) || d0["type"] !== "agent_delegation") {
|
|
351
351
|
throw new WireError(exports.WireReasonCode.MALFORMED, "authorization_details[0].type must be 'agent_delegation'");
|
|
352
352
|
}
|
|
353
|
+
// Everything past the first entry used to go unread: a token carrying a
|
|
354
|
+
// second detail verified clean while that detail was silently discarded.
|
|
355
|
+
// Fail-open in exactly one direction, and it is the dangerous one -- an
|
|
356
|
+
// ignored entry that RESTRICTS authority is lost, while one that GRANTS
|
|
357
|
+
// extra authority is harmless because ignoring it leaves us more restrictive.
|
|
358
|
+
//
|
|
359
|
+
// So refuse what this verifier cannot evaluate, which is the same rule the
|
|
360
|
+
// draft already states for an invalid scope ("A verifier that encounters one
|
|
361
|
+
// MUST reject the Delegation Token as malformed before evaluating
|
|
362
|
+
// subsumption"). Two `agent_delegation` entries are refused for a second
|
|
363
|
+
// reason: the draft says Authority is expressed by "an" authorization detail
|
|
364
|
+
// of that type and never says which element to take, so picking the first
|
|
365
|
+
// silently nominated a winner the document does not.
|
|
366
|
+
//
|
|
367
|
+
// Refusing is also the loosenable direction. If a later revision defines
|
|
368
|
+
// ignorable/critical marking (RFC 9396's posture), accepting more is a
|
|
369
|
+
// compatible change; starting permissive and tightening later would not be.
|
|
370
|
+
//
|
|
371
|
+
// Kept byte-for-byte in step with the Python port (wire.py, same check): the
|
|
372
|
+
// two implementations must accept and refuse exactly the same tokens.
|
|
373
|
+
if (details.length > 1) {
|
|
374
|
+
const unevaluated = details
|
|
375
|
+
.slice(1)
|
|
376
|
+
.map((d) => (isJsonObject(d) ? JSON.stringify(d["type"] ?? null) : "null"));
|
|
377
|
+
throw new WireError(exports.WireReasonCode.MALFORMED, "authorization_details carries entries this verifier cannot evaluate " +
|
|
378
|
+
`and will not ignore: ${unevaluated.join(", ")}`);
|
|
379
|
+
}
|
|
380
|
+
// The same rule one level down, and this is the half that bites. RFC 9396
|
|
381
|
+
// section 2 gives EVERY authorization detail object a set of common members
|
|
382
|
+
// -- `actions`, `locations`, `datatypes`, `identifier`, `privileges` -- and
|
|
383
|
+
// the draft's token format says "An array of authorization detail objects
|
|
384
|
+
// {{RFC9396}}", so an issuer expressing a restriction that way is doing the
|
|
385
|
+
// sanctioned thing. We read `scopes` and `constraints` and nothing else, so
|
|
386
|
+
// every one of those members was dropped in silence, inside a single
|
|
387
|
+
// `agent_delegation` entry that the cardinality check above never sees.
|
|
388
|
+
const unknownMembers = Object.keys(d0)
|
|
389
|
+
.filter((k) => k !== "type" && k !== "scopes" && k !== "constraints")
|
|
390
|
+
.sort();
|
|
391
|
+
if (unknownMembers.length > 0) {
|
|
392
|
+
throw new WireError(exports.WireReasonCode.MALFORMED, "the agent_delegation authorization detail carries members this verifier " +
|
|
393
|
+
`cannot evaluate and will not ignore: ${unknownMembers.join(", ")}`);
|
|
394
|
+
}
|
|
353
395
|
const iat = payload["iat"];
|
|
354
396
|
const exp = payload["exp"];
|
|
355
397
|
if (typeof iat !== "number" || typeof exp !== "number") {
|
package/dist/cjs/wire.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA6C,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA6C,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAE5D;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;CAM/E;AA+ED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAGnB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAaD,qBAAa,SAAS;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAEtC,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEhB,IAAI,GAAE,aAAkB;IAYpC,OAAO,CAAC,KAAK;IAMb,kDAAkD;IAClD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAMzC,4EAA4E;IAC5E,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAM5D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASvC;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAsCjC;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAkBzC;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,OAAO,GAAG,IAAW,GAAG,QAAQ;IA0B5D,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAM/B,MAAM,IAAI,aAAa;IAQvB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;IA+BvC,0CAA0C;IAC1C,QAAQ,IAAI,MAAM;IAMlB,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/esm/authority.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* is one the library would have permitted, and the reverse.
|
|
21
21
|
*/
|
|
22
22
|
import { compareCodePoints, sortedStrings, toPlain } from "./canonical.js";
|
|
23
|
-
import { ceilingFromWire, describe as describeCeiling } from "./ceilings.js";
|
|
23
|
+
import { ceilingFromWire, describe as describeCeiling, } from "./ceilings.js";
|
|
24
24
|
import { Decision, Reason, ReasonCode } from "./reasons.js";
|
|
25
25
|
/**
|
|
26
26
|
* Raised for STRUCTURAL failures — bad input or invalid chain state, such as
|
|
@@ -40,6 +40,76 @@ export class AuthorityError extends Error {
|
|
|
40
40
|
this.detail = detail;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* `ceilingFromWire`, but refusing a constraint we would only partly read.
|
|
45
|
+
*
|
|
46
|
+
* The test is a MEMBER difference, not value equality. Parse the constraint,
|
|
47
|
+
* re-emit it, and refuse if the input carried a member the re-emission does not
|
|
48
|
+
* -- that member is one this build did not read. That was live and silent:
|
|
49
|
+
*
|
|
50
|
+
* {"key":"max_rows","max":100,"min":9999} -> {"key":"max_rows","max":100}
|
|
51
|
+
*
|
|
52
|
+
* byte-identical to a constraint that never carried a floor. `min` is a
|
|
53
|
+
* first-class type in the draft's constraint vocabulary ("the value MUST NOT be
|
|
54
|
+
* less than it"), so this dropped a signed, spec-defined, *restricting* term.
|
|
55
|
+
* The draft allows one typed value per object, which makes two malformed -- it
|
|
56
|
+
* must be refused, never silently resolved to whichever one this build happens
|
|
57
|
+
* to read first.
|
|
58
|
+
*
|
|
59
|
+
* Comparing whole VALUES instead was tried and reverted before release: it
|
|
60
|
+
* could not tell "we ignored a member" from "we normalised a value", and
|
|
61
|
+
* several built-ins legitimately normalise (`Allow` emits its `one_of` sorted
|
|
62
|
+
* and holds it as a set; `toWire` omits `field` when it equals `key`). RFC 8785
|
|
63
|
+
* canonicalises object member ORDER and never reorders array elements, and the
|
|
64
|
+
* draft puts no ordering or uniqueness requirement on `one_of` -- so
|
|
65
|
+
* `["us-west", "us-east"]` is a conformant constraint from a third-party
|
|
66
|
+
* issuer, and value equality called it malformed. On a release whose whole
|
|
67
|
+
* subject is reading tokens correctly, refusing correct tokens is the worse
|
|
68
|
+
* failure.
|
|
69
|
+
*
|
|
70
|
+
* An unrecognised constraint TYPE is deliberately not caught here:
|
|
71
|
+
* `UnknownCeiling` preserves its whole object, so nothing looks dropped, and it
|
|
72
|
+
* still routes to the fail-closed path the draft requires. Rejecting those here
|
|
73
|
+
* would turn a deny into a parse error and lose that distinction.
|
|
74
|
+
*
|
|
75
|
+
* Kept in step with the Python port (`authority._ceiling_from_wire_whole`).
|
|
76
|
+
*/
|
|
77
|
+
function ceilingFromWireWhole(c) {
|
|
78
|
+
const ceiling = ceilingFromWire(c);
|
|
79
|
+
const input = toPlain(c);
|
|
80
|
+
if (input !== undefined && input !== null && typeof input === "object") {
|
|
81
|
+
const emitted = toPlain(ceiling.toWire()) ?? {};
|
|
82
|
+
// `key` is the one member whose VALUE is load-bearing: subsumption pairs
|
|
83
|
+
// ceilings by it, so a rewritten key is a different dimension, not a
|
|
84
|
+
// cosmetic difference. `CallLimit` rewrites it ("max_calls" ->
|
|
85
|
+
// "max_calls[fs.write]" when `applies_to` is present), which the member test
|
|
86
|
+
// cannot see because the member set is unchanged. Checked on its own rather
|
|
87
|
+
// than by returning to whole-value equality, which broke conformant tokens a
|
|
88
|
+
// revision ago.
|
|
89
|
+
if (emitted["key"] !== input["key"]) {
|
|
90
|
+
throw new AuthorityError(`constraint ${JSON.stringify(input)} names dimension ${JSON.stringify(input["key"])} ` +
|
|
91
|
+
`but this build reads it as ${JSON.stringify(emitted["key"])}; refusing rather ` +
|
|
92
|
+
"than silently changing which dimension is bounded", "malformed_constraint");
|
|
93
|
+
}
|
|
94
|
+
const dropped = Object.keys(input)
|
|
95
|
+
.filter((k) => !(k in emitted))
|
|
96
|
+
// `field` is read and then not re-emitted when it equals `key`, because at
|
|
97
|
+
// that point it is redundant. Absent from the emission does not mean
|
|
98
|
+
// unread, so exempt it only on EVIDENCE that this ceiling parsed it: the
|
|
99
|
+
// attribute the constructor actually populated. `ctxFieldOf` is not that
|
|
100
|
+
// evidence -- it falls back to a hardcoded `ctxField` and then to `key`,
|
|
101
|
+
// so it returns the input's value by coincidence for the metered built-ins
|
|
102
|
+
// (which never read `field` at all) and unconditionally for a custom
|
|
103
|
+
// ceiling deriving `ctxField` from its own input.
|
|
104
|
+
.filter((k) => !(k === "field" && ceiling.field === input["field"]))
|
|
105
|
+
.sort();
|
|
106
|
+
if (dropped.length > 0) {
|
|
107
|
+
throw new AuthorityError(`constraint ${JSON.stringify(input)} carries members this build does not ` +
|
|
108
|
+
`evaluate and will not ignore: ${dropped.join(", ")}`, "malformed_constraint");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return ceiling;
|
|
112
|
+
}
|
|
43
113
|
const SCOPE_RE = /^[a-z][a-z0-9_-]*(?:\.[a-z][a-z0-9_-]*)*\.(?:[a-z][a-z0-9_-]*|\*)$/;
|
|
44
114
|
function validateScope(scope) {
|
|
45
115
|
if (typeof scope !== "string" || !SCOPE_RE.test(scope)) {
|
|
@@ -223,12 +293,28 @@ export class Authority {
|
|
|
223
293
|
}
|
|
224
294
|
static fromWire(wire) {
|
|
225
295
|
const d = toPlain(wire) ?? {};
|
|
296
|
+
// Read the authority object WHOLE, for the same reason the constraint inside
|
|
297
|
+
// it is read whole. The token path is safe only by accident --
|
|
298
|
+
// `authorityFromPayload` builds this object itself after checking the
|
|
299
|
+
// detail's members -- but the BUNDLE path hands us the raw untrusted object
|
|
300
|
+
// straight out of a ledger entry (`evidence`, the `authority` and `granted`
|
|
301
|
+
// members). Without this, `verifyBundle` reported success on an authority it
|
|
302
|
+
// had read by projection: a `granted` carrying `deny_scopes` verified clean
|
|
303
|
+
// with `checks.ledger_fields` true, because that check only covers an
|
|
304
|
+
// entry's TOP-LEVEL keys. Kept in step with the Python port.
|
|
305
|
+
const unknownAuthorityMembers = Object.keys(d)
|
|
306
|
+
.filter((k) => k !== "scopes" && k !== "constraints" && k !== "ttl")
|
|
307
|
+
.sort();
|
|
308
|
+
if (unknownAuthorityMembers.length > 0) {
|
|
309
|
+
throw new AuthorityError(`authority ${JSON.stringify(d)} carries members this build does not evaluate ` +
|
|
310
|
+
`and will not ignore: ${unknownAuthorityMembers.join(", ")}`, "malformed_authority");
|
|
311
|
+
}
|
|
226
312
|
const scopes = d["scopes"] ?? [];
|
|
227
313
|
const constraints = d["constraints"] ?? [];
|
|
228
314
|
const ttl = d["ttl"];
|
|
229
315
|
return new Authority({
|
|
230
316
|
scopes,
|
|
231
|
-
ceilings: constraints.map((c) =>
|
|
317
|
+
ceilings: constraints.map((c) => ceilingFromWireWhole(c)),
|
|
232
318
|
ttl: typeof ttl === "number" ? ttl : null,
|
|
233
319
|
});
|
|
234
320
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAyB,MAAM,gBAAgB,CAAC;AAClG,OAAO,
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/authority.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/evidence.d.ts
CHANGED
|
@@ -202,6 +202,12 @@ export interface VerifyChecks {
|
|
|
202
202
|
containment: boolean;
|
|
203
203
|
anchor: "not checked" | "verified" | "FAILED";
|
|
204
204
|
version: boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Every entry's top-level fields are within `LEDGER_FIELDS`. False means the bundle carries a
|
|
207
|
+
* field this verifier does not evaluate, so reporting success would be reporting it on an entry
|
|
208
|
+
* that was only partly read.
|
|
209
|
+
*/
|
|
210
|
+
ledger_fields: boolean;
|
|
205
211
|
chain_id: boolean;
|
|
206
212
|
root: boolean;
|
|
207
213
|
expected_anchor: "not checked" | "verified" | "FAILED";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAQL,KAAK,KAAK,EACV,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAiD,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpH,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/evidence.js
CHANGED
|
@@ -73,6 +73,15 @@ export const LEDGER_FIELDS = new Set([
|
|
|
73
73
|
"strikes",
|
|
74
74
|
"mode",
|
|
75
75
|
"disposition",
|
|
76
|
+
// `detail` is library-written on a refusal (max_depth, max_fanout, chain_revoked, agent_banned,
|
|
77
|
+
// integrity, ttl_expired, aggregate ceiling) and carries only structural values -- an agent or
|
|
78
|
+
// parent id, a numeric limit, a ceiling key. Same class as `node`/`parent`/`agent`; never free
|
|
79
|
+
// text like `task`, never caller-supplied like `context`.
|
|
80
|
+
//
|
|
81
|
+
// Its absence was not cosmetic: LEDGER_FIELDS gates `exportBundle({strict: true})`, so custody
|
|
82
|
+
// mode threw on ANY run that refused a delegation, reporting a field this library wrote as
|
|
83
|
+
// though it were customer data. Kept in step with the Python port.
|
|
84
|
+
"detail",
|
|
76
85
|
// `policy` marks an allow the chain never authorized (an `allowUnlisted` passthrough) — see
|
|
77
86
|
// reasons.Policy and the containment check below. Not a v2-only field.
|
|
78
87
|
"policy",
|
|
@@ -1637,6 +1646,7 @@ export function verifyBundle(bundle, signer = null, options = {}) {
|
|
|
1637
1646
|
containment: false,
|
|
1638
1647
|
anchor: "not checked",
|
|
1639
1648
|
version: false,
|
|
1649
|
+
ledger_fields: false,
|
|
1640
1650
|
chain_id: false,
|
|
1641
1651
|
root: false,
|
|
1642
1652
|
expected_anchor: "not checked",
|
|
@@ -1679,6 +1689,33 @@ export function verifyBundle(bundle, signer = null, options = {}) {
|
|
|
1679
1689
|
log.add("mixed_entry_versions", `mixed_entry_versions: entries declare v in [${mixed.map((v) => pyRepr(v)).join(", ")}], bundle v=${pyRepr(bundleV)}`, { seq: orNull(mixedEntries[0]["seq"]), node: orNull(mixedEntries[0]["node"]) });
|
|
1680
1690
|
}
|
|
1681
1691
|
checks.version = versionOk;
|
|
1692
|
+
// (0b2) every entry must be read WHOLE. `LEDGER_FIELDS` was enforced only on the EXPORT path
|
|
1693
|
+
// (`redactionReport`, via `exportBundle({strict: true})`), never on verify, so the verifier read
|
|
1694
|
+
// entries by projection: it picked the fields it knows and never looked at the rest. A producer
|
|
1695
|
+
// could add `deny_scopes` and `critical` to a `spawn` entry, rehash the chain from genesis as any
|
|
1696
|
+
// honest producer does, and `verifyBundle` returned ok=true with zero failures while those fields
|
|
1697
|
+
// stayed invisible in `delegationGraph`.
|
|
1698
|
+
//
|
|
1699
|
+
// That is the same defect as the token-side one this release fixes -- reporting success on input
|
|
1700
|
+
// we did not fully read -- but on the offline-verifiable audit trail, which is the thing the
|
|
1701
|
+
// bundle exists to be. Envelopes and anchors already read whole; this was the one structure left.
|
|
1702
|
+
//
|
|
1703
|
+
// Reported as a failure rather than thrown: `verifyBundle` returns a report, and an unknown field
|
|
1704
|
+
// is a property of the bundle, not an error in the call.
|
|
1705
|
+
//
|
|
1706
|
+
// Kept in step with the Python port (`evidence._verify_bundle`, same check, same reason string).
|
|
1707
|
+
let unknownOk = true;
|
|
1708
|
+
for (const e of entries) {
|
|
1709
|
+
const extra = Object.keys(e)
|
|
1710
|
+
.filter((f) => !LEDGER_FIELDS.has(f))
|
|
1711
|
+
.sort();
|
|
1712
|
+
if (extra.length > 0) {
|
|
1713
|
+
unknownOk = false;
|
|
1714
|
+
log.add("unknown_ledger_fields", `unknown_ledger_fields: entry carries fields this verifier does not evaluate and will ` +
|
|
1715
|
+
`not ignore: ${extra.join(", ")}`, { seq: orNull(e["seq"]), node: orNull(e["node"]) });
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
checks.ledger_fields = unknownOk;
|
|
1682
1719
|
// (0c) independently retained expected anchor/head: verified against the BUNDLE's actual
|
|
1683
1720
|
// computed head, never against its own (possibly forged) enclosed anchor.
|
|
1684
1721
|
const { expectedAnchor = null, expectedHead = null } = options;
|
|
@@ -1829,6 +1866,7 @@ export function verifyBundle(bundle, signer = null, options = {}) {
|
|
|
1829
1866
|
checks.monotonicity &&
|
|
1830
1867
|
checks.containment &&
|
|
1831
1868
|
checks.version &&
|
|
1869
|
+
checks.ledger_fields &&
|
|
1832
1870
|
checks.chain_id &&
|
|
1833
1871
|
checks.root &&
|
|
1834
1872
|
log.length === 0;
|