@kya-os/verifier 1.6.0 → 1.6.1
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/core.d.ts +14 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +167 -35
- package/dist/core.js.map +1 -1
- package/dist/express.js +3 -3
- package/dist/express.js.map +1 -1
- package/dist/worker.js +3 -3
- package/dist/worker.js.map +1 -1
- package/package.json +10 -10
- package/dist/express.d.ts +0 -62
- package/dist/index.d.ts +0 -103
- package/dist/worker.d.ts +0 -158
package/dist/core.d.ts
CHANGED
|
@@ -80,11 +80,25 @@ export declare class VerifierCore {
|
|
|
80
80
|
*
|
|
81
81
|
* This is the cryptographic heart of the verification process.
|
|
82
82
|
* It ensures the proof was signed by the claimed identity.
|
|
83
|
+
*
|
|
84
|
+
* CRITICAL for full JWS: proof.meta must match the signed JWT payload.
|
|
85
|
+
* Otherwise an attacker could tamper with meta (audience, timestamp, nonce)
|
|
86
|
+
* while keeping a valid signature. We validate meta against the decoded
|
|
87
|
+
* payload before trusting meta for any security decisions.
|
|
83
88
|
*/
|
|
84
89
|
private verifySignature;
|
|
90
|
+
/**
|
|
91
|
+
* Validate that proof.meta matches the decoded JWT payload.
|
|
92
|
+
* Required for full JWS to prevent meta tampering (audience, timestamp, nonce)
|
|
93
|
+
* while keeping a valid signature. Returns StructuredError on mismatch.
|
|
94
|
+
*/
|
|
95
|
+
private validateMetaMatchesPayload;
|
|
85
96
|
/**
|
|
86
97
|
* Create canonical payload that matches runtime implementation
|
|
87
98
|
* Uses JSON Canonicalization Scheme (JCS) RFC 8785 for deterministic ordering
|
|
99
|
+
*
|
|
100
|
+
* CRITICAL: Must match the JWT payload structure used by proof generators.
|
|
101
|
+
* Generators use standard JWT claims (aud, sub, iss) plus custom claims.
|
|
88
102
|
*/
|
|
89
103
|
private createCanonicalPayload;
|
|
90
104
|
/**
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,4BAA4B,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,eAAe,CAAuC;gBAElD,MAAM,GAAE,cAAmB;IAavC;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,4BAA4B,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,eAAe,CAAuC;gBAElD,MAAM,GAAE,cAAmB;IAavC;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqFnE;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkG9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsFzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;;;;;;;;;OAUG;YACW,eAAe;IAuK7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAiHlC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;YACW,gBAAgB;IAwF9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA6ClC;;OAEG;YACW,uBAAuB;IAyBrC;;OAEG;YACW,gBAAgB;IAiD9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACI,YAAY,IAAI,IAAI;CAe5B"}
|
package/dist/core.js
CHANGED
|
@@ -14,9 +14,9 @@ export class VerifierCore {
|
|
|
14
14
|
this.config = {
|
|
15
15
|
ktaBaseUrl: config.ktaBaseUrl || "https://knowthat.ai",
|
|
16
16
|
enableDelegationCheck: config.enableDelegationCheck ?? true,
|
|
17
|
-
clockSkewTolerance: config.clockSkewTolerance ??
|
|
17
|
+
clockSkewTolerance: config.clockSkewTolerance ?? 300, // 5 minutes (generous for clock drift)
|
|
18
18
|
sessionTimeout: config.sessionTimeout ?? 1800, // 30 minutes
|
|
19
|
-
proofMaxAge: config.proofMaxAge ??
|
|
19
|
+
proofMaxAge: config.proofMaxAge ?? 600, // 10 minutes (must be > clockSkewTolerance)
|
|
20
20
|
allowMockData: config.allowMockData ?? false,
|
|
21
21
|
didCacheTtl: config.didCacheTtl ?? 300, // 5 minutes
|
|
22
22
|
delegationCacheTtl: config.delegationCacheTtl ?? 60, // 1 minute
|
|
@@ -49,8 +49,8 @@ export class VerifierCore {
|
|
|
49
49
|
this.logVerificationAttempt(context, false, audienceError.code);
|
|
50
50
|
return this.createErrorResult(audienceError);
|
|
51
51
|
}
|
|
52
|
-
// 4. Verify Ed25519 signature
|
|
53
|
-
const signatureError = await this.verifySignature(context.proof);
|
|
52
|
+
// 4. Verify Ed25519 signature (for full JWS, also validates meta matches signed payload)
|
|
53
|
+
const signatureError = await this.verifySignature(context.proof, context.audience);
|
|
54
54
|
if (signatureError) {
|
|
55
55
|
this.logVerificationAttempt(context, false, signatureError.code);
|
|
56
56
|
return this.createErrorResult(signatureError);
|
|
@@ -283,22 +283,27 @@ export class VerifierCore {
|
|
|
283
283
|
*
|
|
284
284
|
* This is the cryptographic heart of the verification process.
|
|
285
285
|
* It ensures the proof was signed by the claimed identity.
|
|
286
|
+
*
|
|
287
|
+
* CRITICAL for full JWS: proof.meta must match the signed JWT payload.
|
|
288
|
+
* Otherwise an attacker could tamper with meta (audience, timestamp, nonce)
|
|
289
|
+
* while keeping a valid signature. We validate meta against the decoded
|
|
290
|
+
* payload before trusting meta for any security decisions.
|
|
286
291
|
*/
|
|
287
|
-
async verifySignature(proof) {
|
|
292
|
+
async verifySignature(proof, expectedAudience) {
|
|
288
293
|
try {
|
|
289
294
|
// For testing with mock data, skip actual signature verification
|
|
290
295
|
if (this.config.allowMockData && proof.meta.did.startsWith("did:test:")) {
|
|
291
|
-
// Parse JWS components for basic validation
|
|
296
|
+
// Parse JWS components for basic validation (support both full and detached formats)
|
|
292
297
|
const jwsParts = proof.jws.split(".");
|
|
293
|
-
if (jwsParts.length !== 3
|
|
298
|
+
if (jwsParts.length !== 3) {
|
|
294
299
|
return {
|
|
295
300
|
code: "XMCP_I_EBADPROOF",
|
|
296
|
-
message: "Invalid
|
|
301
|
+
message: "Invalid JWS format",
|
|
297
302
|
httpStatus: 403,
|
|
298
303
|
details: {
|
|
299
|
-
reason: "
|
|
300
|
-
expected: "
|
|
301
|
-
received: `${jwsParts.length} parts
|
|
304
|
+
reason: "JWS must have 3 parts (header.payload.signature)",
|
|
305
|
+
expected: "3 parts",
|
|
306
|
+
received: `${jwsParts.length} parts`,
|
|
302
307
|
},
|
|
303
308
|
};
|
|
304
309
|
}
|
|
@@ -331,21 +336,22 @@ export class VerifierCore {
|
|
|
331
336
|
// Mock signature verification passes for test DIDs
|
|
332
337
|
return null;
|
|
333
338
|
}
|
|
334
|
-
// Parse JWS components -
|
|
339
|
+
// Parse JWS components - support both full JWS and detached format
|
|
335
340
|
const jwsParts = proof.jws.split(".");
|
|
336
|
-
if (jwsParts.length !== 3
|
|
341
|
+
if (jwsParts.length !== 3) {
|
|
337
342
|
return {
|
|
338
343
|
code: "XMCP_I_EBADPROOF",
|
|
339
|
-
message: "Invalid
|
|
344
|
+
message: "Invalid JWS format",
|
|
340
345
|
httpStatus: 403,
|
|
341
346
|
details: {
|
|
342
|
-
reason: "
|
|
343
|
-
expected: "
|
|
344
|
-
received: `${jwsParts.length} parts
|
|
347
|
+
reason: "JWS must have 3 parts (header.payload.signature)",
|
|
348
|
+
expected: "3 parts",
|
|
349
|
+
received: `${jwsParts.length} parts`,
|
|
345
350
|
},
|
|
346
351
|
};
|
|
347
352
|
}
|
|
348
|
-
const [headerB64, , signatureB64] = jwsParts;
|
|
353
|
+
const [headerB64, payloadB64Part, signatureB64] = jwsParts;
|
|
354
|
+
const isDetached = payloadB64Part === "";
|
|
349
355
|
// Parse and validate header
|
|
350
356
|
const header = JSON.parse(Buffer.from(headerB64, "base64url").toString());
|
|
351
357
|
if (header.alg !== "EdDSA") {
|
|
@@ -385,16 +391,31 @@ export class VerifierCore {
|
|
|
385
391
|
},
|
|
386
392
|
};
|
|
387
393
|
}
|
|
388
|
-
//
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
+
// Handle both full JWS (from generators) and detached JWS formats
|
|
395
|
+
let completeJWS;
|
|
396
|
+
if (isDetached) {
|
|
397
|
+
// Detached format: reconstruct payload from proof meta (meta is cryptographically bound)
|
|
398
|
+
const canonicalPayload = this.createCanonicalPayload(proof.meta);
|
|
399
|
+
const payloadB64 = Buffer.from(canonicalPayload, "utf8").toString("base64url");
|
|
400
|
+
completeJWS = `${headerB64}.${payloadB64}.${signatureB64}`;
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
// Full JWS format: validate proof.meta matches the signed payload.
|
|
404
|
+
// Without this, an attacker could tamper with meta (audience, ts, nonce)
|
|
405
|
+
// while keeping a valid JWS, bypassing security checks.
|
|
406
|
+
const payload = JSON.parse(Buffer.from(payloadB64Part, "base64url").toString("utf8"));
|
|
407
|
+
const metaMismatch = this.validateMetaMatchesPayload(proof.meta, payload);
|
|
408
|
+
if (metaMismatch) {
|
|
409
|
+
return metaMismatch;
|
|
410
|
+
}
|
|
411
|
+
completeJWS = proof.jws;
|
|
412
|
+
}
|
|
394
413
|
// Verify signature using JOSE
|
|
395
414
|
const jwk = await importJWK(publicKey);
|
|
396
415
|
await jwtVerify(completeJWS, jwk, {
|
|
397
416
|
algorithms: ["EdDSA"],
|
|
417
|
+
...(expectedAudience !== undefined &&
|
|
418
|
+
!isDetached && { audience: expectedAudience }),
|
|
398
419
|
});
|
|
399
420
|
return null;
|
|
400
421
|
}
|
|
@@ -410,27 +431,138 @@ export class VerifierCore {
|
|
|
410
431
|
};
|
|
411
432
|
}
|
|
412
433
|
}
|
|
434
|
+
/**
|
|
435
|
+
* Validate that proof.meta matches the decoded JWT payload.
|
|
436
|
+
* Required for full JWS to prevent meta tampering (audience, timestamp, nonce)
|
|
437
|
+
* while keeping a valid signature. Returns StructuredError on mismatch.
|
|
438
|
+
*/
|
|
439
|
+
validateMetaMatchesPayload(meta, payload) {
|
|
440
|
+
// JWT aud can be string or string[] (RFC 7519)
|
|
441
|
+
const payloadAud = payload.aud;
|
|
442
|
+
const audienceMatches = typeof payloadAud === "string"
|
|
443
|
+
? meta.audience === payloadAud
|
|
444
|
+
: Array.isArray(payloadAud) && payloadAud.includes(meta.audience);
|
|
445
|
+
if (!audienceMatches) {
|
|
446
|
+
return {
|
|
447
|
+
code: "XMCP_I_EBADPROOF",
|
|
448
|
+
message: "Invalid proof: meta does not match signed payload",
|
|
449
|
+
httpStatus: 403,
|
|
450
|
+
details: {
|
|
451
|
+
reason: "proof.meta.audience does not match JWT payload aud",
|
|
452
|
+
expected: payloadAud,
|
|
453
|
+
received: meta.audience,
|
|
454
|
+
remediation: "Ensure proof.meta matches the signed JWS payload; tampering detected",
|
|
455
|
+
},
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
const checks = [
|
|
459
|
+
{ metaVal: meta.did, payloadKey: "sub", payloadVal: payload.sub },
|
|
460
|
+
{ metaVal: meta.did, payloadKey: "iss", payloadVal: payload.iss },
|
|
461
|
+
{
|
|
462
|
+
metaVal: meta.requestHash,
|
|
463
|
+
payloadKey: "requestHash",
|
|
464
|
+
payloadVal: payload.requestHash,
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
metaVal: meta.responseHash,
|
|
468
|
+
payloadKey: "responseHash",
|
|
469
|
+
payloadVal: payload.responseHash,
|
|
470
|
+
},
|
|
471
|
+
{ metaVal: meta.ts, payloadKey: "ts", payloadVal: payload.ts },
|
|
472
|
+
{ metaVal: meta.nonce, payloadKey: "nonce", payloadVal: payload.nonce },
|
|
473
|
+
{
|
|
474
|
+
metaVal: meta.sessionId,
|
|
475
|
+
payloadKey: "sessionId",
|
|
476
|
+
payloadVal: payload.sessionId,
|
|
477
|
+
},
|
|
478
|
+
];
|
|
479
|
+
for (const { metaVal, payloadKey, payloadVal } of checks) {
|
|
480
|
+
if (metaVal !== payloadVal) {
|
|
481
|
+
return {
|
|
482
|
+
code: "XMCP_I_EBADPROOF",
|
|
483
|
+
message: "Invalid proof: meta does not match signed payload",
|
|
484
|
+
httpStatus: 403,
|
|
485
|
+
details: {
|
|
486
|
+
reason: `proof.meta does not match JWT payload (${payloadKey})`,
|
|
487
|
+
expected: payloadVal,
|
|
488
|
+
received: metaVal,
|
|
489
|
+
remediation: "Ensure proof.meta matches the signed JWS payload; tampering detected",
|
|
490
|
+
},
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
// Optional fields - use truthiness semantics to match generators.
|
|
495
|
+
// Generators use `...(meta.scopeId && { scopeId })` so falsy values ("" or null)
|
|
496
|
+
// are excluded from the signed payload. We must not report mismatch when
|
|
497
|
+
// meta has falsy value but payload omits the field.
|
|
498
|
+
const checkOptional = (metaVal, payloadVal, field) => {
|
|
499
|
+
const metaHas = !!metaVal;
|
|
500
|
+
const payloadHas = payloadVal !== undefined;
|
|
501
|
+
if (metaHas !== payloadHas) {
|
|
502
|
+
return {
|
|
503
|
+
code: "XMCP_I_EBADPROOF",
|
|
504
|
+
message: "Invalid proof: meta does not match signed payload",
|
|
505
|
+
httpStatus: 403,
|
|
506
|
+
details: {
|
|
507
|
+
reason: `proof.meta.${field} does not match JWT payload ${field}`,
|
|
508
|
+
expected: payloadVal,
|
|
509
|
+
received: metaVal,
|
|
510
|
+
remediation: "Ensure proof.meta matches the signed JWS payload",
|
|
511
|
+
},
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
if (metaHas && metaVal !== payloadVal) {
|
|
515
|
+
return {
|
|
516
|
+
code: "XMCP_I_EBADPROOF",
|
|
517
|
+
message: "Invalid proof: meta does not match signed payload",
|
|
518
|
+
httpStatus: 403,
|
|
519
|
+
details: {
|
|
520
|
+
reason: `proof.meta.${field} does not match JWT payload ${field}`,
|
|
521
|
+
expected: payloadVal,
|
|
522
|
+
received: metaVal,
|
|
523
|
+
remediation: "Ensure proof.meta matches the signed JWS payload",
|
|
524
|
+
},
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
return null;
|
|
528
|
+
};
|
|
529
|
+
const scopeErr = checkOptional(meta.scopeId, payload.scopeId, "scopeId");
|
|
530
|
+
if (scopeErr)
|
|
531
|
+
return scopeErr;
|
|
532
|
+
const delegErr = checkOptional(meta.delegationRef, payload.delegationRef, "delegationRef");
|
|
533
|
+
if (delegErr)
|
|
534
|
+
return delegErr;
|
|
535
|
+
const clientErr = checkOptional(meta.clientDid, payload.clientDid, "clientDid");
|
|
536
|
+
if (clientErr)
|
|
537
|
+
return clientErr;
|
|
538
|
+
return null;
|
|
539
|
+
}
|
|
413
540
|
/**
|
|
414
541
|
* Create canonical payload that matches runtime implementation
|
|
415
542
|
* Uses JSON Canonicalization Scheme (JCS) RFC 8785 for deterministic ordering
|
|
543
|
+
*
|
|
544
|
+
* CRITICAL: Must match the JWT payload structure used by proof generators.
|
|
545
|
+
* Generators use standard JWT claims (aud, sub, iss) plus custom claims.
|
|
416
546
|
*/
|
|
417
547
|
createCanonicalPayload(meta) {
|
|
418
|
-
//
|
|
548
|
+
// Reconstruct the exact JWT payload structure used by generators
|
|
549
|
+
// (see packages/mcp-i/src/runtime/proof.ts and packages/mcp-i-cloudflare/src/proof-generator.ts)
|
|
419
550
|
const payload = {
|
|
420
|
-
|
|
421
|
-
|
|
551
|
+
// Standard JWT claims (RFC 7519)
|
|
552
|
+
aud: meta.audience, // Audience (who the token is for)
|
|
553
|
+
sub: meta.did, // Subject (agent DID)
|
|
554
|
+
iss: meta.did, // Issuer (agent DID - self-issued)
|
|
555
|
+
// Custom MCP-I proof claims
|
|
422
556
|
requestHash: meta.requestHash,
|
|
423
557
|
responseHash: meta.responseHash,
|
|
424
|
-
sessionId: meta.sessionId,
|
|
425
558
|
ts: meta.ts,
|
|
559
|
+
nonce: meta.nonce,
|
|
560
|
+
sessionId: meta.sessionId,
|
|
561
|
+
// Optional claims (only include if present)
|
|
562
|
+
...(meta.scopeId && { scopeId: meta.scopeId }),
|
|
563
|
+
...(meta.delegationRef && { delegationRef: meta.delegationRef }),
|
|
564
|
+
...(meta.clientDid && { clientDid: meta.clientDid }),
|
|
426
565
|
};
|
|
427
|
-
// Add optional fields
|
|
428
|
-
if (meta.scopeId) {
|
|
429
|
-
payload.scopeId = meta.scopeId;
|
|
430
|
-
}
|
|
431
|
-
if (meta.delegationRef) {
|
|
432
|
-
payload.delegationRef = meta.delegationRef;
|
|
433
|
-
}
|
|
434
566
|
// Use RFC 8785 compliant JCS canonicalization
|
|
435
567
|
return canonicalize(payload);
|
|
436
568
|
}
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/express.js
CHANGED
|
@@ -4,8 +4,8 @@ import { VerifierCore } from "./core.js";
|
|
|
4
4
|
*/
|
|
5
5
|
function extractProofFromRequest(req) {
|
|
6
6
|
try {
|
|
7
|
-
// Try to get proof from
|
|
8
|
-
const proofHeader = req.headers["
|
|
7
|
+
// Try to get proof from KYA-Proof header
|
|
8
|
+
const proofHeader = req.headers["kya-proof"];
|
|
9
9
|
if (proofHeader) {
|
|
10
10
|
return JSON.parse(proofHeader);
|
|
11
11
|
}
|
|
@@ -47,7 +47,7 @@ export function verifyExpress(config) {
|
|
|
47
47
|
code: "XMCP_I_ENOIDENTITY",
|
|
48
48
|
message: "No proof found in request",
|
|
49
49
|
details: {
|
|
50
|
-
reason: "Request must include proof in
|
|
50
|
+
reason: "Request must include proof in KYA-Proof header or request body",
|
|
51
51
|
remediation: "Ensure XMCP-I client is properly configured",
|
|
52
52
|
},
|
|
53
53
|
});
|
package/dist/express.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAuB,MAAM,WAAW,CAAC;AAW9D;;GAEG;AACH,SAAS,uBAAuB,CAAC,GAAY;IAC3C,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.js
CHANGED
|
@@ -4,8 +4,8 @@ import { VerifierCore } from "./core.js";
|
|
|
4
4
|
*/
|
|
5
5
|
async function extractProofFromRequest(request) {
|
|
6
6
|
try {
|
|
7
|
-
// Try to get proof from
|
|
8
|
-
const proofHeader = request.headers.get("
|
|
7
|
+
// Try to get proof from KYA-Proof header
|
|
8
|
+
const proofHeader = request.headers.get("KYA-Proof");
|
|
9
9
|
if (proofHeader) {
|
|
10
10
|
return JSON.parse(proofHeader);
|
|
11
11
|
}
|
|
@@ -158,7 +158,7 @@ export async function verifyWorker(request, envOrConfig) {
|
|
|
158
158
|
message: "No proof found in request",
|
|
159
159
|
httpStatus: 401,
|
|
160
160
|
details: {
|
|
161
|
-
reason: "Request must include proof in
|
|
161
|
+
reason: "Request must include proof in KYA-Proof header or request body",
|
|
162
162
|
remediation: "Ensure XMCP-I client is properly configured",
|
|
163
163
|
},
|
|
164
164
|
},
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,WAAW,CAAC;AAqD9D;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,OAAgB;IAEhB,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/verifier",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "Isomorphic verifier middleware for XMCP-I proof validation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,14 +23,6 @@
|
|
|
23
23
|
"dist/**/*",
|
|
24
24
|
"README.md"
|
|
25
25
|
],
|
|
26
|
-
"scripts": {
|
|
27
|
-
"build": "tsc -p tsconfig.build.json",
|
|
28
|
-
"dev": "tsc -p tsconfig.build.json --watch",
|
|
29
|
-
"test": "vitest run",
|
|
30
|
-
"test:coverage": "vitest run --coverage",
|
|
31
|
-
"test:watch": "vitest",
|
|
32
|
-
"clean": "rm -rf dist"
|
|
33
|
-
},
|
|
34
26
|
"dependencies": {
|
|
35
27
|
"@kya-os/contracts": "^1.8.0",
|
|
36
28
|
"jose": "^5.2.0",
|
|
@@ -66,5 +58,13 @@
|
|
|
66
58
|
"type": "git",
|
|
67
59
|
"url": "https://github.com/kya-os/xmcp-i.git",
|
|
68
60
|
"directory": "packages/verifier"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "tsc -p tsconfig.build.json",
|
|
64
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"test:coverage": "vitest run --coverage",
|
|
67
|
+
"test:watch": "vitest",
|
|
68
|
+
"clean": "rm -rf dist"
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|
package/dist/express.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { Request, Response, NextFunction } from "express";
|
|
2
|
-
import type { AgentContext } from "@kya-os/contracts/verifier";
|
|
3
|
-
import { type VerifierConfig } from "./core.js";
|
|
4
|
-
/**
|
|
5
|
-
* Extended Express Request with agent context
|
|
6
|
-
*/
|
|
7
|
-
export interface AuthenticatedRequest extends Request {
|
|
8
|
-
ctx?: {
|
|
9
|
-
agent?: AgentContext;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Express verifier middleware
|
|
14
|
-
*
|
|
15
|
-
* @param config - Optional verifier configuration
|
|
16
|
-
* @returns Express middleware function
|
|
17
|
-
*/
|
|
18
|
-
export declare function verifyExpress(config?: VerifierConfig): (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Express middleware factory with custom error handling
|
|
21
|
-
*
|
|
22
|
-
* @param config - Verifier configuration
|
|
23
|
-
* @param errorHandler - Custom error handler
|
|
24
|
-
* @returns Express middleware function
|
|
25
|
-
*/
|
|
26
|
-
export declare function createExpressMiddleware(config?: VerifierConfig, errorHandler?: (error: any, req: Request, res: Response) => void): (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Helper to check if request is authenticated
|
|
29
|
-
*/
|
|
30
|
-
export declare function isAuthenticated(req: AuthenticatedRequest): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Helper to get agent context from authenticated request
|
|
33
|
-
*/
|
|
34
|
-
export declare function getAgentContext(req: AuthenticatedRequest): AgentContext | null;
|
|
35
|
-
/**
|
|
36
|
-
* Example usage:
|
|
37
|
-
*
|
|
38
|
-
* ```typescript
|
|
39
|
-
* import express from 'express';
|
|
40
|
-
* import { verifyExpress, isAuthenticated, getAgentContext } from '@kya-os/verifier/express';
|
|
41
|
-
*
|
|
42
|
-
* const app = express();
|
|
43
|
-
*
|
|
44
|
-
* // Apply verifier middleware
|
|
45
|
-
* app.use(verifyExpress({
|
|
46
|
-
* ktaBaseUrl: 'https://knowthat.ai',
|
|
47
|
-
* enableDelegationCheck: true
|
|
48
|
-
* }));
|
|
49
|
-
*
|
|
50
|
-
* app.post('/api/tools/call', (req, res) => {
|
|
51
|
-
* if (!isAuthenticated(req)) {
|
|
52
|
-
* return res.status(401).json({ error: 'Not authenticated' });
|
|
53
|
-
* }
|
|
54
|
-
*
|
|
55
|
-
* const agent = getAgentContext(req);
|
|
56
|
-
* console.log('Verified agent:', agent?.did);
|
|
57
|
-
*
|
|
58
|
-
* // Handle tool call...
|
|
59
|
-
* });
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
//# sourceMappingURL=express.d.ts.map
|
package/dist/index.d.ts
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @kya-os/verifier - Isomorphic verifier middleware for XMCP-I
|
|
3
|
-
*
|
|
4
|
-
* This package provides the trust infrastructure for AI agent interactions.
|
|
5
|
-
* It verifies agent identity, validates cryptographic proofs, and injects
|
|
6
|
-
* trusted headers for downstream services.
|
|
7
|
-
*
|
|
8
|
-
* Key Features:
|
|
9
|
-
* - Isomorphic core works in both Cloudflare Workers and Express
|
|
10
|
-
* - Ed25519 signature verification with detached JWS
|
|
11
|
-
* - DID document resolution and caching
|
|
12
|
-
* - KTA delegation checking
|
|
13
|
-
* - Comprehensive error handling and logging
|
|
14
|
-
* - Production-ready performance optimizations
|
|
15
|
-
*/
|
|
16
|
-
export { VerifierCore } from "./core.js";
|
|
17
|
-
export type { VerifierConfig, VerificationContext } from "./core.js";
|
|
18
|
-
export { verifyWorker, createWorkerMiddleware, applyVerificationToResponse, } from "./worker.js";
|
|
19
|
-
export { verifyExpress, createExpressMiddleware, isAuthenticated, getAgentContext, } from "./express.js";
|
|
20
|
-
export type { AuthenticatedRequest } from "./express.js";
|
|
21
|
-
export type { VerifierResult, AgentContext, StructuredError, } from "@kya-os/contracts/verifier";
|
|
22
|
-
export type { DetachedProof, ProofMeta } from "@kya-os/contracts/proof";
|
|
23
|
-
export { AGENT_HEADERS, ERROR_HTTP_STATUS } from "@kya-os/contracts/verifier";
|
|
24
|
-
export declare const VERIFIER_VERSION = "1.0.0";
|
|
25
|
-
/**
|
|
26
|
-
* Example usage:
|
|
27
|
-
*
|
|
28
|
-
* ## Cloudflare Worker
|
|
29
|
-
*
|
|
30
|
-
* ```typescript
|
|
31
|
-
* import { verifyWorker, applyVerificationToResponse } from '@kya-os/verifier';
|
|
32
|
-
*
|
|
33
|
-
* export default {
|
|
34
|
-
* async fetch(request: Request): Promise<Response> {
|
|
35
|
-
* const result = await verifyWorker(request, {
|
|
36
|
-
* ktaBaseUrl: 'https://knowthat.ai',
|
|
37
|
-
* enableDelegationCheck: true
|
|
38
|
-
* });
|
|
39
|
-
*
|
|
40
|
-
* if (!result.success) {
|
|
41
|
-
* return applyVerificationToResponse(result);
|
|
42
|
-
* }
|
|
43
|
-
*
|
|
44
|
-
* // Agent is verified - process request
|
|
45
|
-
* const response = await handleVerifiedRequest(request, result.agentContext);
|
|
46
|
-
* return applyVerificationToResponse(result, response);
|
|
47
|
-
* }
|
|
48
|
-
* }
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* ## Express
|
|
52
|
-
*
|
|
53
|
-
* ```typescript
|
|
54
|
-
* import express from 'express';
|
|
55
|
-
* import { verifyExpress, isAuthenticated, getAgentContext } from '@kya-os/verifier';
|
|
56
|
-
*
|
|
57
|
-
* const app = express();
|
|
58
|
-
*
|
|
59
|
-
* // Apply verifier middleware
|
|
60
|
-
* app.use(verifyExpress({
|
|
61
|
-
* ktaBaseUrl: 'https://knowthat.ai',
|
|
62
|
-
* enableDelegationCheck: true
|
|
63
|
-
* }));
|
|
64
|
-
*
|
|
65
|
-
* app.post('/api/tools/call', (req, res) => {
|
|
66
|
-
* if (!isAuthenticated(req)) {
|
|
67
|
-
* return res.status(401).json({ error: 'Not authenticated' });
|
|
68
|
-
* }
|
|
69
|
-
*
|
|
70
|
-
* const agent = getAgentContext(req);
|
|
71
|
-
* console.log('Verified agent:', agent?.did);
|
|
72
|
-
*
|
|
73
|
-
* // Handle tool call with verified agent context
|
|
74
|
-
* res.json({ success: true, agent: agent?.did });
|
|
75
|
-
* });
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* ## Core Verifier (Custom Integration)
|
|
79
|
-
*
|
|
80
|
-
* ```typescript
|
|
81
|
-
* import { VerifierCore } from '@kya-os/verifier';
|
|
82
|
-
*
|
|
83
|
-
* const verifier = new VerifierCore({
|
|
84
|
-
* ktaBaseUrl: 'https://knowthat.ai',
|
|
85
|
-
* enableDelegationCheck: true,
|
|
86
|
-
* clockSkewTolerance: 120
|
|
87
|
-
* });
|
|
88
|
-
*
|
|
89
|
-
* const result = await verifier.verify({
|
|
90
|
-
* proof: detachedProof,
|
|
91
|
-
* audience: 'example.com',
|
|
92
|
-
* timestamp: Math.floor(Date.now() / 1000)
|
|
93
|
-
* });
|
|
94
|
-
*
|
|
95
|
-
* if (result.success) {
|
|
96
|
-
* console.log('Agent verified:', result.agentContext?.did);
|
|
97
|
-
* // Apply headers: result.headers
|
|
98
|
-
* } else {
|
|
99
|
-
* console.error('Verification failed:', result.error);
|
|
100
|
-
* }
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/worker.d.ts
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import type { VerifierResult } from "@kya-os/contracts/verifier";
|
|
2
|
-
import { type VerifierConfig } from "./core.js";
|
|
3
|
-
/**
|
|
4
|
-
* Cloudflare Worker environment bindings
|
|
5
|
-
* Extend this interface in your Worker to add custom bindings
|
|
6
|
-
*/
|
|
7
|
-
export interface WorkerEnv {
|
|
8
|
-
NONCE_CACHE?: KVNamespace;
|
|
9
|
-
KYA_API_URL?: string;
|
|
10
|
-
KYA_API_KEY?: string;
|
|
11
|
-
XMCP_I_TS_SKEW_SEC?: string;
|
|
12
|
-
XMCP_I_SESSION_TTL?: string;
|
|
13
|
-
PROOF_MAX_AGE_SEC?: string;
|
|
14
|
-
KYA_VOUCHED_API_KEY?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Cloudflare KV Namespace interface
|
|
18
|
-
*/
|
|
19
|
-
export interface KVNamespace {
|
|
20
|
-
get(key: string, options?: {
|
|
21
|
-
type?: "text" | "json" | "arrayBuffer" | "stream";
|
|
22
|
-
}): Promise<any>;
|
|
23
|
-
put(key: string, value: string | ArrayBuffer | ReadableStream, options?: {
|
|
24
|
-
expiration?: number;
|
|
25
|
-
expirationTtl?: number;
|
|
26
|
-
}): Promise<void>;
|
|
27
|
-
delete(key: string): Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Worker-specific verifier configuration
|
|
31
|
-
*/
|
|
32
|
-
export interface WorkerVerifierConfig extends VerifierConfig {
|
|
33
|
-
/**
|
|
34
|
-
* KV namespace for nonce caching (prevents replay attacks)
|
|
35
|
-
* Bind in wrangler.toml: [[kv_namespaces]] binding = "NONCE_CACHE"
|
|
36
|
-
*/
|
|
37
|
-
kvNamespace?: KVNamespace;
|
|
38
|
-
/**
|
|
39
|
-
* Nonce cache TTL in seconds
|
|
40
|
-
* @default 1800 (30 minutes)
|
|
41
|
-
*/
|
|
42
|
-
nonceTtl?: number;
|
|
43
|
-
/**
|
|
44
|
-
* Allow mock data for testing (NEVER use in production)
|
|
45
|
-
* @default false
|
|
46
|
-
*/
|
|
47
|
-
allowMockData?: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Create verifier config from Worker environment
|
|
51
|
-
*
|
|
52
|
-
* @param env - Worker environment bindings
|
|
53
|
-
* @param overrides - Optional config overrides
|
|
54
|
-
* @returns WorkerVerifierConfig
|
|
55
|
-
*/
|
|
56
|
-
export declare function createConfigFromEnv(env: WorkerEnv, overrides?: Partial<WorkerVerifierConfig>): WorkerVerifierConfig;
|
|
57
|
-
/**
|
|
58
|
-
* Cloudflare Worker verifier function
|
|
59
|
-
*
|
|
60
|
-
* Usage with environment bindings:
|
|
61
|
-
* ```typescript
|
|
62
|
-
* export default {
|
|
63
|
-
* async fetch(request: Request, env: WorkerEnv): Promise<Response> {
|
|
64
|
-
* // Config is automatically cached per worker instance
|
|
65
|
-
* const result = await verifyWorker(request, env);
|
|
66
|
-
*
|
|
67
|
-
* if (!result.success) {
|
|
68
|
-
* return applyVerificationToResponse(result);
|
|
69
|
-
* }
|
|
70
|
-
*
|
|
71
|
-
* // Continue with verified request...
|
|
72
|
-
* }
|
|
73
|
-
* }
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* @param request - The incoming request
|
|
77
|
-
* @param envOrConfig - Worker environment or verifier configuration
|
|
78
|
-
* @returns Promise<VerifierResult> - Verification result with headers or error
|
|
79
|
-
*/
|
|
80
|
-
export declare function verifyWorker(request: Request, envOrConfig?: WorkerEnv | WorkerVerifierConfig): Promise<VerifierResult>;
|
|
81
|
-
/**
|
|
82
|
-
* Cloudflare Worker middleware factory
|
|
83
|
-
*
|
|
84
|
-
* Creates a middleware function that can be used in Worker request handlers
|
|
85
|
-
*
|
|
86
|
-
* @param config - Optional verifier configuration
|
|
87
|
-
* @returns Middleware function
|
|
88
|
-
*/
|
|
89
|
-
export declare function createWorkerMiddleware(config?: VerifierConfig): (request: Request) => Promise<VerifierResult>;
|
|
90
|
-
/**
|
|
91
|
-
* Helper to apply verification result to a Response
|
|
92
|
-
*
|
|
93
|
-
* @param result - Verification result
|
|
94
|
-
* @param response - Response to modify
|
|
95
|
-
* @returns Modified response with headers or error response
|
|
96
|
-
*/
|
|
97
|
-
export declare function applyVerificationToResponse(result: VerifierResult, response?: Response): Response;
|
|
98
|
-
/**
|
|
99
|
-
* Complete example with environment bindings and KV nonce cache
|
|
100
|
-
*
|
|
101
|
-
* wrangler.toml:
|
|
102
|
-
* ```toml
|
|
103
|
-
* name = "my-mcp-verifier"
|
|
104
|
-
* main = "src/index.ts"
|
|
105
|
-
* compatibility_date = "2024-01-01"
|
|
106
|
-
*
|
|
107
|
-
* [[kv_namespaces]]
|
|
108
|
-
* binding = "NONCE_CACHE"
|
|
109
|
-
* id = "your-kv-namespace-id"
|
|
110
|
-
*
|
|
111
|
-
* [vars]
|
|
112
|
-
* KYA_API_URL = "https://knowthat.ai"
|
|
113
|
-
* ```
|
|
114
|
-
*
|
|
115
|
-
* src/index.ts:
|
|
116
|
-
* ```typescript
|
|
117
|
-
* import { verifyWorker, applyVerificationToResponse, type WorkerEnv } from "@kya-os/verifier/worker";
|
|
118
|
-
*
|
|
119
|
-
* export default {
|
|
120
|
-
* async fetch(request: Request, env: WorkerEnv): Promise<Response> {
|
|
121
|
-
* // Pass env directly - config is automatically cached per worker instance
|
|
122
|
-
* const result = await verifyWorker(request, env);
|
|
123
|
-
*
|
|
124
|
-
* if (!result.success) {
|
|
125
|
-
* return applyVerificationToResponse(result);
|
|
126
|
-
* }
|
|
127
|
-
*
|
|
128
|
-
* // Access verified agent context
|
|
129
|
-
* const agentDID = result.agentContext?.did;
|
|
130
|
-
* const agentScopes = result.agentContext?.scopes || [];
|
|
131
|
-
*
|
|
132
|
-
* // Continue with verified request
|
|
133
|
-
* const response = new Response(JSON.stringify({
|
|
134
|
-
* message: "Verified!",
|
|
135
|
-
* agent: result.agentContext
|
|
136
|
-
* }), {
|
|
137
|
-
* headers: { "Content-Type": "application/json" }
|
|
138
|
-
* });
|
|
139
|
-
*
|
|
140
|
-
* // Add verification headers to response
|
|
141
|
-
* return applyVerificationToResponse(result, response);
|
|
142
|
-
* }
|
|
143
|
-
* }
|
|
144
|
-
* ```
|
|
145
|
-
*
|
|
146
|
-
* Deploy:
|
|
147
|
-
* ```bash
|
|
148
|
-
* # Create KV namespace
|
|
149
|
-
* wrangler kv:namespace create NONCE_CACHE
|
|
150
|
-
*
|
|
151
|
-
* # Add secrets
|
|
152
|
-
* wrangler secret put KYA_VOUCHED_API_KEY
|
|
153
|
-
*
|
|
154
|
-
* # Deploy
|
|
155
|
-
* wrangler deploy
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
//# sourceMappingURL=worker.d.ts.map
|