@attested-intelligence/aga-mcp-server 2.1.0 → 2.2.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 +197 -124
- package/SECURITY.md +59 -0
- package/dist/core/bundle.d.ts +9 -2
- package/dist/core/bundle.d.ts.map +1 -1
- package/dist/core/bundle.js +16 -2
- package/dist/core/bundle.js.map +1 -1
- package/dist/core/identity.d.ts +19 -10
- package/dist/core/identity.d.ts.map +1 -1
- package/dist/core/identity.js +45 -11
- package/dist/core/identity.js.map +1 -1
- package/dist/core/portal.d.ts +10 -1
- package/dist/core/portal.d.ts.map +1 -1
- package/dist/core/portal.js +16 -12
- package/dist/core/portal.js.map +1 -1
- package/dist/core/types.d.ts +29 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/crypto/index.d.ts +5 -6
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js +5 -6
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/sign.d.ts +2 -0
- package/dist/crypto/sign.d.ts.map +1 -1
- package/dist/crypto/sign.js +6 -0
- package/dist/crypto/sign.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/governance.d.ts +7 -1
- package/dist/middleware/governance.d.ts.map +1 -1
- package/dist/middleware/governance.js +18 -11
- package/dist/middleware/governance.js.map +1 -1
- package/dist/server.d.ts +7 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +342 -214
- package/dist/server.js.map +1 -1
- package/dist/storage/sqlite.js +6 -6
- package/independent-verifier/README.md +31 -0
- package/independent-verifier/package.json +18 -0
- package/independent-verifier/verify.ts +211 -0
- package/package.json +97 -76
- package/src/adapters/openclaw.ts +125 -0
- package/src/core/artifact.ts +45 -0
- package/src/core/attestation.ts +33 -0
- package/src/core/behavioral.ts +132 -0
- package/src/core/bundle.ts +45 -0
- package/src/core/chain.ts +72 -0
- package/src/core/checkpoint.ts +22 -0
- package/src/core/delegation.ts +146 -0
- package/src/core/disclosure.ts +32 -0
- package/src/core/identity.ts +62 -0
- package/src/core/index.ts +14 -0
- package/src/core/portal.ts +117 -0
- package/src/core/quarantine.ts +16 -0
- package/src/core/receipt.ts +33 -0
- package/src/core/subject.ts +11 -0
- package/src/core/types.ts +285 -0
- package/src/crypto/hash.ts +33 -0
- package/src/crypto/index.ts +5 -0
- package/src/crypto/merkle.ts +43 -0
- package/src/crypto/salt.ts +18 -0
- package/src/crypto/sign.ts +42 -0
- package/src/crypto/types.ts +19 -0
- package/src/index.ts +12 -0
- package/src/middleware/governance.ts +95 -0
- package/src/middleware/index.ts +1 -0
- package/src/proxy/evaluator.ts +176 -0
- package/src/proxy/index.ts +259 -0
- package/src/proxy/profiles.ts +48 -0
- package/src/proxy/server.ts +499 -0
- package/src/proxy/stdio-bridge.ts +171 -0
- package/src/proxy/types.ts +40 -0
- package/src/proxy/verify.ts +202 -0
- package/src/server.ts +435 -0
- package/src/storage/index.ts +3 -0
- package/src/storage/interface.ts +21 -0
- package/src/storage/memory.ts +27 -0
- package/src/storage/sqlite.ts +45 -0
- package/src/tools/README.md +13 -0
- package/src/utils/canonical.ts +14 -0
- package/src/utils/constants.ts +3 -0
- package/src/utils/timestamp.ts +12 -0
- package/src/utils/uuid.ts +2 -0
- package/dist/context.d.ts +0 -39
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -113
- package/dist/context.js.map +0 -1
- package/dist/core/measurement.d.ts +0 -16
- package/dist/core/measurement.d.ts.map +0 -1
- package/dist/core/measurement.js +0 -18
- package/dist/core/measurement.js.map +0 -1
- package/dist/crypto/canonicalize.d.ts +0 -7
- package/dist/crypto/canonicalize.d.ts.map +0 -1
- package/dist/crypto/canonicalize.js +0 -21
- package/dist/crypto/canonicalize.js.map +0 -1
- package/dist/crypto/keys.d.ts +0 -10
- package/dist/crypto/keys.d.ts.map +0 -1
- package/dist/crypto/keys.js +0 -19
- package/dist/crypto/keys.js.map +0 -1
- package/dist/prompts/drift-analysis.d.ts +0 -13
- package/dist/prompts/drift-analysis.d.ts.map +0 -1
- package/dist/prompts/drift-analysis.js +0 -43
- package/dist/prompts/drift-analysis.js.map +0 -1
- package/dist/prompts/governance-report.d.ts +0 -7
- package/dist/prompts/governance-report.d.ts.map +0 -1
- package/dist/prompts/governance-report.js +0 -26
- package/dist/prompts/governance-report.js.map +0 -1
- package/dist/prompts/nccoe-demo.d.ts +0 -14
- package/dist/prompts/nccoe-demo.d.ts.map +0 -1
- package/dist/prompts/nccoe-demo.js +0 -47
- package/dist/prompts/nccoe-demo.js.map +0 -1
- package/dist/resources/cosai-mapping.d.ts +0 -24
- package/dist/resources/cosai-mapping.d.ts.map +0 -1
- package/dist/resources/cosai-mapping.js +0 -127
- package/dist/resources/cosai-mapping.js.map +0 -1
- package/dist/resources/crypto-primitives.d.ts +0 -3
- package/dist/resources/crypto-primitives.d.ts.map +0 -1
- package/dist/resources/crypto-primitives.js +0 -52
- package/dist/resources/crypto-primitives.js.map +0 -1
- package/dist/resources/sample-bundle.d.ts +0 -6
- package/dist/resources/sample-bundle.d.ts.map +0 -1
- package/dist/resources/sample-bundle.js +0 -58
- package/dist/resources/sample-bundle.js.map +0 -1
- package/dist/resources/specification.d.ts +0 -3
- package/dist/resources/specification.d.ts.map +0 -1
- package/dist/resources/specification.js +0 -161
- package/dist/resources/specification.js.map +0 -1
- package/dist/tools/create-artifact.d.ts +0 -25
- package/dist/tools/create-artifact.d.ts.map +0 -1
- package/dist/tools/create-artifact.js +0 -85
- package/dist/tools/create-artifact.js.map +0 -1
- package/dist/tools/delegate-subagent.d.ts +0 -18
- package/dist/tools/delegate-subagent.d.ts.map +0 -1
- package/dist/tools/delegate-subagent.js +0 -50
- package/dist/tools/delegate-subagent.js.map +0 -1
- package/dist/tools/disclose-claim.d.ts +0 -14
- package/dist/tools/disclose-claim.d.ts.map +0 -1
- package/dist/tools/disclose-claim.js +0 -23
- package/dist/tools/disclose-claim.js.map +0 -1
- package/dist/tools/export-bundle.d.ts +0 -8
- package/dist/tools/export-bundle.d.ts.map +0 -1
- package/dist/tools/export-bundle.js +0 -25
- package/dist/tools/export-bundle.js.map +0 -1
- package/dist/tools/full-lifecycle.d.ts +0 -16
- package/dist/tools/full-lifecycle.d.ts.map +0 -1
- package/dist/tools/full-lifecycle.js +0 -121
- package/dist/tools/full-lifecycle.js.map +0 -1
- package/dist/tools/generate-receipt.d.ts +0 -16
- package/dist/tools/generate-receipt.d.ts.map +0 -1
- package/dist/tools/generate-receipt.js +0 -31
- package/dist/tools/generate-receipt.js.map +0 -1
- package/dist/tools/get-chain.d.ts +0 -14
- package/dist/tools/get-chain.d.ts.map +0 -1
- package/dist/tools/get-chain.js +0 -45
- package/dist/tools/get-chain.js.map +0 -1
- package/dist/tools/get-portal-state.d.ts +0 -8
- package/dist/tools/get-portal-state.d.ts.map +0 -1
- package/dist/tools/get-portal-state.js +0 -15
- package/dist/tools/get-portal-state.js.map +0 -1
- package/dist/tools/init-chain.d.ts +0 -10
- package/dist/tools/init-chain.d.ts.map +0 -1
- package/dist/tools/init-chain.js +0 -13
- package/dist/tools/init-chain.js.map +0 -1
- package/dist/tools/measure-behavior.d.ts +0 -12
- package/dist/tools/measure-behavior.d.ts.map +0 -1
- package/dist/tools/measure-behavior.js +0 -29
- package/dist/tools/measure-behavior.js.map +0 -1
- package/dist/tools/measure-subject.d.ts +0 -15
- package/dist/tools/measure-subject.d.ts.map +0 -1
- package/dist/tools/measure-subject.js +0 -106
- package/dist/tools/measure-subject.js.map +0 -1
- package/dist/tools/quarantine-status.d.ts +0 -8
- package/dist/tools/quarantine-status.d.ts.map +0 -1
- package/dist/tools/quarantine-status.js +0 -16
- package/dist/tools/quarantine-status.js.map +0 -1
- package/dist/tools/revoke-artifact.d.ts +0 -13
- package/dist/tools/revoke-artifact.d.ts.map +0 -1
- package/dist/tools/revoke-artifact.js +0 -24
- package/dist/tools/revoke-artifact.js.map +0 -1
- package/dist/tools/rotate-keys.d.ts +0 -13
- package/dist/tools/rotate-keys.d.ts.map +0 -1
- package/dist/tools/rotate-keys.js +0 -39
- package/dist/tools/rotate-keys.js.map +0 -1
- package/dist/tools/server-info.d.ts +0 -8
- package/dist/tools/server-info.d.ts.map +0 -1
- package/dist/tools/server-info.js +0 -23
- package/dist/tools/server-info.js.map +0 -1
- package/dist/tools/set-verification-tier.d.ts +0 -11
- package/dist/tools/set-verification-tier.d.ts.map +0 -1
- package/dist/tools/set-verification-tier.js +0 -31
- package/dist/tools/set-verification-tier.js.map +0 -1
- package/dist/tools/start-monitoring.d.ts +0 -12
- package/dist/tools/start-monitoring.d.ts.map +0 -1
- package/dist/tools/start-monitoring.js +0 -17
- package/dist/tools/start-monitoring.js.map +0 -1
- package/dist/tools/trigger-measurement.d.ts +0 -15
- package/dist/tools/trigger-measurement.d.ts.map +0 -1
- package/dist/tools/trigger-measurement.js +0 -86
- package/dist/tools/trigger-measurement.js.map +0 -1
- package/dist/tools/verify-artifact.d.ts +0 -13
- package/dist/tools/verify-artifact.d.ts.map +0 -1
- package/dist/tools/verify-artifact.js +0 -6
- package/dist/tools/verify-artifact.js.map +0 -1
- package/dist/tools/verify-bundle.d.ts +0 -13
- package/dist/tools/verify-bundle.d.ts.map +0 -1
- package/dist/tools/verify-bundle.js +0 -6
- package/dist/tools/verify-bundle.js.map +0 -1
- package/dist/types.d.ts +0 -261
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -15,12 +15,12 @@ export class SQLiteStorage {
|
|
|
15
15
|
this.db.pragma('journal_mode = WAL');
|
|
16
16
|
}
|
|
17
17
|
async initialize() {
|
|
18
|
-
this.db.exec(`
|
|
19
|
-
CREATE TABLE IF NOT EXISTS artifacts (sealed_hash TEXT PRIMARY KEY, data TEXT NOT NULL, created_at TEXT DEFAULT (datetime('now')));
|
|
20
|
-
CREATE TABLE IF NOT EXISTS chain_events (sequence_number INTEGER PRIMARY KEY, event_id TEXT UNIQUE, event_type TEXT, leaf_hash TEXT, data TEXT NOT NULL);
|
|
21
|
-
CREATE TABLE IF NOT EXISTS receipts (receipt_id TEXT PRIMARY KEY, artifact_reference TEXT, sequence_number INTEGER, data TEXT NOT NULL);
|
|
22
|
-
CREATE TABLE IF NOT EXISTS checkpoints (id INTEGER PRIMARY KEY AUTOINCREMENT, merkle_root TEXT, batch_start INTEGER, batch_end INTEGER, data TEXT NOT NULL);
|
|
23
|
-
CREATE INDEX IF NOT EXISTS idx_receipts_artifact ON receipts(artifact_reference);
|
|
18
|
+
this.db.exec(`
|
|
19
|
+
CREATE TABLE IF NOT EXISTS artifacts (sealed_hash TEXT PRIMARY KEY, data TEXT NOT NULL, created_at TEXT DEFAULT (datetime('now')));
|
|
20
|
+
CREATE TABLE IF NOT EXISTS chain_events (sequence_number INTEGER PRIMARY KEY, event_id TEXT UNIQUE, event_type TEXT, leaf_hash TEXT, data TEXT NOT NULL);
|
|
21
|
+
CREATE TABLE IF NOT EXISTS receipts (receipt_id TEXT PRIMARY KEY, artifact_reference TEXT, sequence_number INTEGER, data TEXT NOT NULL);
|
|
22
|
+
CREATE TABLE IF NOT EXISTS checkpoints (id INTEGER PRIMARY KEY AUTOINCREMENT, merkle_root TEXT, batch_start INTEGER, batch_end INTEGER, data TEXT NOT NULL);
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_receipts_artifact ON receipts(artifact_reference);
|
|
24
24
|
`);
|
|
25
25
|
}
|
|
26
26
|
async close() { this.db.close(); }
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# AGA Independent Verifier
|
|
2
|
+
|
|
3
|
+
Standalone verification of AGA Evidence Bundles using only standard
|
|
4
|
+
cryptographic libraries. **This verifier imports zero modules from the
|
|
5
|
+
AGA codebase.**
|
|
6
|
+
|
|
7
|
+
## Why This Exists
|
|
8
|
+
|
|
9
|
+
AGA claims that Evidence Bundles provide tamper-evident, offline-verifiable
|
|
10
|
+
proof of governance enforcement. This verifier proves that claim by
|
|
11
|
+
implementing the complete 4-step verification using only Ed25519 and SHA-256
|
|
12
|
+
from @noble - no AGA code, no trust assumptions, no hidden dependencies.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx tsx verify.ts <bundle.json>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## What It Verifies
|
|
21
|
+
|
|
22
|
+
1. **Artifact Signature** - Ed25519 over RFC 8785 canonical JSON
|
|
23
|
+
2. **Receipt Signatures** - Ed25519 for each enforcement receipt
|
|
24
|
+
3. **Merkle Inclusion Proofs** - Structural metadata leaf hashes vs checkpoint root
|
|
25
|
+
4. **Checkpoint Anchor** - (Optional, requires network access)
|
|
26
|
+
|
|
27
|
+
Steps 1-3 work fully offline. Step 4 is optional.
|
|
28
|
+
|
|
29
|
+
## Reference
|
|
30
|
+
|
|
31
|
+
Implements the AGA 4-step offline verification process.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "aga-independent-verifier",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Standalone verification of AGA Evidence Bundles - zero AGA imports",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"verify": "npx tsx verify.ts",
|
|
8
|
+
"test": "npx vitest run"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@noble/ed25519": "^2.1.0",
|
|
12
|
+
"@noble/hashes": "^1.7.0"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"tsx": "^4.19.0",
|
|
16
|
+
"vitest": "^2.1.0"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AGA Independent Verifier
|
|
3
|
+
*
|
|
4
|
+
* Standalone verification of AGA Evidence Bundles using ONLY standard
|
|
5
|
+
* cryptographic libraries. This verifier imports ZERO modules from the
|
|
6
|
+
* AGA codebase (../src/).
|
|
7
|
+
*
|
|
8
|
+
* Implements the full 4-step verification process:
|
|
9
|
+
* 1. Verify artifact signature (Ed25519 over RFC 8785 canonical JSON)
|
|
10
|
+
* 2. Verify each receipt signature (Ed25519)
|
|
11
|
+
* 3. Verify Merkle inclusion proofs (structural metadata leaf hashes vs checkpoint root)
|
|
12
|
+
* 4. (Optional) Verify checkpoint anchor
|
|
13
|
+
*
|
|
14
|
+
* Steps 1-3 work fully offline. Step 4 is optional.
|
|
15
|
+
*
|
|
16
|
+
* Attested Intelligence Holdings LLC
|
|
17
|
+
*/
|
|
18
|
+
import * as ed from '@noble/ed25519';
|
|
19
|
+
import { sha512 } from '@noble/hashes/sha512';
|
|
20
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
21
|
+
import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
|
|
22
|
+
|
|
23
|
+
// ── Ed25519 setup ────────────────────────────────────────────
|
|
24
|
+
ed.etc.sha512Sync = (...m: Uint8Array[]) => {
|
|
25
|
+
const total = m.reduce((n, a) => n + a.length, 0);
|
|
26
|
+
const buf = new Uint8Array(total);
|
|
27
|
+
let off = 0;
|
|
28
|
+
for (const a of m) { buf.set(a, off); off += a.length; }
|
|
29
|
+
return sha512(buf);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const enc = new TextEncoder();
|
|
33
|
+
|
|
34
|
+
// ── Types (reimplemented, no AGA imports) ────────────────────
|
|
35
|
+
|
|
36
|
+
export interface VerificationResult {
|
|
37
|
+
step1_artifact_sig: boolean;
|
|
38
|
+
step2_receipt_sigs: boolean;
|
|
39
|
+
step3_merkle_proofs: boolean;
|
|
40
|
+
step4_anchor: 'VERIFIED' | 'SKIPPED';
|
|
41
|
+
overall: boolean;
|
|
42
|
+
errors: string[];
|
|
43
|
+
details: {
|
|
44
|
+
receipt_results: boolean[];
|
|
45
|
+
proof_results: boolean[];
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
interface MerkleProof {
|
|
50
|
+
leafHash: string;
|
|
51
|
+
leafIndex: number;
|
|
52
|
+
siblings: Array<{ hash: string; position: 'left' | 'right' }>;
|
|
53
|
+
root: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
interface EvidenceBundle {
|
|
57
|
+
artifact: Record<string, unknown> & { signature: string; issuer_identifier: string };
|
|
58
|
+
receipts: Array<Record<string, unknown> & { portal_signature: string; receipt_id: string }>;
|
|
59
|
+
merkle_proofs: MerkleProof[];
|
|
60
|
+
checkpoint_reference: { merkle_root: string; [key: string]: unknown };
|
|
61
|
+
public_key: string;
|
|
62
|
+
bundle_signature: string;
|
|
63
|
+
verification_tier?: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// ── Crypto helpers (reimplemented from scratch) ──────────────
|
|
67
|
+
|
|
68
|
+
function deepSortKeys(obj: unknown): unknown {
|
|
69
|
+
if (obj === null || obj === undefined || typeof obj !== 'object') return obj;
|
|
70
|
+
if (Array.isArray(obj)) return obj.map(deepSortKeys);
|
|
71
|
+
if (obj instanceof Uint8Array) return obj;
|
|
72
|
+
const sorted: Record<string, unknown> = {};
|
|
73
|
+
for (const key of Object.keys(obj as Record<string, unknown>).sort()) {
|
|
74
|
+
sorted[key] = deepSortKeys((obj as Record<string, unknown>)[key]);
|
|
75
|
+
}
|
|
76
|
+
return sorted;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function canonicalize(obj: unknown): string {
|
|
80
|
+
return JSON.stringify(deepSortKeys(obj));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function sha256Hex(data: string): string {
|
|
84
|
+
return bytesToHex(sha256(enc.encode(data)));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function verifyEd25519(sigBase64: string, message: string, publicKeyHex: string): boolean {
|
|
88
|
+
try {
|
|
89
|
+
const sig = new Uint8Array(Buffer.from(sigBase64, 'base64'));
|
|
90
|
+
const pk = hexToBytes(publicKeyHex);
|
|
91
|
+
return ed.verify(sig, enc.encode(message), pk);
|
|
92
|
+
} catch { return false; }
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function merkleParentHash(left: string, right: string): string {
|
|
96
|
+
return sha256Hex(left + right);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ── Step 1: Verify artifact signature (Ed25519) ─────────────
|
|
100
|
+
|
|
101
|
+
export function verifyArtifactSignature(artifact: EvidenceBundle['artifact']): boolean {
|
|
102
|
+
const { signature, ...unsigned } = artifact;
|
|
103
|
+
const canonical = canonicalize(unsigned);
|
|
104
|
+
return verifyEd25519(signature, canonical, artifact.issuer_identifier);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// ── Step 2: Verify each receipt signature (Ed25519) ──────────
|
|
108
|
+
|
|
109
|
+
export function verifyReceiptSignatures(receipts: EvidenceBundle['receipts'], portalPublicKey: string): boolean[] {
|
|
110
|
+
return receipts.map(receipt => {
|
|
111
|
+
const { portal_signature, ...unsigned } = receipt;
|
|
112
|
+
const canonical = canonicalize(unsigned);
|
|
113
|
+
return verifyEd25519(portal_signature, canonical, portalPublicKey);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// ── Step 3: Verify Merkle inclusion proofs ───────────────────
|
|
118
|
+
|
|
119
|
+
export function verifyMerkleProofs(proofs: MerkleProof[], checkpointRoot: string): boolean[] {
|
|
120
|
+
return proofs.map(proof => {
|
|
121
|
+
let hash = proof.leafHash;
|
|
122
|
+
for (const sibling of proof.siblings) {
|
|
123
|
+
hash = sibling.position === 'left'
|
|
124
|
+
? merkleParentHash(sibling.hash, hash)
|
|
125
|
+
: merkleParentHash(hash, sibling.hash);
|
|
126
|
+
}
|
|
127
|
+
return hash === checkpointRoot;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// ── Step 4 (optional): Verify checkpoint anchor ─────────────
|
|
132
|
+
|
|
133
|
+
export function verifyCheckpointAnchor(_checkpoint: Record<string, unknown>): 'VERIFIED' | 'SKIPPED' {
|
|
134
|
+
// Offline mode - no network access to verify on-chain anchor
|
|
135
|
+
return 'SKIPPED';
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// ── Main entry point ─────────────────────────────────────────
|
|
139
|
+
|
|
140
|
+
export function verifyEvidenceBundle(bundleJson: string): VerificationResult {
|
|
141
|
+
const errors: string[] = [];
|
|
142
|
+
let bundle: EvidenceBundle;
|
|
143
|
+
|
|
144
|
+
try {
|
|
145
|
+
bundle = JSON.parse(bundleJson);
|
|
146
|
+
} catch {
|
|
147
|
+
return {
|
|
148
|
+
step1_artifact_sig: false, step2_receipt_sigs: false,
|
|
149
|
+
step3_merkle_proofs: false, step4_anchor: 'SKIPPED',
|
|
150
|
+
overall: false, errors: ['Failed to parse bundle JSON'],
|
|
151
|
+
details: { receipt_results: [], proof_results: [] },
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Step 1: Artifact signature
|
|
156
|
+
const step1 = verifyArtifactSignature(bundle.artifact);
|
|
157
|
+
if (!step1) errors.push('Artifact signature verification failed');
|
|
158
|
+
|
|
159
|
+
// Step 2: Receipt signatures
|
|
160
|
+
const receiptResults = verifyReceiptSignatures(bundle.receipts, bundle.public_key);
|
|
161
|
+
const step2 = receiptResults.every(r => r);
|
|
162
|
+
receiptResults.forEach((r, i) => {
|
|
163
|
+
if (!r) errors.push(`Receipt ${bundle.receipts[i].receipt_id} signature failed`);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// Step 3: Merkle inclusion proofs
|
|
167
|
+
const proofResults = verifyMerkleProofs(bundle.merkle_proofs, bundle.checkpoint_reference.merkle_root);
|
|
168
|
+
const step3 = proofResults.length === 0 ? true : proofResults.every(r => r);
|
|
169
|
+
proofResults.forEach((r, i) => {
|
|
170
|
+
if (!r) errors.push(`Merkle proof ${i} failed`);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// Step 4: Checkpoint anchor
|
|
174
|
+
const step4 = verifyCheckpointAnchor(bundle.checkpoint_reference as Record<string, unknown>);
|
|
175
|
+
|
|
176
|
+
return {
|
|
177
|
+
step1_artifact_sig: step1,
|
|
178
|
+
step2_receipt_sigs: step2,
|
|
179
|
+
step3_merkle_proofs: step3,
|
|
180
|
+
step4_anchor: step4,
|
|
181
|
+
overall: step1 && step2 && step3,
|
|
182
|
+
errors,
|
|
183
|
+
details: { receipt_results: receiptResults, proof_results: proofResults },
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// ── CLI mode ─────────────────────────────────────────────────
|
|
188
|
+
|
|
189
|
+
if (typeof process !== 'undefined' && process.argv[1]?.includes('verify')) {
|
|
190
|
+
const { readFileSync } = await import('node:fs');
|
|
191
|
+
const bundlePath = process.argv[2];
|
|
192
|
+
if (!bundlePath) {
|
|
193
|
+
console.error('Usage: npx tsx verify.ts <bundle.json>');
|
|
194
|
+
process.exit(1);
|
|
195
|
+
}
|
|
196
|
+
const bundleJson = readFileSync(bundlePath, 'utf-8');
|
|
197
|
+
const result = verifyEvidenceBundle(bundleJson);
|
|
198
|
+
|
|
199
|
+
console.log('\nAGA Independent Verifier\n');
|
|
200
|
+
console.log(`Step 1 - Artifact signature: ${result.step1_artifact_sig ? 'PASS' : 'FAIL'}`);
|
|
201
|
+
console.log(`Step 2 - Receipt signatures: ${result.step2_receipt_sigs ? 'PASS' : 'FAIL'} (${result.details.receipt_results.filter(r => r).length}/${result.details.receipt_results.length})`);
|
|
202
|
+
console.log(`Step 3 - Merkle inclusion proofs: ${result.step3_merkle_proofs ? 'PASS' : 'FAIL'} (${result.details.proof_results.filter(r => r).length}/${result.details.proof_results.length})`);
|
|
203
|
+
console.log(`Step 4 - Checkpoint anchor: ${result.step4_anchor}`);
|
|
204
|
+
console.log(`\nOVERALL: ${result.overall ? 'VERIFIED' : 'FAILED'}`);
|
|
205
|
+
if (result.errors.length) {
|
|
206
|
+
console.log('\nErrors:');
|
|
207
|
+
result.errors.forEach(e => console.log(` - ${e}`));
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
process.exit(result.overall ? 0 : 1);
|
|
211
|
+
}
|
package/package.json
CHANGED
|
@@ -1,76 +1,97 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@attested-intelligence/aga-mcp-server",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "MCP server
|
|
5
|
-
"author": "Attested Intelligence Holdings LLC",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"test
|
|
27
|
-
"test:
|
|
28
|
-
"test:
|
|
29
|
-
"test:
|
|
30
|
-
"
|
|
31
|
-
"proxy
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
},
|
|
48
|
-
"
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
},
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
},
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@attested-intelligence/aga-mcp-server",
|
|
3
|
+
"version": "2.2.0",
|
|
4
|
+
"description": "MCP server for cryptographic AI agent governance. Seal policy artifacts, enforce at runtime, prove with signed receipts and offline-verifiable evidence bundles.",
|
|
5
|
+
"author": "Attested Intelligence Holdings LLC",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://attestedintelligence.com/technology",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/attestedintelligence/AGA"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/attestedintelligence/AGA/issues"
|
|
14
|
+
},
|
|
15
|
+
"type": "module",
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"bin": {
|
|
19
|
+
"aga-mcp-server": "dist/index.js",
|
|
20
|
+
"aga-proxy": "dist/proxy/index.js"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc",
|
|
24
|
+
"start": "node dist/index.js",
|
|
25
|
+
"dev": "tsx src/index.ts",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"test:crypto": "vitest run tests/crypto/",
|
|
29
|
+
"test:core": "vitest run tests/core/",
|
|
30
|
+
"test:integration": "vitest run tests/integration/",
|
|
31
|
+
"test:proxy": "vitest run tests/proxy/",
|
|
32
|
+
"proxy": "tsx src/proxy/index.ts",
|
|
33
|
+
"proxy:start": "tsx src/proxy/index.ts start",
|
|
34
|
+
"demo": "tsx scripts/demo.ts",
|
|
35
|
+
"benchmark": "tsx scripts/benchmark.ts",
|
|
36
|
+
"verify": "cd independent-verifier && npm test",
|
|
37
|
+
"lint": "tsc --noEmit",
|
|
38
|
+
"demo:standalone": "npx tsx standalone/main.ts",
|
|
39
|
+
"demo:scada": "npx tsx standalone/main.ts --scenario=scada",
|
|
40
|
+
"demo:drone": "npx tsx standalone/main.ts --scenario=drone",
|
|
41
|
+
"demo:agent": "npx tsx standalone/main.ts --scenario=ai-agent",
|
|
42
|
+
"demo:all": "npx tsx standalone/main.ts --scenario=all --non-interactive",
|
|
43
|
+
"watch": "npx tsx standalone/main.ts --watch",
|
|
44
|
+
"build:exe": "npx tsx standalone/build.ts",
|
|
45
|
+
"verify:evidence": "npx tsx standalone/verify-evidence.ts",
|
|
46
|
+
"prepublishOnly": "npm run build && npm run test"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
50
|
+
"@noble/ed25519": "^2.1.0",
|
|
51
|
+
"@noble/hashes": "^1.7.0",
|
|
52
|
+
"commander": "^14.0.3",
|
|
53
|
+
"uuid": "^11.1.0",
|
|
54
|
+
"zod": "^3.24.0"
|
|
55
|
+
},
|
|
56
|
+
"optionalDependencies": {
|
|
57
|
+
"better-sqlite3": "^11.7.0"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/better-sqlite3": "^7.6.12",
|
|
61
|
+
"@types/node": "^22.10.0",
|
|
62
|
+
"@types/uuid": "^10.0.0",
|
|
63
|
+
"postject": "^1.0.0-alpha.6",
|
|
64
|
+
"tsx": "^4.19.0",
|
|
65
|
+
"typescript": "^5.7.0",
|
|
66
|
+
"vitest": "^2.1.0"
|
|
67
|
+
},
|
|
68
|
+
"files": [
|
|
69
|
+
"dist/",
|
|
70
|
+
"src/",
|
|
71
|
+
"independent-verifier/verify.ts",
|
|
72
|
+
"independent-verifier/package.json",
|
|
73
|
+
"independent-verifier/README.md",
|
|
74
|
+
"README.md",
|
|
75
|
+
"LICENSE",
|
|
76
|
+
"SECURITY.md"
|
|
77
|
+
],
|
|
78
|
+
"engines": {
|
|
79
|
+
"node": ">=20.0.0"
|
|
80
|
+
},
|
|
81
|
+
"keywords": [
|
|
82
|
+
"mcp",
|
|
83
|
+
"mcp-server",
|
|
84
|
+
"model-context-protocol",
|
|
85
|
+
"ai-governance",
|
|
86
|
+
"ai-agent-security",
|
|
87
|
+
"agentic-ai",
|
|
88
|
+
"attestation",
|
|
89
|
+
"governance",
|
|
90
|
+
"cryptographic-enforcement",
|
|
91
|
+
"runtime-integrity",
|
|
92
|
+
"evidence-bundles",
|
|
93
|
+
"ed25519",
|
|
94
|
+
"policy-artifacts",
|
|
95
|
+
"attested-intelligence"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw Config Adapter
|
|
3
|
+
* Detects and patches openclaw.json to route MCP servers through the AGA governance proxy.
|
|
4
|
+
*
|
|
5
|
+
* All OpenClaw assumptions are documented inline. When a real OpenClaw instance
|
|
6
|
+
* becomes available, validate each assumption.
|
|
7
|
+
*
|
|
8
|
+
* Patent: USPTO App. No. 19/433,835
|
|
9
|
+
* Copyright (c) 2026 Attested Intelligence Holdings LLC
|
|
10
|
+
* SPDX-License-Identifier: MIT
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import * as fs from 'node:fs';
|
|
14
|
+
import * as path from 'node:path';
|
|
15
|
+
import * as os from 'node:os';
|
|
16
|
+
|
|
17
|
+
// ── Assumptions ──────────────────────────────────────────────
|
|
18
|
+
// ASSUMPTION 1: OpenClaw stores its config at ~/.openclaw/openclaw.json
|
|
19
|
+
// Source: OpenClaw documentation pattern (similar to Claude Desktop, Cursor)
|
|
20
|
+
// Fallback: Accept explicit path via detect(configPath?)
|
|
21
|
+
//
|
|
22
|
+
// ASSUMPTION 2: Config has a "mcpServers" field with server entries
|
|
23
|
+
// Source: MCP client config convention (matches Claude Desktop format)
|
|
24
|
+
// Format: { "mcpServers": { "name": { "command": "...", "args": [...] } } }
|
|
25
|
+
//
|
|
26
|
+
// ASSUMPTION 3: Each server entry has "command" + "args" (stdio) or "url" (HTTP)
|
|
27
|
+
// Source: MCP transport specification
|
|
28
|
+
// Fallback: Skip entries that don't match either pattern
|
|
29
|
+
|
|
30
|
+
export interface McpServerConfig {
|
|
31
|
+
name: string;
|
|
32
|
+
command?: string;
|
|
33
|
+
args?: string[];
|
|
34
|
+
url?: string;
|
|
35
|
+
env?: Record<string, string>;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface AgentConfigAdapter {
|
|
40
|
+
detect(configPath?: string): Promise<{ found: boolean; path: string; version?: string }>;
|
|
41
|
+
readMcpServers(): Promise<McpServerConfig[]>;
|
|
42
|
+
patchMcpServers(proxyPort: number, originals: McpServerConfig[]): Promise<void>;
|
|
43
|
+
restore(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export class OpenClawAdapter implements AgentConfigAdapter {
|
|
47
|
+
private configPath: string | null = null;
|
|
48
|
+
private backupPath: string | null = null;
|
|
49
|
+
|
|
50
|
+
private getDefaultPath(): string {
|
|
51
|
+
return path.join(os.homedir(), '.openclaw', 'openclaw.json');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async detect(configPath?: string): Promise<{ found: boolean; path: string; version?: string }> {
|
|
55
|
+
const p = configPath ?? this.getDefaultPath();
|
|
56
|
+
this.configPath = p;
|
|
57
|
+
this.backupPath = p + '.aga-backup';
|
|
58
|
+
|
|
59
|
+
if (!fs.existsSync(p)) {
|
|
60
|
+
return { found: false, path: p };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
const config = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
65
|
+
return {
|
|
66
|
+
found: true,
|
|
67
|
+
path: p,
|
|
68
|
+
version: config.version ?? config.openclaw_version ?? undefined,
|
|
69
|
+
};
|
|
70
|
+
} catch {
|
|
71
|
+
return { found: false, path: p };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async readMcpServers(): Promise<McpServerConfig[]> {
|
|
76
|
+
if (!this.configPath) throw new Error('Call detect() first');
|
|
77
|
+
|
|
78
|
+
const config = JSON.parse(fs.readFileSync(this.configPath, 'utf-8'));
|
|
79
|
+
const servers = config.mcpServers ?? {};
|
|
80
|
+
return Object.entries(servers).map(([name, entry]) => ({
|
|
81
|
+
name,
|
|
82
|
+
...(entry as Record<string, unknown>),
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async patchMcpServers(proxyPort: number, originals: McpServerConfig[]): Promise<void> {
|
|
87
|
+
if (!this.configPath || !this.backupPath) throw new Error('Call detect() first');
|
|
88
|
+
|
|
89
|
+
// Backup original
|
|
90
|
+
const originalContent = fs.readFileSync(this.configPath, 'utf-8');
|
|
91
|
+
fs.writeFileSync(this.backupPath, originalContent);
|
|
92
|
+
|
|
93
|
+
const config = JSON.parse(originalContent);
|
|
94
|
+
|
|
95
|
+
// Rewrite each MCP server entry to point at the proxy
|
|
96
|
+
// The proxy will forward to the original command/URL
|
|
97
|
+
for (const server of originals) {
|
|
98
|
+
if (config.mcpServers?.[server.name]) {
|
|
99
|
+
const original = config.mcpServers[server.name];
|
|
100
|
+
|
|
101
|
+
// Store original config for the proxy to use
|
|
102
|
+
config.mcpServers[server.name] = {
|
|
103
|
+
// Point at proxy instead
|
|
104
|
+
url: `http://127.0.0.1:${proxyPort}`,
|
|
105
|
+
// Preserve metadata
|
|
106
|
+
_aga_original: original,
|
|
107
|
+
_aga_governed: true,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
fs.writeFileSync(this.configPath, JSON.stringify(config, null, 2));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
async restore(): Promise<void> {
|
|
116
|
+
if (!this.configPath || !this.backupPath) throw new Error('Call detect() first');
|
|
117
|
+
|
|
118
|
+
if (fs.existsSync(this.backupPath)) {
|
|
119
|
+
fs.copyFileSync(this.backupPath, this.configPath);
|
|
120
|
+
fs.unlinkSync(this.backupPath);
|
|
121
|
+
} else {
|
|
122
|
+
throw new Error('No backup found - cannot restore');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|