agent-passport-system 2.1.0 → 2.3.0-alpha
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 +2 -2
- package/dist/src/adapters/mutual-auth-a2a.d.ts +53 -0
- package/dist/src/adapters/mutual-auth-a2a.d.ts.map +1 -0
- package/dist/src/adapters/mutual-auth-a2a.js +108 -0
- package/dist/src/adapters/mutual-auth-a2a.js.map +1 -0
- package/dist/src/adapters/mutual-auth-mcp.d.ts +55 -0
- package/dist/src/adapters/mutual-auth-mcp.d.ts.map +1 -0
- package/dist/src/adapters/mutual-auth-mcp.js +107 -0
- package/dist/src/adapters/mutual-auth-mcp.js.map +1 -0
- package/dist/src/core/policy.d.ts +34 -2
- package/dist/src/core/policy.d.ts.map +1 -1
- package/dist/src/core/policy.js +40 -0
- package/dist/src/core/policy.js.map +1 -1
- package/dist/src/decisionReceipt.d.ts +118 -0
- package/dist/src/decisionReceipt.d.ts.map +1 -0
- package/dist/src/decisionReceipt.js +109 -0
- package/dist/src/decisionReceipt.js.map +1 -0
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/policy.d.ts +30 -0
- package/dist/src/types/policy.d.ts.map +1 -1
- package/dist/src/v2/mutual-auth/certificate.d.ts +39 -0
- package/dist/src/v2/mutual-auth/certificate.d.ts.map +1 -0
- package/dist/src/v2/mutual-auth/certificate.js +89 -0
- package/dist/src/v2/mutual-auth/certificate.js.map +1 -0
- package/dist/src/v2/mutual-auth/handshake.d.ts +37 -0
- package/dist/src/v2/mutual-auth/handshake.d.ts.map +1 -0
- package/dist/src/v2/mutual-auth/handshake.js +216 -0
- package/dist/src/v2/mutual-auth/handshake.js.map +1 -0
- package/dist/src/v2/mutual-auth/index.d.ts +8 -0
- package/dist/src/v2/mutual-auth/index.d.ts.map +1 -0
- package/dist/src/v2/mutual-auth/index.js +8 -0
- package/dist/src/v2/mutual-auth/index.js.map +1 -0
- package/dist/src/v2/mutual-auth/trust-bundle.d.ts +20 -0
- package/dist/src/v2/mutual-auth/trust-bundle.d.ts.map +1 -0
- package/dist/src/v2/mutual-auth/trust-bundle.js +45 -0
- package/dist/src/v2/mutual-auth/trust-bundle.js.map +1 -0
- package/dist/src/v2/mutual-auth/types.d.ts +145 -0
- package/dist/src/v2/mutual-auth/types.d.ts.map +1 -0
- package/dist/src/v2/mutual-auth/types.js +19 -0
- package/dist/src/v2/mutual-auth/types.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ const bound = bindWallet({
|
|
|
62
62
|
verifyBoundWallet(bound, 'nano', 'nano_3jb1...') // true
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
**Behavioral (issuer-attested).** Independent issuers (the [insumer-examples](https://github.com/
|
|
65
|
+
**Behavioral (issuer-attested).** Independent issuers (the [insumer-examples](https://github.com/douglasborthwick-crypto/insumer-examples) ecosystem and friends — skyemeta/skyeprofile and 8 others) sign attestations about wallet behavior, sybil signals, and on-chain history. Their signatures stand alone.
|
|
66
66
|
|
|
67
67
|
The two layers compose: a verifier accepting both gets cryptographic proof that **this passport holder controls this address** (structural) **and** that **this address has these behavioral properties** (behavioral). Neither layer claims what the other proves. Multi-attestation envelopes carry both.
|
|
68
68
|
|
|
@@ -123,7 +123,7 @@ Institutional governance: charters, offices, federation, reserves, multi-party a
|
|
|
123
123
|
npx agent-passport-system-mcp
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
20 essential tools by default. Set `APS_PROFILE=full` for all
|
|
126
|
+
20 essential tools by default. Set `APS_PROFILE=full` for all 146 tools. Profiles: essential, identity, governance, coordination, commerce, data, gateway, comms, minimal, full.
|
|
127
127
|
|
|
128
128
|
## Numbers
|
|
129
129
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Mutual Authentication Adapter
|
|
3
|
+
*
|
|
4
|
+
* Layers APS mutual-auth on top of Google A2A Agent Cards. A2A v1.0
|
|
5
|
+
* introduced Signed Agent Cards, which let an agent cryptographically
|
|
6
|
+
* present itself. This adapter closes the asymmetry by also letting
|
|
7
|
+
* an information system present a certificate the agent verifies.
|
|
8
|
+
*
|
|
9
|
+
* Composition boundary:
|
|
10
|
+
* A2A Agent Card — identity discovery (agent → network)
|
|
11
|
+
* APS passport — identity + delegation + attestation grade
|
|
12
|
+
* MutualAuthCert — binding of either party into the handshake
|
|
13
|
+
*
|
|
14
|
+
* This adapter does NOT replace A2A's signed cards. It carries an
|
|
15
|
+
* additional MutualAuthCertificate alongside the card, for scenarios
|
|
16
|
+
* where the peer is an IS (not another agent) and downgrade-proof
|
|
17
|
+
* mutual auth is required.
|
|
18
|
+
*/
|
|
19
|
+
import type { A2AAgentCard } from '../types/a2a.js';
|
|
20
|
+
import type { MutualAuthCertificate, MutualAuthPolicy, TrustAnchor, MutualAuthHello, MutualAuthAttest, MutualAuthResult } from '../v2/mutual-auth/index.js';
|
|
21
|
+
/** Envelope carrying an A2A card + the mutual-auth certificate that
|
|
22
|
+
* binds its identity into handshake scope. */
|
|
23
|
+
export interface A2AMutualAuthEnvelope {
|
|
24
|
+
card: A2AAgentCard;
|
|
25
|
+
certificate: MutualAuthCertificate;
|
|
26
|
+
}
|
|
27
|
+
/** Initiate an A2A mutual-auth exchange from the agent side.
|
|
28
|
+
* Caller owns the nonce supply (or pass none to auto-generate). */
|
|
29
|
+
export declare function a2aBeginHandshake(envelope: A2AMutualAuthEnvelope, now_ms: number, nonce_b64?: string): {
|
|
30
|
+
hello: MutualAuthHello;
|
|
31
|
+
envelope: A2AMutualAuthEnvelope;
|
|
32
|
+
};
|
|
33
|
+
/** The IS side: given the agent's hello, build the IS's attest. */
|
|
34
|
+
export declare function a2aRespondHandshake(peer_hello: MutualAuthHello, own_envelope: A2AMutualAuthEnvelope, own_sk_hex: string, accepted_versions: string[], now_ms: number, own_nonce_b64?: string): MutualAuthAttest | {
|
|
35
|
+
error: 'version_unsupported';
|
|
36
|
+
};
|
|
37
|
+
/** Agent side: verify the IS's attest, then produce the agent's own
|
|
38
|
+
* attest. */
|
|
39
|
+
export declare function a2aCounterAttest(is_attest: MutualAuthAttest, agent_envelope: A2AMutualAuthEnvelope, agent_sk_hex: string, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, agent_nonce_b64: string, is_nonce_b64: string, revoked_anchor_ids?: string[]): MutualAuthAttest | {
|
|
40
|
+
error: string;
|
|
41
|
+
};
|
|
42
|
+
/** Final step on the IS side: verify the agent's attest, then derive
|
|
43
|
+
* the shared session. */
|
|
44
|
+
export declare function a2aFinalizeSession(agent_attest: MutualAuthAttest, is_attest: MutualAuthAttest, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, expected_is_nonce: string, expected_agent_nonce: string, revoked_anchor_ids?: string[]): MutualAuthResult;
|
|
45
|
+
/** Attach an APS mutual-auth certificate to an A2A Agent Card as an
|
|
46
|
+
* extension block. Does not modify core card fields. */
|
|
47
|
+
export declare function attachMutualAuthToA2ACard(card: A2AAgentCard, cert: MutualAuthCertificate): A2AAgentCard & {
|
|
48
|
+
agentPassport: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
/** Extract an APS mutual-auth certificate from an A2A Agent Card
|
|
51
|
+
* extension, or null if absent. */
|
|
52
|
+
export declare function extractMutualAuthFromA2ACard(card: A2AAgentCard): MutualAuthCertificate | null;
|
|
53
|
+
//# sourceMappingURL=mutual-auth-a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutual-auth-a2a.d.ts","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-a2a.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AASnC;+CAC+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,qBAAqB,CAAA;CACnC;AAED;oEACoE;AACpE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,CAQ7D;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,qBAAqB,EACnC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,gBAAgB,GAAG;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAgBrD;AAED;cACc;AACd,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,qBAAqB,EACrC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBtC;AAED;0BAC0B;AAC1B,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,CAiBlB;AAED;yDACyD;AACzD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,qBAAqB,GAC1B,YAAY,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAS3D;AAED;oCACoC;AACpC,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,YAAY,GACjB,qBAAqB,GAAG,IAAI,CAK9B"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* A2A Mutual Authentication Adapter
|
|
4
|
+
*
|
|
5
|
+
* Layers APS mutual-auth on top of Google A2A Agent Cards. A2A v1.0
|
|
6
|
+
* introduced Signed Agent Cards, which let an agent cryptographically
|
|
7
|
+
* present itself. This adapter closes the asymmetry by also letting
|
|
8
|
+
* an information system present a certificate the agent verifies.
|
|
9
|
+
*
|
|
10
|
+
* Composition boundary:
|
|
11
|
+
* A2A Agent Card — identity discovery (agent → network)
|
|
12
|
+
* APS passport — identity + delegation + attestation grade
|
|
13
|
+
* MutualAuthCert — binding of either party into the handshake
|
|
14
|
+
*
|
|
15
|
+
* This adapter does NOT replace A2A's signed cards. It carries an
|
|
16
|
+
* additional MutualAuthCertificate alongside the card, for scenarios
|
|
17
|
+
* where the peer is an IS (not another agent) and downgrade-proof
|
|
18
|
+
* mutual auth is required.
|
|
19
|
+
*/
|
|
20
|
+
import { buildHello, buildAttest, verifyAttest, deriveSession, chooseVersion, } from '../v2/mutual-auth/index.js';
|
|
21
|
+
/** Initiate an A2A mutual-auth exchange from the agent side.
|
|
22
|
+
* Caller owns the nonce supply (or pass none to auto-generate). */
|
|
23
|
+
export function a2aBeginHandshake(envelope, now_ms, nonce_b64) {
|
|
24
|
+
const hello = buildHello('agent', envelope.certificate.supported_versions, now_ms, nonce_b64);
|
|
25
|
+
return { hello, envelope };
|
|
26
|
+
}
|
|
27
|
+
/** The IS side: given the agent's hello, build the IS's attest. */
|
|
28
|
+
export function a2aRespondHandshake(peer_hello, own_envelope, own_sk_hex, accepted_versions, now_ms, own_nonce_b64) {
|
|
29
|
+
const chosen = chooseVersion(peer_hello.supported_versions, accepted_versions);
|
|
30
|
+
if (chosen === null)
|
|
31
|
+
return { error: 'version_unsupported' };
|
|
32
|
+
const { newNonce } = require('../v2/mutual-auth/handshake.js');
|
|
33
|
+
const nonce = own_nonce_b64 ?? newNonce();
|
|
34
|
+
return buildAttest({
|
|
35
|
+
role: 'information_system',
|
|
36
|
+
chosen_version: chosen,
|
|
37
|
+
own_nonce_b64: nonce,
|
|
38
|
+
peer_nonce_b64: peer_hello.nonce_b64,
|
|
39
|
+
certificate: own_envelope.certificate,
|
|
40
|
+
now_ms,
|
|
41
|
+
}, own_sk_hex);
|
|
42
|
+
}
|
|
43
|
+
/** Agent side: verify the IS's attest, then produce the agent's own
|
|
44
|
+
* attest. */
|
|
45
|
+
export function a2aCounterAttest(is_attest, agent_envelope, agent_sk_hex, policy, trust_anchors, now_ms, agent_nonce_b64, is_nonce_b64, revoked_anchor_ids) {
|
|
46
|
+
const res = verifyAttest({
|
|
47
|
+
attest: is_attest,
|
|
48
|
+
expected_peer_nonce_b64: agent_nonce_b64,
|
|
49
|
+
expected_own_nonce_b64: is_nonce_b64,
|
|
50
|
+
policy,
|
|
51
|
+
trust_anchors,
|
|
52
|
+
revoked_anchor_ids,
|
|
53
|
+
now_ms,
|
|
54
|
+
});
|
|
55
|
+
if (!res.ok) {
|
|
56
|
+
return { error: res.reason ?? 'verification_failed' };
|
|
57
|
+
}
|
|
58
|
+
return buildAttest({
|
|
59
|
+
role: 'agent',
|
|
60
|
+
chosen_version: is_attest.chosen_version,
|
|
61
|
+
own_nonce_b64: agent_nonce_b64,
|
|
62
|
+
peer_nonce_b64: is_attest.own_nonce_b64,
|
|
63
|
+
certificate: agent_envelope.certificate,
|
|
64
|
+
now_ms,
|
|
65
|
+
}, agent_sk_hex);
|
|
66
|
+
}
|
|
67
|
+
/** Final step on the IS side: verify the agent's attest, then derive
|
|
68
|
+
* the shared session. */
|
|
69
|
+
export function a2aFinalizeSession(agent_attest, is_attest, policy, trust_anchors, now_ms, expected_is_nonce, expected_agent_nonce, revoked_anchor_ids) {
|
|
70
|
+
const res = verifyAttest({
|
|
71
|
+
attest: agent_attest,
|
|
72
|
+
expected_peer_nonce_b64: expected_is_nonce,
|
|
73
|
+
expected_own_nonce_b64: expected_agent_nonce,
|
|
74
|
+
policy,
|
|
75
|
+
trust_anchors,
|
|
76
|
+
revoked_anchor_ids,
|
|
77
|
+
now_ms,
|
|
78
|
+
});
|
|
79
|
+
if (!res.ok) {
|
|
80
|
+
return {
|
|
81
|
+
ok: false,
|
|
82
|
+
failure: { reason: res.reason ?? 'signature_invalid', detail: res.detail },
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return deriveSession(agent_attest, is_attest, policy, now_ms);
|
|
86
|
+
}
|
|
87
|
+
/** Attach an APS mutual-auth certificate to an A2A Agent Card as an
|
|
88
|
+
* extension block. Does not modify core card fields. */
|
|
89
|
+
export function attachMutualAuthToA2ACard(card, cert) {
|
|
90
|
+
const existing = card.agentPassport ?? { did: '', passportSignature: '' };
|
|
91
|
+
return {
|
|
92
|
+
...card,
|
|
93
|
+
agentPassport: {
|
|
94
|
+
...existing,
|
|
95
|
+
mutualAuthCertificate: cert,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/** Extract an APS mutual-auth certificate from an A2A Agent Card
|
|
100
|
+
* extension, or null if absent. */
|
|
101
|
+
export function extractMutualAuthFromA2ACard(card) {
|
|
102
|
+
const ext = card.agentPassport;
|
|
103
|
+
const cert = ext?.mutualAuthCertificate;
|
|
104
|
+
if (!cert || typeof cert !== 'object')
|
|
105
|
+
return null;
|
|
106
|
+
return cert;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=mutual-auth-a2a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutual-auth-a2a.js","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Mutual Authentication Adapter
|
|
3
|
+
*
|
|
4
|
+
* Layers APS mutual-auth on top of Anthropic's Model Context Protocol.
|
|
5
|
+
* MCP deals in tool calls between a client (agent) and a server (IS).
|
|
6
|
+
* This adapter binds both sides into a signed mutual-auth session so
|
|
7
|
+
* that a tool call receipt can later reference which authenticated
|
|
8
|
+
* session produced it.
|
|
9
|
+
*
|
|
10
|
+
* Composition boundary:
|
|
11
|
+
* MCP server/client handshake — capability discovery
|
|
12
|
+
* APS mutual-auth — identity proof + session binding
|
|
13
|
+
* APS action receipts — per-tool-call proof inside session
|
|
14
|
+
*
|
|
15
|
+
* This adapter works with any MCP server and any MCP client. It does
|
|
16
|
+
* NOT depend on the MCP SDK. It is a pure mapping layer.
|
|
17
|
+
*/
|
|
18
|
+
import type { MutualAuthCertificate, MutualAuthPolicy, TrustAnchor, MutualAuthHello, MutualAuthAttest, MutualAuthResult, MutualAuthSession } from '../v2/mutual-auth/index.js';
|
|
19
|
+
/** MCP-specific binding helper: convert an MCP server URL into the
|
|
20
|
+
* `binding` value for an IS certificate. */
|
|
21
|
+
export declare function mcpServerBinding(server_url: string): string;
|
|
22
|
+
/** Agent-side: start the handshake against an MCP server. */
|
|
23
|
+
export declare function mcpBeginHandshake(agent_cert: MutualAuthCertificate, now_ms: number, nonce_b64?: string): {
|
|
24
|
+
hello: MutualAuthHello;
|
|
25
|
+
agent_nonce: string;
|
|
26
|
+
};
|
|
27
|
+
/** Server-side: respond to an agent hello with the IS attest. */
|
|
28
|
+
export declare function mcpRespondHandshake(agent_hello: MutualAuthHello, is_cert: MutualAuthCertificate, is_sk_hex: string, accepted_versions: string[], now_ms: number, is_nonce_b64?: string): {
|
|
29
|
+
attest: MutualAuthAttest;
|
|
30
|
+
is_nonce: string;
|
|
31
|
+
} | {
|
|
32
|
+
error: 'version_unsupported';
|
|
33
|
+
};
|
|
34
|
+
/** Agent-side: verify the IS attest, produce the agent attest back. */
|
|
35
|
+
export declare function mcpCounterAttest(is_attest: MutualAuthAttest, agent_cert: MutualAuthCertificate, agent_sk_hex: string, agent_nonce_b64: string, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, revoked_anchor_ids?: string[]): {
|
|
36
|
+
attest: MutualAuthAttest;
|
|
37
|
+
} | {
|
|
38
|
+
error: string;
|
|
39
|
+
detail?: string;
|
|
40
|
+
};
|
|
41
|
+
/** Server-side: verify the agent attest, derive the shared session. */
|
|
42
|
+
export declare function mcpFinalizeSession(agent_attest: MutualAuthAttest, is_attest: MutualAuthAttest, policy: MutualAuthPolicy, trust_anchors: TrustAnchor[], now_ms: number, revoked_anchor_ids?: string[]): MutualAuthResult;
|
|
43
|
+
/** Helper: check whether an MCP tool call is permitted under the
|
|
44
|
+
* established session. Verifies (a) session is still active and
|
|
45
|
+
* (b) the session's IS cert binding matches the MCP server URL. */
|
|
46
|
+
export interface MCPToolCallAuthCheck {
|
|
47
|
+
session: MutualAuthSession;
|
|
48
|
+
server_url: string;
|
|
49
|
+
now_ms: number;
|
|
50
|
+
}
|
|
51
|
+
export declare function mcpIsToolCallPermitted(input: MCPToolCallAuthCheck): {
|
|
52
|
+
ok: boolean;
|
|
53
|
+
reason?: string;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=mutual-auth-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutual-auth-mcp.d.ts","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-mcp.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,4BAA4B,CAAA;AAWnC;6CAC6C;AAC7C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,MAAM,EACd,SAAS,SAAa,GACrB;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAUjD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,YAAY,SAAa,GACxB;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAenF;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,qBAAqB,EACjC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAE3B;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAyBrC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,gBAAgB,CAiBlB;AAED;;oEAEoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,oBAAoB,GAC1B;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CASlC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0 license. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* MCP Mutual Authentication Adapter
|
|
4
|
+
*
|
|
5
|
+
* Layers APS mutual-auth on top of Anthropic's Model Context Protocol.
|
|
6
|
+
* MCP deals in tool calls between a client (agent) and a server (IS).
|
|
7
|
+
* This adapter binds both sides into a signed mutual-auth session so
|
|
8
|
+
* that a tool call receipt can later reference which authenticated
|
|
9
|
+
* session produced it.
|
|
10
|
+
*
|
|
11
|
+
* Composition boundary:
|
|
12
|
+
* MCP server/client handshake — capability discovery
|
|
13
|
+
* APS mutual-auth — identity proof + session binding
|
|
14
|
+
* APS action receipts — per-tool-call proof inside session
|
|
15
|
+
*
|
|
16
|
+
* This adapter works with any MCP server and any MCP client. It does
|
|
17
|
+
* NOT depend on the MCP SDK. It is a pure mapping layer.
|
|
18
|
+
*/
|
|
19
|
+
import { buildHello, buildAttest, verifyAttest, deriveSession, chooseVersion, newNonce, isSessionActive, } from '../v2/mutual-auth/index.js';
|
|
20
|
+
/** MCP-specific binding helper: convert an MCP server URL into the
|
|
21
|
+
* `binding` value for an IS certificate. */
|
|
22
|
+
export function mcpServerBinding(server_url) {
|
|
23
|
+
try {
|
|
24
|
+
const u = new URL(server_url);
|
|
25
|
+
return `mcp://${u.host}${u.pathname === '/' ? '' : u.pathname}`;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Not a URL — treat as an opaque identifier
|
|
29
|
+
return `mcp://${server_url}`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Agent-side: start the handshake against an MCP server. */
|
|
33
|
+
export function mcpBeginHandshake(agent_cert, now_ms, nonce_b64 = newNonce()) {
|
|
34
|
+
return {
|
|
35
|
+
hello: buildHello('agent', agent_cert.supported_versions, now_ms, nonce_b64),
|
|
36
|
+
agent_nonce: nonce_b64,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/** Server-side: respond to an agent hello with the IS attest. */
|
|
40
|
+
export function mcpRespondHandshake(agent_hello, is_cert, is_sk_hex, accepted_versions, now_ms, is_nonce_b64 = newNonce()) {
|
|
41
|
+
const chosen = chooseVersion(agent_hello.supported_versions, accepted_versions);
|
|
42
|
+
if (chosen === null)
|
|
43
|
+
return { error: 'version_unsupported' };
|
|
44
|
+
const attest = buildAttest({
|
|
45
|
+
role: 'information_system',
|
|
46
|
+
chosen_version: chosen,
|
|
47
|
+
own_nonce_b64: is_nonce_b64,
|
|
48
|
+
peer_nonce_b64: agent_hello.nonce_b64,
|
|
49
|
+
certificate: is_cert,
|
|
50
|
+
now_ms,
|
|
51
|
+
}, is_sk_hex);
|
|
52
|
+
return { attest, is_nonce: is_nonce_b64 };
|
|
53
|
+
}
|
|
54
|
+
/** Agent-side: verify the IS attest, produce the agent attest back. */
|
|
55
|
+
export function mcpCounterAttest(is_attest, agent_cert, agent_sk_hex, agent_nonce_b64, policy, trust_anchors, now_ms, revoked_anchor_ids) {
|
|
56
|
+
const res = verifyAttest({
|
|
57
|
+
attest: is_attest,
|
|
58
|
+
expected_peer_nonce_b64: agent_nonce_b64,
|
|
59
|
+
expected_own_nonce_b64: is_attest.own_nonce_b64,
|
|
60
|
+
policy,
|
|
61
|
+
trust_anchors,
|
|
62
|
+
revoked_anchor_ids,
|
|
63
|
+
now_ms,
|
|
64
|
+
});
|
|
65
|
+
if (!res.ok) {
|
|
66
|
+
return { error: res.reason ?? 'verification_failed', detail: res.detail };
|
|
67
|
+
}
|
|
68
|
+
const attest = buildAttest({
|
|
69
|
+
role: 'agent',
|
|
70
|
+
chosen_version: is_attest.chosen_version,
|
|
71
|
+
own_nonce_b64: agent_nonce_b64,
|
|
72
|
+
peer_nonce_b64: is_attest.own_nonce_b64,
|
|
73
|
+
certificate: agent_cert,
|
|
74
|
+
now_ms,
|
|
75
|
+
}, agent_sk_hex);
|
|
76
|
+
return { attest };
|
|
77
|
+
}
|
|
78
|
+
/** Server-side: verify the agent attest, derive the shared session. */
|
|
79
|
+
export function mcpFinalizeSession(agent_attest, is_attest, policy, trust_anchors, now_ms, revoked_anchor_ids) {
|
|
80
|
+
const res = verifyAttest({
|
|
81
|
+
attest: agent_attest,
|
|
82
|
+
expected_peer_nonce_b64: is_attest.own_nonce_b64,
|
|
83
|
+
expected_own_nonce_b64: agent_attest.own_nonce_b64,
|
|
84
|
+
policy,
|
|
85
|
+
trust_anchors,
|
|
86
|
+
revoked_anchor_ids,
|
|
87
|
+
now_ms,
|
|
88
|
+
});
|
|
89
|
+
if (!res.ok) {
|
|
90
|
+
return {
|
|
91
|
+
ok: false,
|
|
92
|
+
failure: { reason: res.reason ?? 'signature_invalid', detail: res.detail },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return deriveSession(agent_attest, is_attest, policy, now_ms);
|
|
96
|
+
}
|
|
97
|
+
export function mcpIsToolCallPermitted(input) {
|
|
98
|
+
if (!isSessionActive(input.session, input.now_ms)) {
|
|
99
|
+
return { ok: false, reason: 'expired_session' };
|
|
100
|
+
}
|
|
101
|
+
const expected = mcpServerBinding(input.server_url);
|
|
102
|
+
if (input.session.is_cert.binding !== expected) {
|
|
103
|
+
return { ok: false, reason: 'binding_mismatch' };
|
|
104
|
+
}
|
|
105
|
+
return { ok: true };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=mutual-auth-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutual-auth-mcp.js","sourceRoot":"","sources":["../../../src/adapters/mutual-auth-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ActionIntent, PolicyDecision, PolicyReceipt, PolicyValidator, ValidationContext, PolicyEvaluationResult } from '../types/policy.js';
|
|
2
|
-
import type { ActionReceipt } from '../types/passport.js';
|
|
1
|
+
import type { ActionIntent, PolicyDecision, PolicyReceipt, PolicyValidator, ValidationContext, PolicyEvaluationResult, EpistemicClaims } from '../types/policy.js';
|
|
2
|
+
import type { ActionReceipt, Delegation } from '../types/passport.js';
|
|
3
|
+
import { type DecisionReceiptEnvelope } from '../decisionReceipt.js';
|
|
3
4
|
/**
|
|
4
5
|
* Agent declares what it wants to do before doing it.
|
|
5
6
|
* This is the "ask" — signed by the requesting agent.
|
|
@@ -46,7 +47,38 @@ export declare function createPolicyReceipt(opts: {
|
|
|
46
47
|
decision: PolicyDecision;
|
|
47
48
|
receipt: ActionReceipt;
|
|
48
49
|
verifierPrivateKey: string;
|
|
50
|
+
/** v2.3 — ordered root-to-leaf delegation chain.
|
|
51
|
+
* When supplied, the returned receipt carries delegation_chain_root and
|
|
52
|
+
* delegation_depth. Optional for v2.2.x back-compat. */
|
|
53
|
+
delegationChain?: Delegation[];
|
|
54
|
+
/** v2.3 — typed epistemic labels for the four claim classes.
|
|
55
|
+
* When supplied, embedded on the PolicyReceipt and carried into the
|
|
56
|
+
* parallel Decision Receipt envelope (when emitted). */
|
|
57
|
+
epistemicClaims?: EpistemicClaims;
|
|
49
58
|
}): PolicyReceipt;
|
|
59
|
+
/** v2.3 — emit a PolicyReceipt + parallel in-toto Decision Receipt envelope.
|
|
60
|
+
*
|
|
61
|
+
* Returns both artifacts so v2.2.x consumers keep working against the
|
|
62
|
+
* PolicyReceipt while v2.3-aware verifiers (APS-aware sinks, cross-repo
|
|
63
|
+
* verifiers like @veritasacta/verify) consume the Decision Receipt envelope.
|
|
64
|
+
*
|
|
65
|
+
* Reference implementation of ENFORCEMENT-TRUST-ANCHOR.md Component A.
|
|
66
|
+
* This is a protocol primitive — gateway integration happens at the caller
|
|
67
|
+
* (e.g. @aeoess/gateway's ProxyGateway.emit). */
|
|
68
|
+
export declare function createPolicyReceiptWithDecisionReceipt(opts: {
|
|
69
|
+
intent: ActionIntent;
|
|
70
|
+
decision: PolicyDecision;
|
|
71
|
+
receipt: ActionReceipt;
|
|
72
|
+
verifierPrivateKey: string;
|
|
73
|
+
delegationChain: Delegation[];
|
|
74
|
+
epistemicClaims: EpistemicClaims;
|
|
75
|
+
policyId: string;
|
|
76
|
+
issuerId: string;
|
|
77
|
+
signerKeyId: string;
|
|
78
|
+
}): {
|
|
79
|
+
policyReceipt: PolicyReceipt;
|
|
80
|
+
decisionReceipt: DecisionReceiptEnvelope;
|
|
81
|
+
};
|
|
50
82
|
export declare function verifyPolicyReceipt(policyReceipt: PolicyReceipt, verifierPublicKey: string): {
|
|
51
83
|
valid: boolean;
|
|
52
84
|
errors: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,YAAY,EAAE,cAAc,EAAE,aAAa,EAC3C,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/policy.js
CHANGED
|
@@ -21,6 +21,7 @@ import { sign, verify } from '../crypto/keys.js';
|
|
|
21
21
|
import { canonicalize } from './canonical.js';
|
|
22
22
|
import { scopeAuthorizes } from './delegation.js';
|
|
23
23
|
import { computeActionRef } from './action-ref.js';
|
|
24
|
+
import { emitDecisionReceipt, computeDelegationChainRoot, } from '../decisionReceipt.js';
|
|
24
25
|
// ══════════════════════════════════════
|
|
25
26
|
// ACTION INTENT — Signature 1 of 3
|
|
26
27
|
// ══════════════════════════════════════
|
|
@@ -140,9 +141,48 @@ export function createPolicyReceipt(opts) {
|
|
|
140
141
|
// Request identity copied from intent (A2A#1672)
|
|
141
142
|
actionRef: opts.intent.actionRef ?? computeActionRef(opts.intent)
|
|
142
143
|
};
|
|
144
|
+
// v2.3 — bilateral receipt fields (optional, backward-compatible)
|
|
145
|
+
if (opts.delegationChain && opts.delegationChain.length > 0) {
|
|
146
|
+
pr.delegation_chain_root = computeDelegationChainRoot(opts.delegationChain);
|
|
147
|
+
pr.delegation_depth = opts.delegationChain.length;
|
|
148
|
+
}
|
|
149
|
+
if (opts.epistemicClaims) {
|
|
150
|
+
pr.epistemic_claims = opts.epistemicClaims;
|
|
151
|
+
}
|
|
143
152
|
const signature = sign(canonicalize(pr), opts.verifierPrivateKey);
|
|
144
153
|
return { ...pr, signature };
|
|
145
154
|
}
|
|
155
|
+
/** v2.3 — emit a PolicyReceipt + parallel in-toto Decision Receipt envelope.
|
|
156
|
+
*
|
|
157
|
+
* Returns both artifacts so v2.2.x consumers keep working against the
|
|
158
|
+
* PolicyReceipt while v2.3-aware verifiers (APS-aware sinks, cross-repo
|
|
159
|
+
* verifiers like @veritasacta/verify) consume the Decision Receipt envelope.
|
|
160
|
+
*
|
|
161
|
+
* Reference implementation of ENFORCEMENT-TRUST-ANCHOR.md Component A.
|
|
162
|
+
* This is a protocol primitive — gateway integration happens at the caller
|
|
163
|
+
* (e.g. @aeoess/gateway's ProxyGateway.emit). */
|
|
164
|
+
export function createPolicyReceiptWithDecisionReceipt(opts) {
|
|
165
|
+
const policyReceipt = createPolicyReceipt({
|
|
166
|
+
intent: opts.intent,
|
|
167
|
+
decision: opts.decision,
|
|
168
|
+
receipt: opts.receipt,
|
|
169
|
+
verifierPrivateKey: opts.verifierPrivateKey,
|
|
170
|
+
delegationChain: opts.delegationChain,
|
|
171
|
+
epistemicClaims: opts.epistemicClaims,
|
|
172
|
+
});
|
|
173
|
+
const decisionReceipt = emitDecisionReceipt({
|
|
174
|
+
intent: opts.intent,
|
|
175
|
+
decision: opts.decision,
|
|
176
|
+
receipt: opts.receipt,
|
|
177
|
+
delegationChain: opts.delegationChain,
|
|
178
|
+
epistemicClaims: opts.epistemicClaims,
|
|
179
|
+
policyId: opts.policyId,
|
|
180
|
+
signerPrivateKey: opts.verifierPrivateKey,
|
|
181
|
+
signerKeyId: opts.signerKeyId,
|
|
182
|
+
issuerId: opts.issuerId,
|
|
183
|
+
});
|
|
184
|
+
return { policyReceipt, decisionReceipt };
|
|
185
|
+
}
|
|
146
186
|
export function verifyPolicyReceipt(policyReceipt, verifierPublicKey) {
|
|
147
187
|
const errors = [];
|
|
148
188
|
const { signature, ...unsigned } = policyReceipt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/core/policy.ts"],"names":[],"mappings":"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"}
|