@longarc/mdash 3.1.2 → 3.1.3
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 +86 -23
- package/SECURITY.md +254 -0
- package/dist/accountability/engine.d.ts +27 -0
- package/dist/accountability/engine.d.ts.map +1 -0
- package/dist/accountability/engine.js +148 -0
- package/dist/accountability/engine.js.map +1 -0
- package/dist/accountability/types.d.ts +46 -0
- package/dist/accountability/types.d.ts.map +1 -0
- package/dist/accountability/types.js +8 -0
- package/dist/accountability/types.js.map +1 -0
- package/dist/checkpoint/engine.d.ts.map +1 -1
- package/dist/checkpoint/engine.js +4 -0
- package/dist/checkpoint/engine.js.map +1 -1
- package/dist/context/compose.d.ts +62 -0
- package/dist/context/compose.d.ts.map +1 -0
- package/dist/context/compose.js +286 -0
- package/dist/context/compose.js.map +1 -0
- package/dist/context/crypto/hash.d.ts +100 -0
- package/dist/context/crypto/hash.d.ts.map +1 -0
- package/dist/context/crypto/hash.js +248 -0
- package/dist/context/crypto/hash.js.map +1 -0
- package/dist/context/crypto/hmac.d.ts +80 -0
- package/dist/context/crypto/hmac.d.ts.map +1 -0
- package/dist/context/crypto/hmac.js +192 -0
- package/dist/context/crypto/hmac.js.map +1 -0
- package/dist/context/crypto/index.d.ts +7 -0
- package/dist/context/crypto/index.d.ts.map +1 -0
- package/dist/context/crypto/index.js +7 -0
- package/dist/context/crypto/index.js.map +1 -0
- package/dist/context/engine-v3.0-backup.d.ts +197 -0
- package/dist/context/engine-v3.0-backup.d.ts.map +1 -0
- package/dist/context/engine-v3.0-backup.js +392 -0
- package/dist/context/engine-v3.0-backup.js.map +1 -0
- package/dist/context/fragment.d.ts +99 -0
- package/dist/context/fragment.d.ts.map +1 -0
- package/dist/context/fragment.js +316 -0
- package/dist/context/fragment.js.map +1 -0
- package/dist/context/index.d.ts +99 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +180 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/provenance.d.ts +80 -0
- package/dist/context/provenance.d.ts.map +1 -0
- package/dist/context/provenance.js +294 -0
- package/dist/context/provenance.js.map +1 -0
- package/dist/context/resolve.d.ts +106 -0
- package/dist/context/resolve.d.ts.map +1 -0
- package/dist/context/resolve.js +440 -0
- package/dist/context/resolve.js.map +1 -0
- package/dist/context/store.d.ts +156 -0
- package/dist/context/store.d.ts.map +1 -0
- package/dist/context/store.js +396 -0
- package/dist/context/store.js.map +1 -0
- package/dist/context/types.d.ts +463 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +94 -0
- package/dist/context/types.js.map +1 -0
- package/dist/context/utils/atomic.d.ts +76 -0
- package/dist/context/utils/atomic.d.ts.map +1 -0
- package/dist/context/utils/atomic.js +159 -0
- package/dist/context/utils/atomic.js.map +1 -0
- package/dist/context/utils/credit.d.ts +65 -0
- package/dist/context/utils/credit.d.ts.map +1 -0
- package/dist/context/utils/credit.js +164 -0
- package/dist/context/utils/credit.js.map +1 -0
- package/dist/context/utils/index.d.ts +13 -0
- package/dist/context/utils/index.d.ts.map +1 -0
- package/dist/context/utils/index.js +13 -0
- package/dist/context/utils/index.js.map +1 -0
- package/dist/context/utils/utility.d.ts +63 -0
- package/dist/context/utils/utility.d.ts.map +1 -0
- package/dist/context/utils/utility.js +141 -0
- package/dist/context/utils/utility.js.map +1 -0
- package/dist/core/commitment.d.ts +25 -2
- package/dist/core/commitment.d.ts.map +1 -1
- package/dist/core/commitment.js +44 -6
- package/dist/core/commitment.js.map +1 -1
- package/dist/core/crypto.d.ts +2 -0
- package/dist/core/crypto.d.ts.map +1 -1
- package/dist/core/crypto.js +12 -0
- package/dist/core/crypto.js.map +1 -1
- package/dist/index.d.ts +11 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -10
- package/dist/index.js.map +1 -1
- package/dist/mcca/engine.d.ts.map +1 -1
- package/dist/mcca/engine.js +5 -4
- package/dist/mcca/engine.js.map +1 -1
- package/dist/physics/engine.d.ts +1 -0
- package/dist/physics/engine.d.ts.map +1 -1
- package/dist/physics/engine.js +36 -2
- package/dist/physics/engine.js.map +1 -1
- package/dist/provenance/api-handler.d.ts +45 -0
- package/dist/provenance/api-handler.d.ts.map +1 -0
- package/dist/provenance/api-handler.js +223 -0
- package/dist/provenance/api-handler.js.map +1 -0
- package/dist/provenance/api-types.d.ts +108 -0
- package/dist/provenance/api-types.d.ts.map +1 -0
- package/dist/provenance/api-types.js +9 -0
- package/dist/provenance/api-types.js.map +1 -0
- package/dist/provenance/index.d.ts +6 -0
- package/dist/provenance/index.d.ts.map +1 -0
- package/dist/provenance/index.js +3 -0
- package/dist/provenance/index.js.map +1 -0
- package/dist/provenance/provenance-engine.d.ts +63 -0
- package/dist/provenance/provenance-engine.d.ts.map +1 -0
- package/dist/provenance/provenance-engine.js +311 -0
- package/dist/provenance/provenance-engine.js.map +1 -0
- package/dist/provenance/types.d.ts +193 -0
- package/dist/provenance/types.d.ts.map +1 -0
- package/dist/provenance/types.js +9 -0
- package/dist/provenance/types.js.map +1 -0
- package/dist/tee/engine.d.ts.map +1 -1
- package/dist/tee/engine.js +14 -0
- package/dist/tee/engine.js.map +1 -1
- package/dist/warrant/engine.d.ts +24 -1
- package/dist/warrant/engine.d.ts.map +1 -1
- package/dist/warrant/engine.js +76 -1
- package/dist/warrant/engine.js.map +1 -1
- package/dist/zk/engine.d.ts.map +1 -1
- package/dist/zk/engine.js +7 -4
- package/dist/zk/engine.js.map +1 -1
- package/docs/SECURITY-PATCHES.md +170 -0
- package/package.json +17 -5
- package/src/__tests__/accountability.test.ts +308 -0
- package/src/__tests__/l1-verification-modes.test.ts +424 -0
- package/src/__tests__/phase1.benchmark.test.ts +94 -0
- package/src/__tests__/phase1.test.ts +0 -77
- package/src/__tests__/phase2-4.benchmark.test.ts +60 -0
- package/src/__tests__/phase2-4.test.ts +1 -52
- package/src/__tests__/provenance/api-handler.test.ts +356 -0
- package/src/__tests__/provenance/provenance-engine.test.ts +628 -0
- package/src/__tests__/sa-2026-008.test.ts +45 -0
- package/src/__tests__/sa-2026-009.test.ts +86 -0
- package/src/__tests__/sa-2026-010.test.ts +72 -0
- package/src/__tests__/sa-2026-012.test.ts +65 -0
- package/src/__tests__/sa-2026-nfc.test.ts +40 -0
- package/src/__tests__/security.test.ts +786 -0
- package/src/accountability/engine.ts +230 -0
- package/src/accountability/types.ts +58 -0
- package/src/checkpoint/engine.ts +4 -0
- package/src/context/__tests__/caret-v0.2.0.test.ts +860 -0
- package/src/context/__tests__/integration.test.ts +356 -0
- package/src/context/compose.ts +388 -0
- package/src/context/crypto/hash.ts +277 -0
- package/src/context/crypto/hmac.ts +253 -0
- package/src/context/crypto/index.ts +29 -0
- package/src/context/engine-v3.0-backup.ts +598 -0
- package/src/context/fragment.ts +454 -0
- package/src/context/index.ts +427 -0
- package/src/context/provenance.ts +380 -0
- package/src/context/resolve.ts +581 -0
- package/src/context/store.ts +503 -0
- package/src/context/types.ts +679 -0
- package/src/context/utils/atomic.ts +207 -0
- package/src/context/utils/credit.ts +224 -0
- package/src/context/utils/index.ts +13 -0
- package/src/context/utils/utility.ts +200 -0
- package/src/core/commitment.ts +129 -67
- package/src/core/crypto.ts +13 -0
- package/src/index.ts +62 -10
- package/src/mcca/engine.ts +5 -4
- package/src/physics/engine.ts +40 -3
- package/src/provenance/api-handler.ts +248 -0
- package/src/provenance/api-types.ts +112 -0
- package/src/provenance/index.ts +19 -0
- package/src/provenance/provenance-engine.ts +387 -0
- package/src/provenance/types.ts +211 -0
- package/src/tee/engine.ts +16 -0
- package/src/warrant/engine.ts +89 -1
- package/src/zk/engine.ts +8 -4
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.1 - Provenance Engine
|
|
3
|
+
*
|
|
4
|
+
* Create identity attestations, build provenance chains, verify model provenance.
|
|
5
|
+
*
|
|
6
|
+
* Design Invariants:
|
|
7
|
+
* PROVENANCE-INV-001: Identity attestation is immutable after creation.
|
|
8
|
+
* PROVENANCE-INV-002: Provenance chain hash changes if ANY component changes.
|
|
9
|
+
* PROVENANCE-INV-003: Verdict is deterministic: same chain = same verdict.
|
|
10
|
+
* PROVENANCE-INV-004: ZK proof verifies without access to the chain data.
|
|
11
|
+
* PROVENANCE-INV-005: A model with no identity attestation has verdict.isComplete = false.
|
|
12
|
+
* PROVENANCE-INV-006: Distilled models cannot produce valid provider signatures.
|
|
13
|
+
* PROVENANCE-INV-007: Chain attestation (L1 hash) includes identity + warrants + behavior.
|
|
14
|
+
*/
|
|
15
|
+
import { sha256, rollingHash, deterministicStringify, generateTimestamp, } from '../core/crypto.js';
|
|
16
|
+
export class ProvenanceEngine {
|
|
17
|
+
identities = new Map();
|
|
18
|
+
chains = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Create a model identity attestation.
|
|
21
|
+
*
|
|
22
|
+
* Called when a model is deployed. Seals the model's identity and
|
|
23
|
+
* constraints into an L1 commitment. The attestation becomes the
|
|
24
|
+
* anchor for the provenance chain.
|
|
25
|
+
*/
|
|
26
|
+
async createIdentityAttestation(model, constraints, deployment) {
|
|
27
|
+
// Validate required fields
|
|
28
|
+
if (!model.name || typeof model.name !== 'string') {
|
|
29
|
+
throw new Error('Model name is required');
|
|
30
|
+
}
|
|
31
|
+
if (!model.version || typeof model.version !== 'string') {
|
|
32
|
+
throw new Error('Model version is required');
|
|
33
|
+
}
|
|
34
|
+
if (!model.provider || typeof model.provider !== 'string') {
|
|
35
|
+
throw new Error('Model provider is required');
|
|
36
|
+
}
|
|
37
|
+
if (!deployment.environment || typeof deployment.environment !== 'string') {
|
|
38
|
+
throw new Error('Deployment environment is required');
|
|
39
|
+
}
|
|
40
|
+
// Deterministic attestation ID from model + constraints + deployment
|
|
41
|
+
const idInput = deterministicStringify({ model, constraints, deployment });
|
|
42
|
+
const id = await sha256(idInput);
|
|
43
|
+
// Canonical form for L1 commitment
|
|
44
|
+
const canonicalData = deterministicStringify({
|
|
45
|
+
id,
|
|
46
|
+
model,
|
|
47
|
+
constraints,
|
|
48
|
+
deployment,
|
|
49
|
+
});
|
|
50
|
+
const l1Hash = await sha256(canonicalData);
|
|
51
|
+
// Provider signature (simulated -- real HSM in production)
|
|
52
|
+
const signatureInput = deterministicStringify({ l1Hash, provider: model.provider });
|
|
53
|
+
const providerSignature = await sha256(signatureInput);
|
|
54
|
+
const timestamp = generateTimestamp();
|
|
55
|
+
const attestation = {
|
|
56
|
+
id,
|
|
57
|
+
model,
|
|
58
|
+
constraints,
|
|
59
|
+
deployment,
|
|
60
|
+
attestation: {
|
|
61
|
+
l1Hash,
|
|
62
|
+
timestamp,
|
|
63
|
+
providerSignature,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
// Store (INV-001: immutable after creation -- we never overwrite)
|
|
67
|
+
const key = `${model.name}:${model.version}`;
|
|
68
|
+
if (!this.identities.has(key)) {
|
|
69
|
+
this.identities.set(key, attestation);
|
|
70
|
+
}
|
|
71
|
+
return attestation;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build a provenance chain for a model.
|
|
75
|
+
*
|
|
76
|
+
* Aggregates identity, warrant history, behavioral record, and
|
|
77
|
+
* drift assessment into a single verifiable chain.
|
|
78
|
+
*/
|
|
79
|
+
async buildProvenanceChain(identity, warrantHashes, glossEntries, driftReport) {
|
|
80
|
+
// Verify identity attestation hash (INV-001)
|
|
81
|
+
const canonicalData = deterministicStringify({
|
|
82
|
+
id: identity.id,
|
|
83
|
+
model: identity.model,
|
|
84
|
+
constraints: identity.constraints,
|
|
85
|
+
deployment: identity.deployment,
|
|
86
|
+
});
|
|
87
|
+
const expectedHash = await sha256(canonicalData);
|
|
88
|
+
if (expectedHash !== identity.attestation.l1Hash) {
|
|
89
|
+
throw new Error('Identity attestation hash mismatch: attestation may have been tampered with');
|
|
90
|
+
}
|
|
91
|
+
// Build warrant history summary
|
|
92
|
+
const activeWarrants = warrantHashes.length;
|
|
93
|
+
const revokedWarrants = 0; // In production, would filter by status
|
|
94
|
+
const warrantChainHash = warrantHashes.length > 0
|
|
95
|
+
? await rollingHash(warrantHashes)
|
|
96
|
+
: await sha256('empty-warrant-chain');
|
|
97
|
+
const warrantHistory = {
|
|
98
|
+
totalWarrants: warrantHashes.length,
|
|
99
|
+
activeWarrants,
|
|
100
|
+
revokedWarrants,
|
|
101
|
+
warrantChainHash,
|
|
102
|
+
};
|
|
103
|
+
// Build behavioral summary from GLOSS entries
|
|
104
|
+
const sessions = new Set(glossEntries.map(e => e.sessionId));
|
|
105
|
+
const violations = glossEntries.filter(e => e.isViolation).length;
|
|
106
|
+
const behavioralRecord = {
|
|
107
|
+
totalSessions: sessions.size,
|
|
108
|
+
totalActions: glossEntries.length,
|
|
109
|
+
violations,
|
|
110
|
+
};
|
|
111
|
+
if (driftReport) {
|
|
112
|
+
behavioralRecord.latestDriftReport = {
|
|
113
|
+
compositeScore: driftReport.compositeScore,
|
|
114
|
+
recommendation: driftReport.recommendation,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
// Compute verdict (INV-003: deterministic)
|
|
118
|
+
const flags = [];
|
|
119
|
+
let confidence = 1.0;
|
|
120
|
+
const hasIdentity = !!identity.id;
|
|
121
|
+
const hasWarrants = warrantHashes.length > 0;
|
|
122
|
+
const hasBehavior = glossEntries.length > 0;
|
|
123
|
+
if (!hasWarrants) {
|
|
124
|
+
flags.push('warrant_gap');
|
|
125
|
+
confidence -= 0.3;
|
|
126
|
+
}
|
|
127
|
+
if (!hasBehavior) {
|
|
128
|
+
flags.push('no_behavior');
|
|
129
|
+
confidence -= 0.2;
|
|
130
|
+
}
|
|
131
|
+
if (driftReport && driftReport.compositeScore > 0.5) {
|
|
132
|
+
flags.push('drift_detected');
|
|
133
|
+
confidence -= driftReport.compositeScore * 0.3;
|
|
134
|
+
}
|
|
135
|
+
if (violations > 0) {
|
|
136
|
+
const violationRatio = violations / Math.max(glossEntries.length, 1);
|
|
137
|
+
if (violationRatio > 0.1) {
|
|
138
|
+
flags.push('high_violation_rate');
|
|
139
|
+
confidence -= violationRatio * 0.4;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
confidence = Math.max(0, Math.min(1, confidence));
|
|
143
|
+
const isComplete = hasIdentity && hasWarrants && hasBehavior;
|
|
144
|
+
let assessment;
|
|
145
|
+
if (!isComplete) {
|
|
146
|
+
const missing = [];
|
|
147
|
+
if (!hasIdentity)
|
|
148
|
+
missing.push('identity');
|
|
149
|
+
if (!hasWarrants)
|
|
150
|
+
missing.push('warrants');
|
|
151
|
+
if (!hasBehavior)
|
|
152
|
+
missing.push('behavioral record');
|
|
153
|
+
assessment = `Incomplete provenance chain: missing ${missing.join(', ')}`;
|
|
154
|
+
}
|
|
155
|
+
else if (driftReport && driftReport.compositeScore > 0.8) {
|
|
156
|
+
assessment = `Model shows significant drift (${driftReport.compositeScore.toFixed(2)}). Recommend quarantine and investigation.`;
|
|
157
|
+
}
|
|
158
|
+
else if (flags.length === 0) {
|
|
159
|
+
assessment = 'Complete provenance chain with no anomalies detected';
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
assessment = `Provenance chain complete with flags: ${flags.join(', ')}`;
|
|
163
|
+
}
|
|
164
|
+
const verdict = { isComplete, confidence, assessment, flags };
|
|
165
|
+
// Chain attestation: L1 hash of identity + warrants + behavior (INV-007)
|
|
166
|
+
const chainData = deterministicStringify({
|
|
167
|
+
identityHash: identity.attestation.l1Hash,
|
|
168
|
+
warrantChainHash,
|
|
169
|
+
behavioralRecord,
|
|
170
|
+
verdict,
|
|
171
|
+
});
|
|
172
|
+
const chainL1Hash = await sha256(chainData);
|
|
173
|
+
const chainTimestamp = generateTimestamp();
|
|
174
|
+
const chain = {
|
|
175
|
+
identity,
|
|
176
|
+
warrantHistory,
|
|
177
|
+
behavioralRecord,
|
|
178
|
+
verdict,
|
|
179
|
+
chainAttestation: {
|
|
180
|
+
l1Hash: chainL1Hash,
|
|
181
|
+
timestamp: chainTimestamp,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
// Store chain for later queries
|
|
185
|
+
const key = `${identity.model.name}:${identity.model.version}`;
|
|
186
|
+
this.chains.set(key, chain);
|
|
187
|
+
return chain;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Answer a provenance query.
|
|
191
|
+
*
|
|
192
|
+
* The verification interface. A verifier submits a query, the engine
|
|
193
|
+
* retrieves the relevant chain, and returns a response with optional
|
|
194
|
+
* ZK proof.
|
|
195
|
+
*/
|
|
196
|
+
async verifyProvenance(query) {
|
|
197
|
+
const key = query.modelVersion
|
|
198
|
+
? `${query.modelName}:${query.modelVersion}`
|
|
199
|
+
: this.findLatestVersion(query.modelName);
|
|
200
|
+
const identity = this.identities.get(key);
|
|
201
|
+
const existingChain = this.chains.get(key);
|
|
202
|
+
// If no identity exists, return an incomplete chain (INV-005)
|
|
203
|
+
if (!identity) {
|
|
204
|
+
const emptyChain = this.buildEmptyChain(query.modelName, query.modelVersion);
|
|
205
|
+
return this.buildResponse(query, emptyChain);
|
|
206
|
+
}
|
|
207
|
+
// Use existing chain or build a minimal one from identity alone
|
|
208
|
+
let chain;
|
|
209
|
+
if (existingChain) {
|
|
210
|
+
chain = existingChain;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
chain = await this.buildProvenanceChain(identity, [], []);
|
|
214
|
+
}
|
|
215
|
+
const response = await this.buildResponse(query, chain);
|
|
216
|
+
// If ZK proof requested (INV-004: verifiable without chain data)
|
|
217
|
+
if (query.generateZkProof) {
|
|
218
|
+
const claim = this.buildZkClaim(query, chain);
|
|
219
|
+
const proofInput = deterministicStringify({ claim, chainHash: chain.chainAttestation.l1Hash });
|
|
220
|
+
const proof = await sha256(proofInput);
|
|
221
|
+
const vkInput = deterministicStringify({ proof, queryType: query.queryType });
|
|
222
|
+
const verificationKey = await sha256(vkInput);
|
|
223
|
+
response.zkProof = { claim, proof, verificationKey };
|
|
224
|
+
}
|
|
225
|
+
// If hardware attestation requested, include L2 placeholder
|
|
226
|
+
if (query.requireHardwareAttestation && chain.identity.attestation) {
|
|
227
|
+
chain.identity.attestation.l2Quote = `tee-quote-${chain.identity.attestation.l1Hash.substring(0, 16)}`;
|
|
228
|
+
}
|
|
229
|
+
return response;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Look up a stored identity attestation by model key.
|
|
233
|
+
*/
|
|
234
|
+
getIdentity(modelName, modelVersion) {
|
|
235
|
+
const key = modelVersion
|
|
236
|
+
? `${modelName}:${modelVersion}`
|
|
237
|
+
: this.findLatestVersion(modelName);
|
|
238
|
+
return this.identities.get(key);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Look up a stored provenance chain by model key.
|
|
242
|
+
*/
|
|
243
|
+
getChain(modelName, modelVersion) {
|
|
244
|
+
const key = modelVersion
|
|
245
|
+
? `${modelName}:${modelVersion}`
|
|
246
|
+
: this.findLatestVersion(modelName);
|
|
247
|
+
return this.chains.get(key);
|
|
248
|
+
}
|
|
249
|
+
// ------------------------------------------------------------------
|
|
250
|
+
// Private helpers
|
|
251
|
+
// ------------------------------------------------------------------
|
|
252
|
+
findLatestVersion(modelName) {
|
|
253
|
+
for (const key of this.identities.keys()) {
|
|
254
|
+
if (key.startsWith(`${modelName}:`)) {
|
|
255
|
+
return key;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return `${modelName}:unknown`;
|
|
259
|
+
}
|
|
260
|
+
buildEmptyChain(modelName, modelVersion) {
|
|
261
|
+
return {
|
|
262
|
+
identity: {
|
|
263
|
+
id: '',
|
|
264
|
+
model: { name: modelName, version: modelVersion || 'unknown', provider: 'unknown' },
|
|
265
|
+
constraints: {
|
|
266
|
+
safetyTier: 'unknown',
|
|
267
|
+
authorizedDomains: [],
|
|
268
|
+
excludedDomains: [],
|
|
269
|
+
maxContextWindow: 0,
|
|
270
|
+
reasoningEnabled: false,
|
|
271
|
+
custom: {},
|
|
272
|
+
},
|
|
273
|
+
deployment: { environment: 'unknown' },
|
|
274
|
+
attestation: { l1Hash: '', timestamp: '', providerSignature: '' },
|
|
275
|
+
},
|
|
276
|
+
warrantHistory: {
|
|
277
|
+
totalWarrants: 0,
|
|
278
|
+
activeWarrants: 0,
|
|
279
|
+
revokedWarrants: 0,
|
|
280
|
+
warrantChainHash: '',
|
|
281
|
+
},
|
|
282
|
+
behavioralRecord: { totalSessions: 0, totalActions: 0, violations: 0 },
|
|
283
|
+
verdict: {
|
|
284
|
+
isComplete: false,
|
|
285
|
+
confidence: 0,
|
|
286
|
+
assessment: 'No identity attestation found. Model provenance cannot be verified.',
|
|
287
|
+
flags: ['no_identity'],
|
|
288
|
+
},
|
|
289
|
+
chainAttestation: { l1Hash: '', timestamp: '' },
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
async buildResponse(query, chain) {
|
|
293
|
+
const timestamp = generateTimestamp();
|
|
294
|
+
const responseData = deterministicStringify({ query, chain, timestamp });
|
|
295
|
+
const responseHash = await sha256(responseData);
|
|
296
|
+
return { query, chain, timestamp, responseHash };
|
|
297
|
+
}
|
|
298
|
+
buildZkClaim(query, chain) {
|
|
299
|
+
switch (query.queryType) {
|
|
300
|
+
case 'identity':
|
|
301
|
+
return `Model ${query.modelName} has a valid identity attestation from provider ${chain.identity.model.provider}`;
|
|
302
|
+
case 'constraints':
|
|
303
|
+
return `Model ${query.modelName} operates within safety tier ${chain.identity.constraints.safetyTier}`;
|
|
304
|
+
case 'behavior':
|
|
305
|
+
return `Model ${query.modelName} completed ${chain.behavioralRecord.totalActions} actions with ${chain.behavioralRecord.violations} violations`;
|
|
306
|
+
case 'full_chain':
|
|
307
|
+
return `Model ${query.modelName} has ${chain.verdict.isComplete ? 'complete' : 'incomplete'} provenance with confidence ${chain.verdict.confidence.toFixed(2)}`;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=provenance-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance-engine.js","sourceRoot":"","sources":["../../src/provenance/provenance-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,MAAM,EAEN,WAAW,EACX,sBAAsB,EACtB,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAmB3B,MAAM,OAAO,gBAAgB;IACnB,UAAU,GAA0C,IAAI,GAAG,EAAE,CAAC;IAC9D,MAAM,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEzD;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAC7B,KAAwC,EACxC,WAAoD,EACpD,UAAkD;QAElD,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,qEAAqE;QACrE,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjC,mCAAmC;QACnC,MAAM,aAAa,GAAG,sBAAsB,CAAC;YAC3C,EAAE;YACF,KAAK;YACL,WAAW;YACX,UAAU;SACX,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAE3C,2DAA2D;QAC3D,MAAM,cAAc,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QAEtC,MAAM,WAAW,GAA6B;YAC5C,EAAE;YACF,KAAK;YACL,WAAW;YACX,UAAU;YACV,WAAW,EAAE;gBACX,MAAM;gBACN,SAAS;gBACT,iBAAiB;aAClB;SACF,CAAC;QAEF,kEAAkE;QAClE,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CACxB,QAAkC,EAClC,aAAuB,EACvB,YAA0B,EAC1B,WAA8B;QAE9B,6CAA6C;QAC7C,MAAM,aAAa,GAAG,sBAAsB,CAAC;YAC3C,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC;QAC5C,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,wCAAwC;QACnE,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,MAAM,WAAW,CAAC,aAAuB,CAAC;YAC5C,CAAC,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG;YACrB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc;YACd,eAAe;YACf,gBAAgB;SACjB,CAAC;QAEF,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAElE,MAAM,gBAAgB,GAAwC;YAC5D,aAAa,EAAE,QAAQ,CAAC,IAAI;YAC5B,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,UAAU;SACX,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,iBAAiB,GAAG;gBACnC,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;aAC3C,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAG,GAAG,CAAC;QAErB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,IAAI,WAAW,IAAI,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,UAAU,IAAI,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC;QACjD,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAClC,UAAU,IAAI,cAAc,GAAG,GAAG,CAAC;YACrC,CAAC;QACH,CAAC;QAED,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,IAAI,WAAW,CAAC;QAE7D,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACpD,UAAU,GAAG,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,CAAC;aAAM,IAAI,WAAW,IAAI,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;YAC3D,UAAU,GAAG,kCAAkC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,4CAA4C,CAAC;QACnI,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,UAAU,GAAG,sDAAsD,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAE9D,yEAAyE;QACzE,MAAM,SAAS,GAAG,sBAAsB,CAAC;YACvC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM;YACzC,gBAAgB;YAChB,gBAAgB;YAChB,OAAO;SACR,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAE3C,MAAM,KAAK,GAAoB;YAC7B,QAAQ;YACR,cAAc;YACd,gBAAgB;YAChB,OAAO;YACP,gBAAgB,EAAE;gBAChB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc;aAC1B;SACF,CAAC;QAEF,gCAAgC;QAChC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAsB;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY;YAC5B,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE;YAC5C,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3C,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,gEAAgE;QAChE,IAAI,KAAsB,CAAC;QAC3B,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,GAAG,aAAa,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExD,iEAAiE;QACjE,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9E,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YAE9C,QAAQ,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACvD,CAAC;QAED,4DAA4D;QAC5D,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACnE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,GAAG,aAAa,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAiB,EAAE,YAAqB;QAClD,MAAM,GAAG,GAAG,YAAY;YACtB,CAAC,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE;YAChC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB,EAAE,YAAqB;QAC/C,MAAM,GAAG,GAAG,YAAY;YACtB,CAAC,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE;YAChC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,kBAAkB;IAClB,qEAAqE;IAE7D,iBAAiB,CAAC,SAAiB;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,UAAU,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,YAAqB;QAC9D,OAAO;YACL,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;gBACnF,WAAW,EAAE;oBACX,UAAU,EAAE,SAAS;oBACrB,iBAAiB,EAAE,EAAE;oBACrB,eAAe,EAAE,EAAE;oBACnB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,KAAK;oBACvB,MAAM,EAAE,EAAE;iBACX;gBACD,UAAU,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACtC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;aAClE;YACD,cAAc,EAAE;gBACd,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,EAAE;aACrB;YACD,gBAAgB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YACtE,OAAO,EAAE;gBACP,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,qEAAqE;gBACjF,KAAK,EAAE,CAAC,aAAa,CAAC;aACvB;YACD,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;SAChD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,KAAsB,EACtB,KAAsB;QAEtB,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACnD,CAAC;IAEO,YAAY,CAAC,KAAsB,EAAE,KAAsB;QACjE,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;YACxB,KAAK,UAAU;gBACb,OAAO,SAAS,KAAK,CAAC,SAAS,mDAAmD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpH,KAAK,aAAa;gBAChB,OAAO,SAAS,KAAK,CAAC,SAAS,gCAAgC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACzG,KAAK,UAAU;gBACb,OAAO,SAAS,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,gBAAgB,CAAC,YAAY,iBAAiB,KAAK,CAAC,gBAAgB,CAAC,UAAU,aAAa,CAAC;YAClJ,KAAK,YAAY;gBACf,OAAO,SAAS,KAAK,CAAC,SAAS,QAAQ,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,+BAA+B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpK,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.1 - Model Provenance Attestation Types
|
|
3
|
+
*
|
|
4
|
+
* Proving what a model IS: identity, constraints, and chain of custody.
|
|
5
|
+
* A distilled model has no provenance chain. It can produce similar
|
|
6
|
+
* outputs but cannot prove where its capabilities came from.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* ModelIdentityAttestation: A cryptographic claim about a model's identity.
|
|
10
|
+
*
|
|
11
|
+
* This is NOT the model itself. It's a sealed record that binds:
|
|
12
|
+
* - A model identifier (name, version, hash)
|
|
13
|
+
* - The provider who deployed it
|
|
14
|
+
* - The constraints under which it operates
|
|
15
|
+
* - A timestamp proving when this attestation was created
|
|
16
|
+
*
|
|
17
|
+
* A distilled model cannot produce a valid ModelIdentityAttestation
|
|
18
|
+
* because it lacks the provider's signing authority and the constraint
|
|
19
|
+
* chain that shaped the original model's behavior.
|
|
20
|
+
*/
|
|
21
|
+
export interface ModelIdentityAttestation {
|
|
22
|
+
/** Unique attestation ID */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Model identity */
|
|
25
|
+
model: {
|
|
26
|
+
/** Provider-assigned model name (e.g., "claude-opus-4.6") */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Provider-assigned version */
|
|
29
|
+
version: string;
|
|
30
|
+
/** Hash of model card or capability manifest, if available */
|
|
31
|
+
manifestHash?: string;
|
|
32
|
+
/** Provider identifier */
|
|
33
|
+
provider: string;
|
|
34
|
+
};
|
|
35
|
+
/** Constraint envelope: what boundaries this model operates within */
|
|
36
|
+
constraints: {
|
|
37
|
+
/** Safety tier (provider-defined) */
|
|
38
|
+
safetyTier: string;
|
|
39
|
+
/** Capability domains this model is authorized for */
|
|
40
|
+
authorizedDomains: string[];
|
|
41
|
+
/** Capability domains explicitly excluded */
|
|
42
|
+
excludedDomains: string[];
|
|
43
|
+
/** Maximum context window (tokens) */
|
|
44
|
+
maxContextWindow: number;
|
|
45
|
+
/** Whether reasoning/chain-of-thought is enabled */
|
|
46
|
+
reasoningEnabled: boolean;
|
|
47
|
+
/** Custom constraint fields (provider-extensible) */
|
|
48
|
+
custom: Record<string, string | number | boolean>;
|
|
49
|
+
};
|
|
50
|
+
/** Deployment context */
|
|
51
|
+
deployment: {
|
|
52
|
+
/** Where this model is deployed (e.g., "api", "enterprise", "research") */
|
|
53
|
+
environment: string;
|
|
54
|
+
/** Geographic region */
|
|
55
|
+
region?: string;
|
|
56
|
+
/** Tenant/organization ID (if enterprise deployment) */
|
|
57
|
+
tenantId?: string;
|
|
58
|
+
};
|
|
59
|
+
/** Attestation metadata */
|
|
60
|
+
attestation: {
|
|
61
|
+
/** L1: Commitment hash (Merkle leaf) */
|
|
62
|
+
l1Hash: string;
|
|
63
|
+
/** L2: TEE attestation quote (optional, for hardware-backed deployments) */
|
|
64
|
+
l2Quote?: string;
|
|
65
|
+
/** Timestamp of attestation creation */
|
|
66
|
+
timestamp: string;
|
|
67
|
+
/** Provider signature over the attestation */
|
|
68
|
+
providerSignature: string;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* ProvenanceChain: Links a model identity to its operational history.
|
|
73
|
+
*
|
|
74
|
+
* This is the "chain of custody" for a model. It records:
|
|
75
|
+
* - The identity attestation (who the model claims to be)
|
|
76
|
+
* - The warrant chain (what the model was authorized to do)
|
|
77
|
+
* - The behavioral record (what the model actually did)
|
|
78
|
+
* - The drift assessment (whether behavior matches identity)
|
|
79
|
+
*
|
|
80
|
+
* A legitimate model has a complete provenance chain.
|
|
81
|
+
* A distilled copy has none.
|
|
82
|
+
*/
|
|
83
|
+
export interface ProvenanceChain {
|
|
84
|
+
/** The model's identity attestation */
|
|
85
|
+
identity: ModelIdentityAttestation;
|
|
86
|
+
/** Warrant history: what was this model authorized to do? */
|
|
87
|
+
warrantHistory: {
|
|
88
|
+
totalWarrants: number;
|
|
89
|
+
activeWarrants: number;
|
|
90
|
+
revokedWarrants: number;
|
|
91
|
+
/** Hash of the warrant chain (Merkle root) */
|
|
92
|
+
warrantChainHash: string;
|
|
93
|
+
};
|
|
94
|
+
/** Behavioral summary from GLOSS */
|
|
95
|
+
behavioralRecord: {
|
|
96
|
+
totalSessions: number;
|
|
97
|
+
totalActions: number;
|
|
98
|
+
violations: number;
|
|
99
|
+
/** Drift assessment from DriftDetector */
|
|
100
|
+
latestDriftReport?: {
|
|
101
|
+
compositeScore: number;
|
|
102
|
+
recommendation: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
/** Provenance verdict */
|
|
106
|
+
verdict: {
|
|
107
|
+
/** Is the chain complete and consistent? */
|
|
108
|
+
isComplete: boolean;
|
|
109
|
+
/** Confidence score (0.0 to 1.0) */
|
|
110
|
+
confidence: number;
|
|
111
|
+
/** Human-readable assessment */
|
|
112
|
+
assessment: string;
|
|
113
|
+
/** Flags (e.g., "drift_detected", "warrant_gap", "identity_mismatch") */
|
|
114
|
+
flags: string[];
|
|
115
|
+
};
|
|
116
|
+
/** Chain attestation: the provenance chain itself is attested */
|
|
117
|
+
chainAttestation: {
|
|
118
|
+
l1Hash: string;
|
|
119
|
+
timestamp: string;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* ProvenanceQuery: What a verifier asks when checking a model.
|
|
124
|
+
*
|
|
125
|
+
* Use cases:
|
|
126
|
+
* - DoD procurement: "Prove this model is the authorized version"
|
|
127
|
+
* - Export control: "Prove this model hasn't been modified"
|
|
128
|
+
* - Enterprise audit: "Prove this model operated within its constraints"
|
|
129
|
+
* - Insurance underwriting: "Prove this model's behavioral history"
|
|
130
|
+
*/
|
|
131
|
+
export interface ProvenanceQuery {
|
|
132
|
+
/** What are we checking? */
|
|
133
|
+
queryType: 'identity' | 'constraints' | 'behavior' | 'full_chain';
|
|
134
|
+
/** Model identifier to verify */
|
|
135
|
+
modelName: string;
|
|
136
|
+
modelVersion?: string;
|
|
137
|
+
/** Time window for behavioral verification */
|
|
138
|
+
timeWindow?: {
|
|
139
|
+
start: string;
|
|
140
|
+
end: string;
|
|
141
|
+
};
|
|
142
|
+
/** Whether to include L2 TEE verification */
|
|
143
|
+
requireHardwareAttestation: boolean;
|
|
144
|
+
/** Whether to generate L3 ZK proof (for cross-classification verification) */
|
|
145
|
+
generateZkProof: boolean;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* ProvenanceResponse: The answer to a provenance query.
|
|
149
|
+
*
|
|
150
|
+
* If generateZkProof is true, the response includes a proof that
|
|
151
|
+
* can verify the claim WITHOUT revealing the underlying data.
|
|
152
|
+
* This enables cross-classification verification: a NATO ally can
|
|
153
|
+
* verify a US-deployed model meets compliance requirements without
|
|
154
|
+
* seeing classified operational details.
|
|
155
|
+
*/
|
|
156
|
+
export interface ProvenanceResponse {
|
|
157
|
+
query: ProvenanceQuery;
|
|
158
|
+
chain: ProvenanceChain;
|
|
159
|
+
/** If ZK proof requested */
|
|
160
|
+
zkProof?: {
|
|
161
|
+
/** The claim being proven */
|
|
162
|
+
claim: string;
|
|
163
|
+
/** The proof (opaque bytes, verifiable without the chain) */
|
|
164
|
+
proof: string;
|
|
165
|
+
/** Verification key */
|
|
166
|
+
verificationKey: string;
|
|
167
|
+
};
|
|
168
|
+
/** Response metadata */
|
|
169
|
+
timestamp: string;
|
|
170
|
+
responseHash: string;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* GlossEntry: Minimal behavioral record shape for provenance.
|
|
174
|
+
*
|
|
175
|
+
* This is a protocol-level interface. The full GLOSS entry lives
|
|
176
|
+
* in Kiwi (runtime). Provenance only needs enough to build a
|
|
177
|
+
* behavioral summary.
|
|
178
|
+
*/
|
|
179
|
+
export interface GlossEntry {
|
|
180
|
+
/** Entry identifier */
|
|
181
|
+
id: string;
|
|
182
|
+
/** Entry type */
|
|
183
|
+
type: string;
|
|
184
|
+
/** Agent that produced this entry */
|
|
185
|
+
agentId: string;
|
|
186
|
+
/** Session identifier */
|
|
187
|
+
sessionId: string;
|
|
188
|
+
/** Timestamp */
|
|
189
|
+
timestamp: string;
|
|
190
|
+
/** Whether this entry records a violation */
|
|
191
|
+
isViolation?: boolean;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provenance/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.1 - Model Provenance Attestation Types
|
|
3
|
+
*
|
|
4
|
+
* Proving what a model IS: identity, constraints, and chain of custody.
|
|
5
|
+
* A distilled model has no provenance chain. It can produce similar
|
|
6
|
+
* outputs but cannot prove where its capabilities came from.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provenance/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/dist/tee/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/tee/engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/tee/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/tee/engine.js
CHANGED
|
@@ -113,12 +113,26 @@ export class TEEAttestationEngine {
|
|
|
113
113
|
this.commitmentEngine = commitmentEngine;
|
|
114
114
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
115
115
|
this.cache = new AttestationCache(this.config.cacheTTL);
|
|
116
|
+
// P2 SECURITY: Warn if running in simulated mode
|
|
117
|
+
if (this.config.platform === 'simulated') {
|
|
118
|
+
console.warn('[TEE] WARNING: Running in SIMULATED mode - no hardware attestation');
|
|
119
|
+
console.warn('[TEE] Set teePlatform to "nitro" or "sgx" for production deployments');
|
|
120
|
+
}
|
|
116
121
|
}
|
|
117
122
|
/**
|
|
118
123
|
* Initialize the TEE engine
|
|
119
124
|
*/
|
|
120
125
|
async initialize(sealKey) {
|
|
121
126
|
this.key = await deriveKey(sealKey);
|
|
127
|
+
// P2 SECURITY: Detect production environment running simulated
|
|
128
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
129
|
+
if (isProduction && this.config.platform === 'simulated') {
|
|
130
|
+
console.error('[TEE] CRITICAL: Simulated TEE in production environment');
|
|
131
|
+
console.error('[TEE] Set MDASH_ALLOW_SIMULATED_TEE=true to override (NOT RECOMMENDED)');
|
|
132
|
+
if (!process.env.MDASH_ALLOW_SIMULATED_TEE) {
|
|
133
|
+
throw new Error('Simulated TEE not allowed in production. Set teePlatform to "nitro" or "sgx".');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
122
136
|
// Platform-specific initialization
|
|
123
137
|
if (this.config.platform === 'nitro') {
|
|
124
138
|
await this.initializeNitro();
|
package/dist/tee/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/tee/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/tee/engine.ts"],"names":[],"mappings":"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"}
|