agent-passport-system 3.3.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/src/core/attribution.d.ts +3 -1
- package/dist/src/core/attribution.d.ts.map +1 -1
- package/dist/src/core/attribution.js +30 -21
- package/dist/src/core/attribution.js.map +1 -1
- package/dist/src/core/bilateral-receipt.d.ts.map +1 -1
- package/dist/src/core/bilateral-receipt.js +14 -0
- package/dist/src/core/bilateral-receipt.js.map +1 -1
- package/dist/src/core/charter.d.ts +16 -2
- package/dist/src/core/charter.d.ts.map +1 -1
- package/dist/src/core/charter.js +65 -14
- package/dist/src/core/charter.js.map +1 -1
- package/dist/src/core/delegation.d.ts.map +1 -1
- package/dist/src/core/delegation.js +17 -0
- package/dist/src/core/delegation.js.map +1 -1
- package/dist/src/core/evidence-bundle.d.ts +4 -3
- package/dist/src/core/evidence-bundle.d.ts.map +1 -1
- package/dist/src/core/evidence-bundle.js +5 -4
- package/dist/src/core/evidence-bundle.js.map +1 -1
- package/dist/src/core/governance-consumer.d.ts.map +1 -1
- package/dist/src/core/governance-consumer.js +5 -2
- package/dist/src/core/governance-consumer.js.map +1 -1
- package/dist/src/core/is-record.d.ts +3 -0
- package/dist/src/core/is-record.d.ts.map +1 -0
- package/dist/src/core/is-record.js +23 -0
- package/dist/src/core/is-record.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/accountability/verify/action.d.ts.map +1 -1
- package/dist/src/v2/accountability/verify/action.js +6 -0
- package/dist/src/v2/accountability/verify/action.js.map +1 -1
- package/dist/src/v2/accountability/verify/bundle.d.ts.map +1 -1
- package/dist/src/v2/accountability/verify/bundle.js +6 -0
- package/dist/src/v2/accountability/verify/bundle.js.map +1 -1
- package/dist/src/v2/accountability/verify/contestability.d.ts.map +1 -1
- package/dist/src/v2/accountability/verify/contestability.js +6 -0
- package/dist/src/v2/accountability/verify/contestability.js.map +1 -1
- package/dist/src/v2/accountability/verify/custody.d.ts.map +1 -1
- package/dist/src/v2/accountability/verify/custody.js +6 -0
- package/dist/src/v2/accountability/verify/custody.js.map +1 -1
- package/dist/src/v2/attribution-settlement/merkle.d.ts +5 -3
- package/dist/src/v2/attribution-settlement/merkle.d.ts.map +1 -1
- package/dist/src/v2/attribution-settlement/merkle.js +48 -20
- package/dist/src/v2/attribution-settlement/merkle.js.map +1 -1
- package/dist/src/v2/offline-verifier/context.d.ts.map +1 -1
- package/dist/src/v2/offline-verifier/context.js +6 -0
- package/dist/src/v2/offline-verifier/context.js.map +1 -1
- package/dist/src/v2/offline-verifier/verify.d.ts.map +1 -1
- package/dist/src/v2/offline-verifier/verify.js +23 -0
- package/dist/src/v2/offline-verifier/verify.js.map +1 -1
- package/dist/src/verification/verify.d.ts.map +1 -1
- package/dist/src/verification/verify.js +7 -0
- package/dist/src/verification/verify.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/agent-passport-system)
|
|
4
4
|
[](https://github.com/aeoess/agent-passport-system/blob/main/LICENSE)
|
|
5
|
-
[](https://github.com/aeoess/agent-passport-system)
|
|
6
6
|
[](https://doi.org/10.5281/zenodo.18749779)
|
|
7
7
|
[](https://www.bestpractices.dev/projects/13536)
|
|
8
8
|
[](https://www.bestpractices.dev/projects/13536)
|
|
9
|
+
[](https://api.reuse.software/info/github.com/aeoess/agent-passport-system)
|
|
9
10
|
[](https://github.com/aeoess/agent-passport-system/blob/main/CONTRIBUTING.md#running-tests)
|
|
10
11
|
[](https://scorecard.dev/viewer/?uri=github.com/aeoess/agent-passport-system)
|
|
12
|
+
[](https://github.com/aeoess/aps-conformance-suite)
|
|
13
|
+
|
|
14
|
+
Verify any receipt or evidence bundle in the browser: https://agent-passport.org/verify.html (per-axis claim-state report; runs locally, nothing is uploaded).
|
|
11
15
|
|
|
12
16
|
> **For AI agents:** visit [agent-passport.org/llms.txt](https://agent-passport.org/llms.txt) for machine-readable docs.
|
|
13
17
|
|
|
@@ -242,7 +246,7 @@ The composition contract specifies how a verifier MUST cross-check per-request s
|
|
|
242
246
|
|
|
243
247
|
## Numbers
|
|
244
248
|
|
|
245
|
-
4,
|
|
249
|
+
4,098 tests. 8 protocol layers. Framework adapters for CrewAI, LangChain, ADK, A2A, MCP, OpenShell, IBAC, Gonka. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
|
|
246
250
|
|
|
247
251
|
The test count is one number derived from the suite, not three guesses. The badge above, this section, and the `package.json` description all carry the same `4,026`, which is the `tests` total reported by `npm test`. When the suite grows, re-run `npm test`, read the `tests` line, and update all three to match.
|
|
248
252
|
|
|
@@ -39,7 +39,9 @@ export declare function verifyAttributionReport(report: AttributionReport, publi
|
|
|
39
39
|
/**
|
|
40
40
|
* Build a Merkle root from leaf hashes.
|
|
41
41
|
* Leaves are sorted for determinism — same set always produces same root.
|
|
42
|
-
*
|
|
42
|
+
* Leaves and internal nodes are domain-separated; an odd node at any level
|
|
43
|
+
* is carried up unchanged (never duplicated) to avoid the CVE-2012-2459
|
|
44
|
+
* duplicate-leaf collision.
|
|
43
45
|
*/
|
|
44
46
|
export declare function buildMerkleRoot(leafHashes: string[]): string;
|
|
45
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../../src/core/attribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAU7B,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE1D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,UAAU,EAAE,EACzB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC3C,gBAAgB,CA0ElB;AAMD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyBtC;
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../../src/core/attribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAU7B,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE1D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,UAAU,EAAE,EACzB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC3C,gBAAgB,CA0ElB;AAMD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyBtC;AAsBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAmB5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,GACjB,WAAW,GAAG,IAAI,CAiCpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAU7D;AAUD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE7B,CAAA;AAE5B,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAE7D;AAED,wBAAgB,+BAA+B,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAE1E"}
|
|
@@ -150,24 +150,35 @@ export function verifyAttributionReport(report, publicKey) {
|
|
|
150
150
|
// This is the real contribution. The Merkle tree lets you commit to N
|
|
151
151
|
// receipts in 32 bytes and prove any individual receipt in O(log N)
|
|
152
152
|
// hashes. This is how attribution scales to millions of actions.
|
|
153
|
+
// Domain separation (CVE-2012-2459 class). Leaves are hashed under a 0x00
|
|
154
|
+
// prefix and internal nodes under a 0x01 prefix so an internal node value
|
|
155
|
+
// can never be reinterpreted as a leaf. Odd nodes are promoted unchanged
|
|
156
|
+
// rather than duplicated, so distinct receipt multisets (for example
|
|
157
|
+
// [a,b,c] versus [a,b,c,c]) can never fold to the same root.
|
|
158
|
+
function hashLeafNode(leaf) {
|
|
159
|
+
return sha256('\x00' + leaf);
|
|
160
|
+
}
|
|
161
|
+
function hashInternalNode(left, right) {
|
|
162
|
+
return sha256('\x01' + left + right);
|
|
163
|
+
}
|
|
153
164
|
/**
|
|
154
165
|
* Build a Merkle root from leaf hashes.
|
|
155
166
|
* Leaves are sorted for determinism — same set always produces same root.
|
|
156
|
-
*
|
|
167
|
+
* Leaves and internal nodes are domain-separated; an odd node at any level
|
|
168
|
+
* is carried up unchanged (never duplicated) to avoid the CVE-2012-2459
|
|
169
|
+
* duplicate-leaf collision.
|
|
157
170
|
*/
|
|
158
171
|
export function buildMerkleRoot(leafHashes) {
|
|
159
172
|
if (leafHashes.length === 0)
|
|
160
173
|
return sha256('empty');
|
|
161
|
-
if (leafHashes.length === 1)
|
|
162
|
-
return leafHashes[0];
|
|
163
174
|
const sorted = [...leafHashes].sort();
|
|
164
|
-
let level = sorted;
|
|
175
|
+
let level = sorted.map(hashLeafNode);
|
|
165
176
|
while (level.length > 1) {
|
|
166
177
|
const next = [];
|
|
167
178
|
for (let i = 0; i < level.length; i += 2) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
179
|
+
next.push(i + 1 < level.length
|
|
180
|
+
? hashInternalNode(level[i], level[i + 1])
|
|
181
|
+
: level[i]);
|
|
171
182
|
}
|
|
172
183
|
level = next;
|
|
173
184
|
}
|
|
@@ -185,21 +196,19 @@ export function generateMerkleProof(leafHashes, targetHash) {
|
|
|
185
196
|
if (targetIndex === -1)
|
|
186
197
|
return null;
|
|
187
198
|
const proof = [];
|
|
188
|
-
let level = sorted;
|
|
199
|
+
let level = sorted.map(hashLeafNode);
|
|
189
200
|
let index = targetIndex;
|
|
190
201
|
while (level.length > 1) {
|
|
191
|
-
const
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
proof.push({ hash: level[index], position: 'right' });
|
|
202
|
+
const isRightChild = index % 2 === 1;
|
|
203
|
+
const siblingIndex = isRightChild ? index - 1 : index + 1;
|
|
204
|
+
// A lone odd node is promoted unchanged: it has no sibling, so it
|
|
205
|
+
// contributes no proof node at this level.
|
|
206
|
+
if (siblingIndex < level.length) {
|
|
207
|
+
proof.push({ hash: level[siblingIndex], position: isRightChild ? 'left' : 'right' });
|
|
198
208
|
}
|
|
209
|
+
const next = [];
|
|
199
210
|
for (let i = 0; i < level.length; i += 2) {
|
|
200
|
-
|
|
201
|
-
const right = i + 1 < level.length ? level[i + 1] : left;
|
|
202
|
-
next.push(sha256(left + right));
|
|
211
|
+
next.push(i + 1 < level.length ? hashInternalNode(level[i], level[i + 1]) : level[i]);
|
|
203
212
|
}
|
|
204
213
|
level = next;
|
|
205
214
|
index = Math.floor(index / 2);
|
|
@@ -211,11 +220,11 @@ export function generateMerkleProof(leafHashes, targetHash) {
|
|
|
211
220
|
* Recompute the root from the leaf + proof, compare against claimed root.
|
|
212
221
|
*/
|
|
213
222
|
export function verifyMerkleProof(proof) {
|
|
214
|
-
let hash = proof.receiptHash;
|
|
223
|
+
let hash = hashLeafNode(proof.receiptHash);
|
|
215
224
|
for (const node of proof.proof) {
|
|
216
225
|
hash = node.position === 'left'
|
|
217
|
-
?
|
|
218
|
-
:
|
|
226
|
+
? hashInternalNode(node.hash, hash)
|
|
227
|
+
: hashInternalNode(hash, node.hash);
|
|
219
228
|
}
|
|
220
229
|
return hash === proof.root;
|
|
221
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../../src/core/attribution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../../src/core/attribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAUtC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,gBAAgB,CAoCnB;AAKD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,wBAAwB,EAAE,MAAM,EAChC,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,4BAA4B,CAuD9B;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IAKd,kBAAkB,CAAC,EAAE,OAAO,oCAAoC,EAAE,kBAAkB,CAAA;CACrF,GAAG,kBAAkB,CAUrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAET;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,qBAAqB,CAmDxB"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { createHash, randomUUID } from 'node:crypto';
|
|
18
18
|
import { sign, verify } from '../crypto/keys.js';
|
|
19
19
|
import { canonicalize } from './canonical.js';
|
|
20
|
+
import { isRecord } from './is-record.js';
|
|
20
21
|
function sha256(input) {
|
|
21
22
|
return createHash('sha256').update(input).digest('hex');
|
|
22
23
|
}
|
|
@@ -67,6 +68,19 @@ export function createBilateralReceipt(opts) {
|
|
|
67
68
|
// ══════════════════════════════════════════════════════════════════
|
|
68
69
|
export function verifyBilateralReceipt(receipt, requestingAgentPublicKey, servingAgentPublicKey, gatewayPublicKey) {
|
|
69
70
|
const errors = [];
|
|
71
|
+
// Null / undefined / non-object (attacker-deliverable JSON `null`) rejects
|
|
72
|
+
// rather than throwing on the destructuring below.
|
|
73
|
+
if (!isRecord(receipt)) {
|
|
74
|
+
return {
|
|
75
|
+
valid: false,
|
|
76
|
+
requestingAgentSignatureValid: false,
|
|
77
|
+
servingAgentSignatureValid: false,
|
|
78
|
+
gatewaySignatureValid: null,
|
|
79
|
+
outcomeConsistent: false,
|
|
80
|
+
timingValid: false,
|
|
81
|
+
errors: ['Invalid receipt: not an object'],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
70
84
|
// Reconstruct the body both agents signed
|
|
71
85
|
const { requestingAgentSignature, servingAgentSignature, gatewaySignature, ...body } = receipt;
|
|
72
86
|
const canonical = canonicalize(body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,8DAA8D;AAC9D,EAAE;AACF,gEAAgE;AAChE,yDAAyD;AACzD,EAAE;AACF,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,qEAAqE;AACrE,gCAAgC;AAChC,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,18 @@ export declare function signCharter(charter: CharterCore, signerPrivateKey: stri
|
|
|
25
25
|
/** Verify a charter's integrity: content hash, signatures, office consistency. */
|
|
26
26
|
export declare function verifyCharter(charter: CharterCore, attributionReceipts?: AttributionReceipt[]): CharterVerification;
|
|
27
27
|
/** Evaluate whether a set of signatures satisfies a multi-class threshold policy.
|
|
28
|
-
* All class requirements must be met (conjunction). Review Q5.
|
|
29
|
-
|
|
28
|
+
* All class requirements must be met (conjunction). Review Q5.
|
|
29
|
+
*
|
|
30
|
+
* Day-145 fix (Track A / self-conflict 4): a signer counts toward a class
|
|
31
|
+
* only when its Ed25519 signature verifies over `signedContent` — the exact
|
|
32
|
+
* bytes the producer path signed. Callers must pass the producer-defined
|
|
33
|
+
* subject:
|
|
34
|
+
* - founding signatures (createCharter/signCharter): charter.contentHash
|
|
35
|
+
* - amendment signatures (createAmendment/signAmendment): amendmentSignContent(amendment)
|
|
36
|
+
* - approval signatures (addApprovalSignature): approvalSignContent(request)
|
|
37
|
+
* A signature that is empty, malformed, or fails verification contributes
|
|
38
|
+
* zero and is reported in errors[]. BREAKING: signedContent is required. */
|
|
39
|
+
export declare function evaluateThreshold(policy: MultiClassThresholdPolicy, signatures: ApprovalSignature[], signedContent: string): ApprovalEvaluation;
|
|
30
40
|
export interface CreateAmendmentOptions {
|
|
31
41
|
charter: CharterCore;
|
|
32
42
|
proposedCharter: CharterCore;
|
|
@@ -58,6 +68,10 @@ export interface CreateOfficeTransferOptions {
|
|
|
58
68
|
export declare function createOfficeTransfer(opts: CreateOfficeTransferOptions): OfficeTransfer;
|
|
59
69
|
/** Create an approval request for a multi-party action. */
|
|
60
70
|
export declare function createApprovalRequest(policyId: string, subject: string, subjectType: ApprovalSubjectType, requestedBy: string, timeoutSeconds: number): ApprovalRequest;
|
|
71
|
+
/** Canonical content an approval signer signs. The requestId binds the
|
|
72
|
+
* signature to this request; the subject binds it to the approved action.
|
|
73
|
+
* This is the threshold subject evaluateApprovalRequest verifies against. */
|
|
74
|
+
export declare function approvalSignContent(request: Pick<ApprovalRequest, 'requestId' | 'subject'>): string;
|
|
61
75
|
/** Add a signature to an approval request. Validates the signer
|
|
62
76
|
* is not a duplicate and the request hasn't expired. */
|
|
63
77
|
export declare function addApprovalSignature(request: ApprovalRequest, signerPrivateKey: string, signerPublicKey: string, keyClass: string, officeId?: string): ApprovalRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,WAAW,EAAiB,gBAAgB,EAC5C,MAAM,EACN,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAC5D,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EACnD,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,kBAAkB,EAAkB,cAAc,EACnD,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAc5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,eAAe,EAAE,yBAAyB,CAAA;IAC1C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,oCAAoC,EAAE,gBAAgB,EAAE,CAAA;CAC5E;AAED;;yCAEyC;AACzC,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,WAAW,CA4CrE;AAMD;qEACqE;AACrE,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,GACzB,WAAW,CAoBb;AAMD,kFAAkF;AAClF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,GACzC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/charter.js
CHANGED
|
@@ -109,8 +109,10 @@ export function verifyCharter(charter, attributionReceipts) {
|
|
|
109
109
|
errors.push(`Signature verification failed for ${sig.publicKey.slice(0, 8)}...`);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
// 3. Check if founding signatures meet the amendment policy threshold
|
|
113
|
-
|
|
112
|
+
// 3. Check if founding signatures meet the amendment policy threshold.
|
|
113
|
+
// Founding signatures are produced over the charter contentHash
|
|
114
|
+
// (createCharter/signCharter), so that is the threshold subject.
|
|
115
|
+
const quorumEval = evaluateThreshold(charter.amendmentPolicy, foundingSignatures.map(s => ({ publicKey: s.publicKey, keyClass: s.role, signedAt: s.signedAt, signature: s.signature })), contentHash);
|
|
114
116
|
const quorumMet = quorumEval.met;
|
|
115
117
|
if (!quorumMet)
|
|
116
118
|
errors.push('Founding signatures do not meet amendment policy threshold');
|
|
@@ -179,18 +181,54 @@ export function verifyCharter(charter, attributionReceipts) {
|
|
|
179
181
|
// EVALUATE MULTI-CLASS THRESHOLD
|
|
180
182
|
// ══════════════════════════════════════
|
|
181
183
|
/** Evaluate whether a set of signatures satisfies a multi-class threshold policy.
|
|
182
|
-
* All class requirements must be met (conjunction). Review Q5.
|
|
183
|
-
|
|
184
|
+
* All class requirements must be met (conjunction). Review Q5.
|
|
185
|
+
*
|
|
186
|
+
* Day-145 fix (Track A / self-conflict 4): a signer counts toward a class
|
|
187
|
+
* only when its Ed25519 signature verifies over `signedContent` — the exact
|
|
188
|
+
* bytes the producer path signed. Callers must pass the producer-defined
|
|
189
|
+
* subject:
|
|
190
|
+
* - founding signatures (createCharter/signCharter): charter.contentHash
|
|
191
|
+
* - amendment signatures (createAmendment/signAmendment): amendmentSignContent(amendment)
|
|
192
|
+
* - approval signatures (addApprovalSignature): approvalSignContent(request)
|
|
193
|
+
* A signature that is empty, malformed, or fails verification contributes
|
|
194
|
+
* zero and is reported in errors[]. BREAKING: signedContent is required. */
|
|
195
|
+
export function evaluateThreshold(policy, signatures, signedContent) {
|
|
184
196
|
const errors = [];
|
|
185
197
|
const classStatus = [];
|
|
186
198
|
let totalValid = 0;
|
|
187
199
|
let totalRequired = 0;
|
|
200
|
+
// Verify every supplied signature over the signed content once.
|
|
201
|
+
// verify() returns false (never throws) on empty, malformed, or forged
|
|
202
|
+
// input; the explicit falsy guard keeps the intent obvious.
|
|
203
|
+
const signatureValid = signatures.map(s => {
|
|
204
|
+
if (!s.signature)
|
|
205
|
+
return false;
|
|
206
|
+
try {
|
|
207
|
+
return verify(signedContent, s.signature, s.publicKey);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
188
213
|
for (const req of policy.requirements) {
|
|
189
|
-
// Count
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
214
|
+
// Count signers for this class: correct class, eligible key, AND a
|
|
215
|
+
// verifying signature. Deduplicate — same key never counts twice.
|
|
216
|
+
const counted = new Set();
|
|
217
|
+
for (let i = 0; i < signatures.length; i++) {
|
|
218
|
+
const s = signatures[i];
|
|
219
|
+
if (s.keyClass !== req.role)
|
|
220
|
+
continue;
|
|
221
|
+
if (!req.eligibleKeys.includes(s.publicKey)) {
|
|
222
|
+
errors.push(`Class '${req.role}': key ${s.publicKey.slice(0, 8)}... is not eligible`);
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
if (!signatureValid[i]) {
|
|
226
|
+
errors.push(`Class '${req.role}': invalid signature from ${s.publicKey.slice(0, 8)}...`);
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
counted.add(s.publicKey);
|
|
230
|
+
}
|
|
231
|
+
const collected = counted.size;
|
|
194
232
|
const satisfied = collected >= req.requiredSignatures;
|
|
195
233
|
if (!satisfied) {
|
|
196
234
|
errors.push(`Class '${req.role}': ${collected}/${req.requiredSignatures} signatures`);
|
|
@@ -205,7 +243,10 @@ export function evaluateThreshold(policy, signatures) {
|
|
|
205
243
|
totalRequired += req.requiredSignatures;
|
|
206
244
|
}
|
|
207
245
|
return {
|
|
208
|
-
met
|
|
246
|
+
// met is the conjunction of class satisfaction. errors[] may name
|
|
247
|
+
// excluded signatures even when the threshold is met, so it can no
|
|
248
|
+
// longer double as the met signal.
|
|
249
|
+
met: classStatus.every(c => c.satisfied),
|
|
209
250
|
classStatus,
|
|
210
251
|
totalValidSignatures: totalValid,
|
|
211
252
|
totalRequired,
|
|
@@ -309,13 +350,15 @@ export function verifyAmendment(amendment, charter) {
|
|
|
309
350
|
errors.push(`Signature verification failed for ${sig.publicKey.slice(0, 8)}...`);
|
|
310
351
|
}
|
|
311
352
|
}
|
|
312
|
-
// 4. Threshold met
|
|
353
|
+
// 4. Threshold met. Amendment signatures are produced over
|
|
354
|
+
// amendmentSignContent (createAmendment/signAmendment), so counting
|
|
355
|
+
// re-verifies each signature over those exact bytes.
|
|
313
356
|
const thresholdEval = evaluateThreshold(charter.amendmentPolicy, amendment.signatures.map(s => ({
|
|
314
357
|
publicKey: s.publicKey,
|
|
315
358
|
keyClass: s.role,
|
|
316
359
|
signedAt: s.signedAt,
|
|
317
360
|
signature: s.signature,
|
|
318
|
-
})));
|
|
361
|
+
})), sigContent);
|
|
319
362
|
const thresholdMet = thresholdEval.met;
|
|
320
363
|
if (!thresholdMet)
|
|
321
364
|
errors.push('Amendment does not meet charter amendment policy threshold');
|
|
@@ -392,6 +435,12 @@ export function createApprovalRequest(policyId, subject, subjectType, requestedB
|
|
|
392
435
|
status: 'pending',
|
|
393
436
|
};
|
|
394
437
|
}
|
|
438
|
+
/** Canonical content an approval signer signs. The requestId binds the
|
|
439
|
+
* signature to this request; the subject binds it to the approved action.
|
|
440
|
+
* This is the threshold subject evaluateApprovalRequest verifies against. */
|
|
441
|
+
export function approvalSignContent(request) {
|
|
442
|
+
return request.requestId + ':' + request.subject;
|
|
443
|
+
}
|
|
395
444
|
/** Add a signature to an approval request. Validates the signer
|
|
396
445
|
* is not a duplicate and the request hasn't expired. */
|
|
397
446
|
export function addApprovalSignature(request, signerPrivateKey, signerPublicKey, keyClass, officeId) {
|
|
@@ -404,7 +453,7 @@ export function addApprovalSignature(request, signerPrivateKey, signerPublicKey,
|
|
|
404
453
|
if (request.signatures.some(s => s.publicKey === signerPublicKey)) {
|
|
405
454
|
throw new Error(`Signer ${signerPublicKey.slice(0, 8)}... already signed`);
|
|
406
455
|
}
|
|
407
|
-
const sigContent = request
|
|
456
|
+
const sigContent = approvalSignContent(request);
|
|
408
457
|
const sig = {
|
|
409
458
|
publicKey: signerPublicKey,
|
|
410
459
|
keyClass,
|
|
@@ -423,7 +472,9 @@ export function addApprovalSignature(request, signerPrivateKey, signerPublicKey,
|
|
|
423
472
|
export function evaluateApprovalRequest(request, policy) {
|
|
424
473
|
const expired = new Date(request.expiresAt) < new Date();
|
|
425
474
|
if (policy.type === 'threshold' && policy.threshold) {
|
|
426
|
-
|
|
475
|
+
// Approval signatures are produced over approvalSignContent(request)
|
|
476
|
+
// (addApprovalSignature), so that is the threshold subject.
|
|
477
|
+
const evaluation = evaluateThreshold(policy.threshold, request.signatures, approvalSignContent(request));
|
|
427
478
|
evaluation.expired = expired;
|
|
428
479
|
const status = expired ? 'expired' :
|
|
429
480
|
evaluation.met ? 'approved' : 'pending';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/core/delegation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/core/delegation.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
import { v4 as uuidv4 } from 'uuid';
|
|
29
29
|
import { sign, verify } from '../crypto/keys.js';
|
|
30
30
|
import { canonicalize } from '../core/canonical.js';
|
|
31
|
+
import { isRecord } from '../core/is-record.js';
|
|
31
32
|
const MOVED = 'This function has moved to DelegationStore in @aeoess/gateway. ' +
|
|
32
33
|
'Instantiate a DelegationStore and call the corresponding method. ' +
|
|
33
34
|
'See MIGRATION.md#delegation-store';
|
|
@@ -185,6 +186,18 @@ export function subDelegate(opts) {
|
|
|
185
186
|
// is drawn exclusively from `opts.cachedRevocationState` — callers that need
|
|
186
187
|
// live revocation enforcement (or ancestor-chain walks) use DelegationStore.
|
|
187
188
|
export function verifyDelegation(delegation, opts) {
|
|
189
|
+
// Null / undefined / non-object (attacker-deliverable JSON `null`) rejects
|
|
190
|
+
// as an invalid delegation rather than throwing on the destructuring below.
|
|
191
|
+
if (!isRecord(delegation)) {
|
|
192
|
+
return {
|
|
193
|
+
valid: false,
|
|
194
|
+
revoked: false,
|
|
195
|
+
expired: false,
|
|
196
|
+
notYetValid: false,
|
|
197
|
+
depthExceeded: false,
|
|
198
|
+
errors: ['Invalid delegation: not an object'],
|
|
199
|
+
};
|
|
200
|
+
}
|
|
188
201
|
const policy = opts?.revocationCheckPolicy ?? 'fail_open';
|
|
189
202
|
const errors = [];
|
|
190
203
|
const { signature, ...unsigned } = delegation;
|
|
@@ -258,6 +271,10 @@ export function verifyDelegation(delegation, opts) {
|
|
|
258
271
|
// REVOCATION SIGNATURE (pure)
|
|
259
272
|
// ══════════════════════════════════════
|
|
260
273
|
export function verifyRevocation(revocation) {
|
|
274
|
+
// Null / undefined / non-object rejects (unverifiable) rather than throwing
|
|
275
|
+
// on the destructuring below.
|
|
276
|
+
if (!isRecord(revocation))
|
|
277
|
+
return false;
|
|
261
278
|
const { signature, ...unsigned } = revocation;
|
|
262
279
|
const canonical = canonicalize(unsigned);
|
|
263
280
|
return verify(canonical, signature, revocation.revokedBy);
|