attenu-guard 0.12.0 → 0.13.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 +33 -0
- package/README.md +27 -0
- package/dist/cjs/audit.d.ts.map +1 -1
- package/dist/cjs/audit.js +45 -11
- package/dist/cjs/audit.js.map +1 -1
- package/dist/cjs/authority.d.ts.map +1 -1
- package/dist/cjs/authority.js +15 -9
- package/dist/cjs/authority.js.map +1 -1
- package/dist/cjs/canonical.d.ts +24 -0
- package/dist/cjs/canonical.d.ts.map +1 -1
- package/dist/cjs/canonical.js +49 -0
- package/dist/cjs/canonical.js.map +1 -1
- package/dist/cjs/ceilings.d.ts +17 -0
- package/dist/cjs/ceilings.d.ts.map +1 -1
- package/dist/cjs/ceilings.js +48 -0
- package/dist/cjs/ceilings.js.map +1 -1
- package/dist/cjs/cli.d.ts +12 -3
- package/dist/cjs/cli.d.ts.map +1 -1
- package/dist/cjs/cli.js +272 -20
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/display.d.ts +76 -0
- package/dist/cjs/display.d.ts.map +1 -0
- package/dist/cjs/display.js +238 -0
- package/dist/cjs/display.js.map +1 -0
- package/dist/cjs/evidence.d.ts +74 -5
- package/dist/cjs/evidence.d.ts.map +1 -1
- package/dist/cjs/evidence.js +655 -243
- 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/esm/audit.d.ts.map +1 -1
- package/dist/esm/audit.js +46 -12
- package/dist/esm/audit.js.map +1 -1
- package/dist/esm/authority.d.ts.map +1 -1
- package/dist/esm/authority.js +15 -9
- package/dist/esm/authority.js.map +1 -1
- package/dist/esm/canonical.d.ts +24 -0
- package/dist/esm/canonical.d.ts.map +1 -1
- package/dist/esm/canonical.js +46 -0
- package/dist/esm/canonical.js.map +1 -1
- package/dist/esm/ceilings.d.ts +17 -0
- package/dist/esm/ceilings.d.ts.map +1 -1
- package/dist/esm/ceilings.js +46 -0
- package/dist/esm/ceilings.js.map +1 -1
- package/dist/esm/cli.d.ts +12 -3
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +273 -21
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/display.d.ts +76 -0
- package/dist/esm/display.d.ts.map +1 -0
- package/dist/esm/display.js +226 -0
- package/dist/esm/display.js.map +1 -0
- package/dist/esm/evidence.d.ts +74 -5
- package/dist/esm/evidence.d.ts.map +1 -1
- package/dist/esm/evidence.js +638 -229
- package/dist/esm/evidence.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ceilings.d.ts","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA0D,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ceilings.d.ts","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA0D,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE/G,OAAO,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAoB5D,wEAAwE;AACxE,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3C,qEAAqE;AACrE,MAAM,WAAW,OAAO;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAEhC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAElC,qEAAqE;IACrE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE/B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,MAAM,CAAC;IAEpB,wEAAwE;IACxE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IAE3D,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAYD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAInD;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGjD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAqB1D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEnD;AAmBD,oEAAoE;AACpE,qBAAa,QAAS,YAAW,OAAO;IAG1B,QAAQ,CAAC,OAAO,EAAE,MAAM;IAFpC,QAAQ,CAAC,GAAG,cAAc;IAC1B,QAAQ,CAAC,QAAQ,UAAU;gBACN,OAAO,EAAE,MAAM;IAIpC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAY/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IAIhC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAI9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ;CAGnD;AAED,wEAAwE;AACxE,qBAAa,QAAS,YAAW,OAAO;IAG1B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAFrC,QAAQ,CAAC,GAAG,eAAe;IAC3B,QAAQ,CAAC,QAAQ,WAAW;gBACP,QAAQ,EAAE,MAAM;IAIrC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAY/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IAIhC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAI9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ;CAGnD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,YAAW,OAAO;IAKrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IALnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGf,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,GAAG,IAAW;IAO1C,0EAA0E;IAC1E,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAMzD,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAa/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAIjC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAK9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS;CAGpD;AAED,mFAAmF;AACnF,qBAAa,UAAW,YAAW,OAAO;IAG5B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAFlC,QAAQ,CAAC,GAAG,YAAY;IACxB,QAAQ,CAAC,QAAQ,YAAY;gBACR,KAAK,EAAE,MAAM;IAElC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAc/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU;IAKlC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAI9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU;CAGrD;AAQD,uEAAuE;AACvE,qBAAa,KAAM,YAAW,OAAO;IAGjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAEpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAJ/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvB,GAAG,EAAE,MAAM,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACZ,KAAK,GAAE,MAAM,GAAG,IAAW;IAKtC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAY/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK;IAK7B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAM9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK;CAOhD;AAED,6EAA6E;AAC7E,qBAAa,IAAK,YAAW,OAAO;IAGhC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAEpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAJ/B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE1B,GAAG,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EACf,KAAK,GAAE,MAAM,GAAG,IAAW;IAKtC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAY/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAU9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;CAO/C;AAED,uEAAuE;AACvE,qBAAa,MAAO,YAAW,OAAO;IAElC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;gBAFpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,IAAW;IAGtC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ;IAc/B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAc9B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAM9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM;CAOjD;AAQD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;CAC5C;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAEpE;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,OAAO;IAI1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAHpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAEnB,GAAG,EAAE,IAAI,EACA,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;IAKzC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ;IAShC,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc;IAIvC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAOjC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAI9B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,cAAc;CAGzD;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAMpD"}
|
package/dist/cjs/ceilings.js
CHANGED
|
@@ -19,10 +19,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
19
19
|
exports.UnknownCeiling = exports.Prefix = exports.Deny = exports.Allow = exports.EgressRank = exports.CallLimit = exports.SpendCap = exports.RowLimit = void 0;
|
|
20
20
|
exports.ctxFieldOf = ctxFieldOf;
|
|
21
21
|
exports.describe = describe;
|
|
22
|
+
exports.wireKeyOf = wireKeyOf;
|
|
23
|
+
exports.describeInFinding = describeInFinding;
|
|
22
24
|
exports.isMetered = isMetered;
|
|
23
25
|
exports.registerCeiling = registerCeiling;
|
|
24
26
|
exports.ceilingFromWire = ceilingFromWire;
|
|
25
27
|
const canonical_js_1 = require("./canonical.js");
|
|
28
|
+
const display_js_1 = require("./display.js");
|
|
26
29
|
const reasons_js_1 = require("./reasons.js");
|
|
27
30
|
/**
|
|
28
31
|
* Reject a ceiling bound whose magnitude can't survive the signing surface
|
|
@@ -64,6 +67,51 @@ function describe(ceiling) {
|
|
|
64
67
|
return ceiling.describe();
|
|
65
68
|
return `${ceiling.key}=${JSON.stringify(ceiling.toWire())}`;
|
|
66
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* A ceiling's key as the wire carried it, which is what a finding names. A ceiling this build does
|
|
72
|
+
* not define keeps whatever its key was, null included, where its `key` property is text: the
|
|
73
|
+
* Python implementation prints a null key as `None`.
|
|
74
|
+
*/
|
|
75
|
+
function wireKeyOf(ceiling) {
|
|
76
|
+
return ceiling instanceof UnknownCeiling ? (ceiling.raw["key"] ?? null) : ceiling.key;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A ceiling as a verifier finding prints it: `describe`'s text, with every value the bundle supplied
|
|
80
|
+
* printed through `shown` (display.ts), so the finding stays on one line.
|
|
81
|
+
*
|
|
82
|
+
* `describe` itself is left alone, so dashboards and `Authority.describe()` print a region called
|
|
83
|
+
* "São Paulo" as it is, and for values in the bare set the two agree character for character. A
|
|
84
|
+
* ceiling this build does not define prints the Python implementation's description of it — its key,
|
|
85
|
+
* `=`, and the wire object as Python prints a dict — as it is when that is printable ASCII, spaces
|
|
86
|
+
* included, and as escaped JSON otherwise. Same text as the Python implementation's finding.
|
|
87
|
+
*/
|
|
88
|
+
function describeInFinding(ceiling) {
|
|
89
|
+
// A bound the wire supplied: a number prints as `describe` prints it; anything else is shown.
|
|
90
|
+
const bound = (v) => (typeof v === "number" ? (0, canonical_js_1.pyNumber)(v) : (0, display_js_1.shown)(v));
|
|
91
|
+
const members = (values) => sortByStr(values)
|
|
92
|
+
.map((v) => (0, display_js_1.shownText)(strOf(v), v))
|
|
93
|
+
.join(", ");
|
|
94
|
+
// By exact class, as the Python implementation matches by exact type: a subclass of a built-in
|
|
95
|
+
// describes itself, and is printed the way any other ceiling this build does not define is.
|
|
96
|
+
const kind = ceiling.constructor;
|
|
97
|
+
if (kind === RowLimit)
|
|
98
|
+
return `${(0, display_js_1.shown)(ceiling.key)}<=${bound(ceiling.maxRows)}`;
|
|
99
|
+
if (kind === SpendCap)
|
|
100
|
+
return `${(0, display_js_1.shown)(ceiling.key)}<=${bound(ceiling.maxSpend)}`;
|
|
101
|
+
if (kind === CallLimit)
|
|
102
|
+
return `${(0, display_js_1.shown)(ceiling.key)}<=${bound(ceiling.maxCalls)}`;
|
|
103
|
+
if (kind === EgressRank)
|
|
104
|
+
return `${(0, display_js_1.shown)(ceiling.key)}<=${(0, display_js_1.shown)(ceiling.level)}`;
|
|
105
|
+
if (kind === Allow)
|
|
106
|
+
return `${(0, display_js_1.shown)(ceiling.key)} in [${members(ceiling.oneOf)}]`;
|
|
107
|
+
if (kind === Deny)
|
|
108
|
+
return `${(0, display_js_1.shown)(ceiling.key)} not in [${members(ceiling.notOneOf)}]`;
|
|
109
|
+
if (kind === Prefix)
|
|
110
|
+
return `${(0, display_js_1.shown)(ceiling.key)} startswith ${(0, display_js_1.shown)(ceiling.prefix)}`;
|
|
111
|
+
const key = wireKeyOf(ceiling);
|
|
112
|
+
const text = typeof ceiling.describe === "function" ? ceiling.describe() : `${(0, display_js_1.pyStr)(key)}=${(0, display_js_1.pyRepr)(ceiling.toWire())}`;
|
|
113
|
+
return /^[ -~]*$/.test(text) ? text : (0, display_js_1.escaped)(text);
|
|
114
|
+
}
|
|
67
115
|
/**
|
|
68
116
|
* A METERED ceiling bounds a consumed quantity the caller must declare (rows
|
|
69
117
|
* read, spend, calls) — by convention its key starts with "max_". Rank and
|
package/dist/cjs/ceilings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ceilings.js","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ceilings.js","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/cli.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* attenu-guard — command-line tool.
|
|
3
3
|
*
|
|
4
4
|
* attenu-guard verify <log.jsonl | bundle.json> [--hs256-key HEX | --pubkey HEX] [--kid KID]
|
|
5
|
-
* [--witness-keys FILE]
|
|
5
|
+
* [--witness-keys FILE] [--entries]
|
|
6
6
|
*
|
|
7
7
|
* A `.jsonl` audit log is checked for hash-chain integrity. A bundle (the
|
|
8
8
|
* output of `exportBundle`, or of the Python library's `export_bundle`) is
|
|
@@ -10,11 +10,20 @@
|
|
|
10
10
|
* bundle alone; the signed anchor is verified when a key is given and reported
|
|
11
11
|
* as "not checked" otherwise. `--witness-keys FILE` supplies the trusted witness
|
|
12
12
|
* keys for a bundle carrying observer envelopes; without it every envelope fails
|
|
13
|
-
* `envelope_unknown_witness`, and the output says which flag to pass.
|
|
13
|
+
* `envelope_unknown_witness`, and the output says which flag to pass. A trust-set row may carry
|
|
14
|
+
* `not_after`; a row expired at the time of the run is not trusted. A trust file that is not one
|
|
15
|
+
* (not JSON, not an array of rows, or a row the verifier refuses) is one line naming the file and,
|
|
16
|
+
* for a bad row, the kid.
|
|
17
|
+
*
|
|
18
|
+
* `--entries` prints, after everything else, `entries:` and one line per ledger entry: its seq,
|
|
19
|
+
* event, node and scope; on a bundle, its envelope state, with the observed result and the
|
|
20
|
+
* witness's kid when that state is witness-signed; and the checks that failed on that entry.
|
|
21
|
+
* Without the flag the output is unchanged.
|
|
14
22
|
*
|
|
15
23
|
* A ledger with zero events is reported EMPTY, not OK.
|
|
16
24
|
*
|
|
17
|
-
* Exit codes: 0 = ok, 2 = a check failed
|
|
25
|
+
* Exit codes: 0 = ok, 2 = a check failed, there was nothing to check, or the trust file is
|
|
26
|
+
* malformed, 1 = usage (a missing argument, or a file that cannot be read).
|
|
18
27
|
* The output lines match the Python CLI's, so either implementation can stand in
|
|
19
28
|
* for the other in a script.
|
|
20
29
|
*/
|
package/dist/cjs/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAoXH,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,MAAM,CAanE"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* attenu-guard — command-line tool.
|
|
4
4
|
*
|
|
5
5
|
* attenu-guard verify <log.jsonl | bundle.json> [--hs256-key HEX | --pubkey HEX] [--kid KID]
|
|
6
|
-
* [--witness-keys FILE]
|
|
6
|
+
* [--witness-keys FILE] [--entries]
|
|
7
7
|
*
|
|
8
8
|
* A `.jsonl` audit log is checked for hash-chain integrity. A bundle (the
|
|
9
9
|
* output of `exportBundle`, or of the Python library's `export_bundle`) is
|
|
@@ -11,11 +11,20 @@
|
|
|
11
11
|
* bundle alone; the signed anchor is verified when a key is given and reported
|
|
12
12
|
* as "not checked" otherwise. `--witness-keys FILE` supplies the trusted witness
|
|
13
13
|
* keys for a bundle carrying observer envelopes; without it every envelope fails
|
|
14
|
-
* `envelope_unknown_witness`, and the output says which flag to pass.
|
|
14
|
+
* `envelope_unknown_witness`, and the output says which flag to pass. A trust-set row may carry
|
|
15
|
+
* `not_after`; a row expired at the time of the run is not trusted. A trust file that is not one
|
|
16
|
+
* (not JSON, not an array of rows, or a row the verifier refuses) is one line naming the file and,
|
|
17
|
+
* for a bad row, the kid.
|
|
18
|
+
*
|
|
19
|
+
* `--entries` prints, after everything else, `entries:` and one line per ledger entry: its seq,
|
|
20
|
+
* event, node and scope; on a bundle, its envelope state, with the observed result and the
|
|
21
|
+
* witness's kid when that state is witness-signed; and the checks that failed on that entry.
|
|
22
|
+
* Without the flag the output is unchanged.
|
|
15
23
|
*
|
|
16
24
|
* A ledger with zero events is reported EMPTY, not OK.
|
|
17
25
|
*
|
|
18
|
-
* Exit codes: 0 = ok, 2 = a check failed
|
|
26
|
+
* Exit codes: 0 = ok, 2 = a check failed, there was nothing to check, or the trust file is
|
|
27
|
+
* malformed, 1 = usage (a missing argument, or a file that cannot be read).
|
|
19
28
|
* The output lines match the Python CLI's, so either implementation can stand in
|
|
20
29
|
* for the other in a script.
|
|
21
30
|
*/
|
|
@@ -23,6 +32,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
23
32
|
exports.main = main;
|
|
24
33
|
const node_fs_1 = require("node:fs");
|
|
25
34
|
const audit_js_1 = require("./audit.js");
|
|
35
|
+
const canonical_js_1 = require("./canonical.js");
|
|
36
|
+
const display_js_1 = require("./display.js");
|
|
26
37
|
const evidence_js_1 = require("./evidence.js");
|
|
27
38
|
const wire_js_1 = require("./wire.js");
|
|
28
39
|
/** The Python CLI prints the same line for the same file. */
|
|
@@ -30,41 +41,224 @@ const EMPTY = "EMPTY — no events to verify";
|
|
|
30
41
|
const USAGE = `attenu-guard — command-line tool.
|
|
31
42
|
|
|
32
43
|
attenu-guard verify <log.jsonl | bundle.json> [--hs256-key HEX | --pubkey HEX] [--kid KID]
|
|
33
|
-
[--witness-keys FILE]
|
|
44
|
+
[--witness-keys FILE] [--entries]
|
|
34
45
|
verify a hash-chained audit log, or an evidence bundle
|
|
35
46
|
(integrity · child ⊆ parent · containment;
|
|
36
47
|
--hs256-key/--pubkey checks the anchor;
|
|
37
|
-
--witness-keys FILE supplies the trusted observer-envelope keys
|
|
48
|
+
--witness-keys FILE supplies the trusted observer-envelope keys;
|
|
49
|
+
--entries adds one line per entry: its envelope state and the checks that failed on it;
|
|
50
|
+
a line is key=value tokens split by single spaces, the key before the first "=",
|
|
51
|
+
and a value never contains a space; one that starts with " is a JSON string)
|
|
38
52
|
`;
|
|
53
|
+
/** A `--witness-keys` file that was read and is not a trust set. The message says why. */
|
|
54
|
+
class NotATrustSet extends Error {
|
|
55
|
+
}
|
|
39
56
|
/**
|
|
40
57
|
* The trust set for a bundle's observer envelopes, read from `--witness-keys FILE`.
|
|
41
58
|
*
|
|
42
59
|
* The file is the `witness_keys` array the interop vectors carry — `[{kid, alg,
|
|
43
|
-
* public_key_hex}]` — or one whole vector case, in which case
|
|
44
|
-
* Without a trust set every envelope in a bundle fails
|
|
45
|
-
* correct (an unknown key is not a trusted one) and useless as
|
|
46
|
-
* carrying envelopes is verified from the command line.
|
|
60
|
+
* public_key_hex}]`, each row optionally with `not_after` — or one whole vector case, in which case
|
|
61
|
+
* its `witness_keys` member is used. Without a trust set every envelope in a bundle fails
|
|
62
|
+
* `envelope_unknown_witness`, which is correct (an unknown key is not a trusted one) and useless as
|
|
63
|
+
* a default, so this is how a bundle carrying envelopes is verified from the command line.
|
|
64
|
+
*
|
|
65
|
+
* Every row is validated here, by the same checks the verifier runs, so a bad row is reported
|
|
66
|
+
* against this file before any bundle is read. Throws the file system's error when the file cannot
|
|
67
|
+
* be read, and `NotATrustSet` when it is not a trust set: not JSON (JSON is UTF-8 text, so bytes
|
|
68
|
+
* that are not UTF-8 are not JSON either), not an array of rows, or a row the verifier refuses,
|
|
69
|
+
* whose message names the kid. The messages are the Python CLI's, word for word.
|
|
47
70
|
*/
|
|
48
71
|
function readWitnessKeys(path) {
|
|
49
|
-
|
|
72
|
+
const bytes = (0, node_fs_1.readFileSync)(path);
|
|
73
|
+
let parsed;
|
|
74
|
+
try {
|
|
75
|
+
// `ignoreBOM` keeps a byte-order mark in the text, where JSON.parse refuses it as Python does.
|
|
76
|
+
parsed = JSON.parse(new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes));
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
throw new NotATrustSet("the file is not valid JSON");
|
|
80
|
+
}
|
|
50
81
|
if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) && "witness_keys" in parsed) {
|
|
51
82
|
parsed = parsed["witness_keys"];
|
|
52
83
|
}
|
|
53
84
|
if (!Array.isArray(parsed)) {
|
|
54
|
-
throw new
|
|
85
|
+
throw new NotATrustSet("expected a JSON array of {kid, alg, public_key_hex} rows, or a vector case carrying one as witness_keys");
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
(0, evidence_js_1.validateWitnessKeys)(parsed);
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
throw new NotATrustSet(err.message);
|
|
55
92
|
}
|
|
56
93
|
return parsed;
|
|
57
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* The C library's text for the file-system errors a path argument meets — what Python prints as
|
|
97
|
+
* `strerror` — so `cannot read FILE: REASON` reads the same from both CLIs. `null` for an error
|
|
98
|
+
* that is not a file-system one. A code outside this table prints Node's own message, which is
|
|
99
|
+
* worded differently.
|
|
100
|
+
*/
|
|
101
|
+
function readFailure(err) {
|
|
102
|
+
const code = err?.code;
|
|
103
|
+
if (typeof code !== "string")
|
|
104
|
+
return null;
|
|
105
|
+
return STRERROR[code] ?? err.message;
|
|
106
|
+
}
|
|
107
|
+
const STRERROR = {
|
|
108
|
+
ENOENT: "No such file or directory",
|
|
109
|
+
EACCES: "Permission denied",
|
|
110
|
+
EISDIR: "Is a directory",
|
|
111
|
+
ENOTDIR: "Not a directory",
|
|
112
|
+
ELOOP: "Too many levels of symbolic links",
|
|
113
|
+
ENAMETOOLONG: "File name too long",
|
|
114
|
+
EPERM: "Operation not permitted",
|
|
115
|
+
EMFILE: "Too many open files",
|
|
116
|
+
EINVAL: "Invalid argument",
|
|
117
|
+
EIO: "Input/output error",
|
|
118
|
+
};
|
|
58
119
|
/** Render a boolean the way Python does, so the two CLIs print the same line. */
|
|
59
120
|
function py(value) {
|
|
60
121
|
return value ? "True" : "False";
|
|
61
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Entry index -> the checks that failed on that entry: the `reason` of every failure about it,
|
|
125
|
+
* each once, in the order the verifier reported them.
|
|
126
|
+
*
|
|
127
|
+
* `failureEntries` is the verifier's own record of the entry each failure is about, by index
|
|
128
|
+
* (`VerifyReport.failure_entries`), so a failure lands on its entry even when that entry's seq is
|
|
129
|
+
* missing, null, a boolean, a string or another entry's. A failure about no single entry (a
|
|
130
|
+
* version, root, anchor or chain-id failure, or an envelope whose subject names no entry) is in
|
|
131
|
+
* the bundle-level output already and lands on no line.
|
|
132
|
+
*/
|
|
133
|
+
function failedByEntry(failureEntries, details) {
|
|
134
|
+
const failed = new Map();
|
|
135
|
+
failureEntries.forEach((index, k) => {
|
|
136
|
+
if (index === null)
|
|
137
|
+
return;
|
|
138
|
+
const reason = details[k].reason;
|
|
139
|
+
const reasons = failed.get(index) ?? [];
|
|
140
|
+
if (!reasons.includes(reason))
|
|
141
|
+
reasons.push(reason);
|
|
142
|
+
failed.set(index, reasons);
|
|
143
|
+
});
|
|
144
|
+
return failed;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* One value on an `--entries` line, byte for byte what the Python CLI prints.
|
|
148
|
+
*
|
|
149
|
+
* The values come from the bundle, which is attacker-supplied, and a line is only worth reading if
|
|
150
|
+
* no value can end it early or start a forged one: a `scope` carrying a newline and a clean-looking
|
|
151
|
+
* second line would otherwise print a fake entry with the real entry's `failed=` attached to it. So
|
|
152
|
+
* a value is printed as it is only when it is printable ASCII with no space, `"` or `\`, and an
|
|
153
|
+
* integer in decimal. Anything else is printed in the `escaped` JSON form (display.ts), which holds
|
|
154
|
+
* no whitespace and which a JSON parser reads back.
|
|
155
|
+
*/
|
|
156
|
+
function entryValue(value) {
|
|
157
|
+
if (typeof value === "string" && display_js_1.BARE.test(value))
|
|
158
|
+
return value;
|
|
159
|
+
return (0, display_js_1.integerText)(value) ?? (0, display_js_1.escaped)(value);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* One `--entries` line: two spaces, then `key=value` tokens separated by single spaces, in a fixed
|
|
163
|
+
* order. `seq` is always printed, as the integer when it is integral (`1.0` prints 1, as the
|
|
164
|
+
* verifier reads it), and as `seq=null` for an entry that has none: an entry without a seq is
|
|
165
|
+
* exactly the entry a reader must see. Any other key with no value is left out.
|
|
166
|
+
*
|
|
167
|
+
* How a line parses: no token contains whitespace; the key is the text before the token's first
|
|
168
|
+
* `=`, and keys never contain one, though a value may (`scope=failed=containment` is the scope
|
|
169
|
+
* "failed=containment"); a value that starts with `"` is a JSON string, and any other value is
|
|
170
|
+
* printed as it is.
|
|
171
|
+
*/
|
|
172
|
+
function entryLine(e, rest) {
|
|
173
|
+
const tokens = [`seq=${entryValue(((0, canonical_js_1.intOr)(e["seq"]) ?? null))}`];
|
|
174
|
+
const pairs = [
|
|
175
|
+
["event", e["event"]],
|
|
176
|
+
["node", e["node"]],
|
|
177
|
+
["scope", e["scope"]],
|
|
178
|
+
...rest,
|
|
179
|
+
];
|
|
180
|
+
for (const [key, value] of pairs) {
|
|
181
|
+
if (value !== null && value !== undefined)
|
|
182
|
+
tokens.push(`${key}=${entryValue(value)}`);
|
|
183
|
+
}
|
|
184
|
+
return ` ${tokens.join(" ")}`;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* A bundle's entries with the state the verifier computed for each, read by index: an entry is
|
|
188
|
+
* witness-signed exactly when `envelopes.witnesses` holds its index, which is the entry the
|
|
189
|
+
* verifier resolved an envelope to, so of two entries sharing a seq only the one the witness signed
|
|
190
|
+
* reads witness-signed. `observed` and `witness` are printed only on such an entry: they are what
|
|
191
|
+
* its envelope says, and an entry that is process-asserted carries no observation the reader may
|
|
192
|
+
* rely on.
|
|
193
|
+
*/
|
|
194
|
+
function bundleEntryLines(entries, rep) {
|
|
195
|
+
const failed = failedByEntry(rep.failure_entries, rep.failure_details);
|
|
196
|
+
const { results, witnesses } = rep.envelopes;
|
|
197
|
+
return entries.map((e, i) => {
|
|
198
|
+
const kid = Object.hasOwn(witnesses, String(i)) ? witnesses[String(i)] : null;
|
|
199
|
+
// `results` is keyed the way `states` is (`stateKey`), and for a covered entry the result filed
|
|
200
|
+
// there is its own envelope's.
|
|
201
|
+
const key = (0, evidence_js_1.stateKey)(e, i);
|
|
202
|
+
return entryLine(e, [
|
|
203
|
+
["state", kid === null ? evidence_js_1.PROCESS_ASSERTED : evidence_js_1.WITNESS_SIGNED],
|
|
204
|
+
["observed", kid !== null && Object.hasOwn(results, key) ? results[key] : null],
|
|
205
|
+
["witness", kid],
|
|
206
|
+
["failed", failed.get(i)?.join(",") ?? null],
|
|
207
|
+
]);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/** A plain ledger's entries. A plain ledger carries no envelopes, so there is no state to print. */
|
|
211
|
+
function ledgerEntryLines(entries, failureEntries, details) {
|
|
212
|
+
const failed = failedByEntry(failureEntries, details);
|
|
213
|
+
return entries.map((e, i) => entryLine(e, [["failed", failed.get(i)?.join(",") ?? null]]));
|
|
214
|
+
}
|
|
215
|
+
/** One JSON object with an `entries` member: what `exportBundle` writes. */
|
|
216
|
+
function isBundleShaped(value) {
|
|
217
|
+
return value !== null && typeof value === "object" && !Array.isArray(value) && "entries" in value;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Why a file that is neither a bundle nor a ledger could not be read, in one line.
|
|
221
|
+
*
|
|
222
|
+
* A file that is ONE JSON object with `entries`, read by JavaScript's lenient parser, is a bundle
|
|
223
|
+
* the strict one refused — a duplicate member, a number past the double range, a lone surrogate —
|
|
224
|
+
* and that refusal is the reason. Anything else was read as JSON Lines, and the reason is the first
|
|
225
|
+
* line that does not parse. A parser's message can quote the input, so it goes through `oneLine`.
|
|
226
|
+
*/
|
|
227
|
+
function unparsable(text, bundleError, ledgerError) {
|
|
228
|
+
if (bundleError !== null) {
|
|
229
|
+
let lenient = null;
|
|
230
|
+
try {
|
|
231
|
+
lenient = JSON.parse(text);
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
lenient = null;
|
|
235
|
+
}
|
|
236
|
+
if (isBundleShaped(lenient))
|
|
237
|
+
return (0, display_js_1.oneLine)(bundleError.message);
|
|
238
|
+
}
|
|
239
|
+
const lines = text.split(/\r?\n/);
|
|
240
|
+
for (let n = 0; n < lines.length; n++) {
|
|
241
|
+
if (lines[n].trim() === "")
|
|
242
|
+
continue;
|
|
243
|
+
try {
|
|
244
|
+
(0, canonical_js_1.parseJson)(lines[n]);
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
return `line ${n + 1}: ${(0, display_js_1.oneLine)(err.message)}`;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return (0, display_js_1.oneLine)(ledgerError.message);
|
|
251
|
+
}
|
|
252
|
+
function writeEntries(lines) {
|
|
253
|
+
process.stdout.write(`entries:\n${lines.map((line) => `${line}\n`).join("")}`);
|
|
254
|
+
}
|
|
62
255
|
function verify(args) {
|
|
63
256
|
let path = null;
|
|
64
257
|
let keyHex = null;
|
|
65
258
|
let pubHex = null;
|
|
66
259
|
let kid = null;
|
|
67
260
|
let witnessPath = null;
|
|
261
|
+
let listEntries = false;
|
|
68
262
|
for (let i = 0; i < args.length; i++) {
|
|
69
263
|
const a = args[i];
|
|
70
264
|
if (a === "--hs256-key")
|
|
@@ -75,6 +269,8 @@ function verify(args) {
|
|
|
75
269
|
kid = args[++i] ?? null;
|
|
76
270
|
else if (a === "--witness-keys")
|
|
77
271
|
witnessPath = args[++i] ?? null;
|
|
272
|
+
else if (a === "--entries")
|
|
273
|
+
listEntries = true;
|
|
78
274
|
else if (path === null)
|
|
79
275
|
path = a;
|
|
80
276
|
}
|
|
@@ -82,18 +278,28 @@ function verify(args) {
|
|
|
82
278
|
process.stdout.write(USAGE);
|
|
83
279
|
return 1;
|
|
84
280
|
}
|
|
85
|
-
|
|
281
|
+
let text;
|
|
282
|
+
try {
|
|
283
|
+
text = (0, node_fs_1.readFileSync)(path, "utf8");
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
// A wrong path is a usage error, not a stack trace.
|
|
287
|
+
const reason = readFailure(err);
|
|
288
|
+
if (reason === null)
|
|
289
|
+
throw err;
|
|
290
|
+
process.stdout.write(`cannot read ${path}: ${reason}\n`);
|
|
291
|
+
return 1;
|
|
292
|
+
}
|
|
86
293
|
let bundle = null;
|
|
294
|
+
let bundleError = null;
|
|
87
295
|
try {
|
|
88
296
|
// A bundle is ONE JSON object; a ledger is JSON Lines.
|
|
89
297
|
const parsed = (0, evidence_js_1.parseBundle)(text);
|
|
90
|
-
bundle =
|
|
91
|
-
parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) && "entries" in parsed
|
|
92
|
-
? parsed
|
|
93
|
-
: null;
|
|
298
|
+
bundle = isBundleShaped(parsed) ? parsed : null;
|
|
94
299
|
}
|
|
95
|
-
catch {
|
|
300
|
+
catch (err) {
|
|
96
301
|
bundle = null;
|
|
302
|
+
bundleError = err;
|
|
97
303
|
}
|
|
98
304
|
if (bundle !== null) {
|
|
99
305
|
const anchorKid = bundle.anchor?.["kid"] ?? undefined;
|
|
@@ -103,12 +309,34 @@ function verify(args) {
|
|
|
103
309
|
else if (pubHex) {
|
|
104
310
|
signer = new wire_js_1.Ed25519Verifier(Buffer.from(pubHex, "hex"), kid ?? anchorKid ?? "k1");
|
|
105
311
|
}
|
|
106
|
-
|
|
312
|
+
let witnessKeys = null;
|
|
313
|
+
if (witnessPath) {
|
|
314
|
+
try {
|
|
315
|
+
witnessKeys = readWitnessKeys(witnessPath);
|
|
316
|
+
}
|
|
317
|
+
catch (err) {
|
|
318
|
+
// Read, and not a trust set: one line, naming the file and, for a bad row, the kid.
|
|
319
|
+
if (err instanceof NotATrustSet) {
|
|
320
|
+
process.stdout.write(`cannot use --witness-keys ${witnessPath}: ${err.message}\n`);
|
|
321
|
+
return 2;
|
|
322
|
+
}
|
|
323
|
+
// Unreadable, as for the bundle path above.
|
|
324
|
+
const reason = readFailure(err);
|
|
325
|
+
if (reason === null)
|
|
326
|
+
throw err;
|
|
327
|
+
process.stdout.write(`cannot read ${witnessPath}: ${reason}\n`);
|
|
328
|
+
return 1;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
107
331
|
const rep = (0, evidence_js_1.verifyBundle)(bundle, signer, { witnessKeys });
|
|
108
332
|
const c = rep.checks;
|
|
333
|
+
// An allow marked `policy: "unlisted"` passed through un-gated and is excused from containment,
|
|
334
|
+
// so `actions_checked` does not count it. Say how many there were, only when there were any:
|
|
335
|
+
// every other bundle prints this line exactly as it always has.
|
|
336
|
+
const ungated = rep.ungated > 0 ? ` ungated=${rep.ungated}` : "";
|
|
109
337
|
process.stdout.write(`integrity=${py(c.integrity)} monotonicity=${py(c.monotonicity)} ` +
|
|
110
338
|
`containment=${py(c.containment)} anchor=${c.anchor} ` +
|
|
111
|
-
`nodes=${rep.nodes} actions_checked=${rep.actions_checked}\n`);
|
|
339
|
+
`nodes=${rep.nodes} actions_checked=${rep.actions_checked}${ungated}\n`);
|
|
112
340
|
for (const f of rep.failures)
|
|
113
341
|
process.stdout.write(` - ${f}\n`);
|
|
114
342
|
// A bundle carrying envelopes and no trust set fails every one of them, correctly and
|
|
@@ -118,17 +346,41 @@ function verify(args) {
|
|
|
118
346
|
process.stdout.write("hint: pass --witness-keys FILE to supply the trusted witness keys\n");
|
|
119
347
|
}
|
|
120
348
|
process.stdout.write(rep.ok ? "OK\n" : "FAILED\n");
|
|
349
|
+
if (listEntries)
|
|
350
|
+
writeEntries(bundleEntryLines(bundle.entries ?? [], rep));
|
|
121
351
|
return rep.ok ? 0 : 2;
|
|
122
352
|
}
|
|
123
|
-
|
|
353
|
+
let entries;
|
|
354
|
+
try {
|
|
355
|
+
entries = audit_js_1.AuditLog.parseLines(text);
|
|
356
|
+
}
|
|
357
|
+
catch (err) {
|
|
358
|
+
// Neither a bundle nor a ledger this build reads: one line, not a stack trace. Exit 1, as the
|
|
359
|
+
// Python CLI exits on a file it cannot parse.
|
|
360
|
+
process.stdout.write(`cannot parse ${path}: ${unparsable(text, bundleError, err)}\n`);
|
|
361
|
+
return 1;
|
|
362
|
+
}
|
|
124
363
|
if (entries.length === 0) {
|
|
125
364
|
// A ledger with no entries has nothing to verify. Reporting it OK would be a fail-open: a
|
|
126
365
|
// truncated or never-written file would pass the same check as a clean chain.
|
|
127
366
|
process.stdout.write(`${EMPTY}\n`);
|
|
367
|
+
if (listEntries)
|
|
368
|
+
writeEntries([]);
|
|
128
369
|
return 2;
|
|
129
370
|
}
|
|
130
371
|
const [ok, reason] = audit_js_1.AuditLog.verify(entries);
|
|
131
372
|
process.stdout.write(ok ? "OK\n" : `TAMPERED — ${reason}\n`);
|
|
373
|
+
if (listEntries) {
|
|
374
|
+
// A plain ledger has one check, the hash chain, and its failure is about the entry a bundle's
|
|
375
|
+
// integrity failure is about: the first one the chain does not reproduce at.
|
|
376
|
+
const at = [];
|
|
377
|
+
const details = [];
|
|
378
|
+
if (!ok) {
|
|
379
|
+
at.push((0, evidence_js_1.integrityBreak)(entries));
|
|
380
|
+
details.push({ reason: "integrity", seq: null, node: null, call_id: null, detail: `integrity: ${reason}` });
|
|
381
|
+
}
|
|
382
|
+
writeEntries(ledgerEntryLines(entries, at, details));
|
|
383
|
+
}
|
|
132
384
|
return ok ? 0 : 2;
|
|
133
385
|
}
|
|
134
386
|
function main(argv = process.argv.slice(2)) {
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|