@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.
Files changed (172) hide show
  1. package/README.md +86 -23
  2. package/SECURITY.md +254 -0
  3. package/dist/accountability/engine.d.ts +27 -0
  4. package/dist/accountability/engine.d.ts.map +1 -0
  5. package/dist/accountability/engine.js +148 -0
  6. package/dist/accountability/engine.js.map +1 -0
  7. package/dist/accountability/types.d.ts +46 -0
  8. package/dist/accountability/types.d.ts.map +1 -0
  9. package/dist/accountability/types.js +8 -0
  10. package/dist/accountability/types.js.map +1 -0
  11. package/dist/checkpoint/engine.d.ts.map +1 -1
  12. package/dist/checkpoint/engine.js +4 -0
  13. package/dist/checkpoint/engine.js.map +1 -1
  14. package/dist/context/compose.d.ts +62 -0
  15. package/dist/context/compose.d.ts.map +1 -0
  16. package/dist/context/compose.js +286 -0
  17. package/dist/context/compose.js.map +1 -0
  18. package/dist/context/crypto/hash.d.ts +100 -0
  19. package/dist/context/crypto/hash.d.ts.map +1 -0
  20. package/dist/context/crypto/hash.js +248 -0
  21. package/dist/context/crypto/hash.js.map +1 -0
  22. package/dist/context/crypto/hmac.d.ts +80 -0
  23. package/dist/context/crypto/hmac.d.ts.map +1 -0
  24. package/dist/context/crypto/hmac.js +192 -0
  25. package/dist/context/crypto/hmac.js.map +1 -0
  26. package/dist/context/crypto/index.d.ts +7 -0
  27. package/dist/context/crypto/index.d.ts.map +1 -0
  28. package/dist/context/crypto/index.js +7 -0
  29. package/dist/context/crypto/index.js.map +1 -0
  30. package/dist/context/engine-v3.0-backup.d.ts +197 -0
  31. package/dist/context/engine-v3.0-backup.d.ts.map +1 -0
  32. package/dist/context/engine-v3.0-backup.js +392 -0
  33. package/dist/context/engine-v3.0-backup.js.map +1 -0
  34. package/dist/context/fragment.d.ts +99 -0
  35. package/dist/context/fragment.d.ts.map +1 -0
  36. package/dist/context/fragment.js +316 -0
  37. package/dist/context/fragment.js.map +1 -0
  38. package/dist/context/index.d.ts +99 -0
  39. package/dist/context/index.d.ts.map +1 -0
  40. package/dist/context/index.js +180 -0
  41. package/dist/context/index.js.map +1 -0
  42. package/dist/context/provenance.d.ts +80 -0
  43. package/dist/context/provenance.d.ts.map +1 -0
  44. package/dist/context/provenance.js +294 -0
  45. package/dist/context/provenance.js.map +1 -0
  46. package/dist/context/resolve.d.ts +106 -0
  47. package/dist/context/resolve.d.ts.map +1 -0
  48. package/dist/context/resolve.js +440 -0
  49. package/dist/context/resolve.js.map +1 -0
  50. package/dist/context/store.d.ts +156 -0
  51. package/dist/context/store.d.ts.map +1 -0
  52. package/dist/context/store.js +396 -0
  53. package/dist/context/store.js.map +1 -0
  54. package/dist/context/types.d.ts +463 -0
  55. package/dist/context/types.d.ts.map +1 -0
  56. package/dist/context/types.js +94 -0
  57. package/dist/context/types.js.map +1 -0
  58. package/dist/context/utils/atomic.d.ts +76 -0
  59. package/dist/context/utils/atomic.d.ts.map +1 -0
  60. package/dist/context/utils/atomic.js +159 -0
  61. package/dist/context/utils/atomic.js.map +1 -0
  62. package/dist/context/utils/credit.d.ts +65 -0
  63. package/dist/context/utils/credit.d.ts.map +1 -0
  64. package/dist/context/utils/credit.js +164 -0
  65. package/dist/context/utils/credit.js.map +1 -0
  66. package/dist/context/utils/index.d.ts +13 -0
  67. package/dist/context/utils/index.d.ts.map +1 -0
  68. package/dist/context/utils/index.js +13 -0
  69. package/dist/context/utils/index.js.map +1 -0
  70. package/dist/context/utils/utility.d.ts +63 -0
  71. package/dist/context/utils/utility.d.ts.map +1 -0
  72. package/dist/context/utils/utility.js +141 -0
  73. package/dist/context/utils/utility.js.map +1 -0
  74. package/dist/core/commitment.d.ts +25 -2
  75. package/dist/core/commitment.d.ts.map +1 -1
  76. package/dist/core/commitment.js +44 -6
  77. package/dist/core/commitment.js.map +1 -1
  78. package/dist/core/crypto.d.ts +2 -0
  79. package/dist/core/crypto.d.ts.map +1 -1
  80. package/dist/core/crypto.js +12 -0
  81. package/dist/core/crypto.js.map +1 -1
  82. package/dist/index.d.ts +11 -6
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +35 -10
  85. package/dist/index.js.map +1 -1
  86. package/dist/mcca/engine.d.ts.map +1 -1
  87. package/dist/mcca/engine.js +5 -4
  88. package/dist/mcca/engine.js.map +1 -1
  89. package/dist/physics/engine.d.ts +1 -0
  90. package/dist/physics/engine.d.ts.map +1 -1
  91. package/dist/physics/engine.js +36 -2
  92. package/dist/physics/engine.js.map +1 -1
  93. package/dist/provenance/api-handler.d.ts +45 -0
  94. package/dist/provenance/api-handler.d.ts.map +1 -0
  95. package/dist/provenance/api-handler.js +223 -0
  96. package/dist/provenance/api-handler.js.map +1 -0
  97. package/dist/provenance/api-types.d.ts +108 -0
  98. package/dist/provenance/api-types.d.ts.map +1 -0
  99. package/dist/provenance/api-types.js +9 -0
  100. package/dist/provenance/api-types.js.map +1 -0
  101. package/dist/provenance/index.d.ts +6 -0
  102. package/dist/provenance/index.d.ts.map +1 -0
  103. package/dist/provenance/index.js +3 -0
  104. package/dist/provenance/index.js.map +1 -0
  105. package/dist/provenance/provenance-engine.d.ts +63 -0
  106. package/dist/provenance/provenance-engine.d.ts.map +1 -0
  107. package/dist/provenance/provenance-engine.js +311 -0
  108. package/dist/provenance/provenance-engine.js.map +1 -0
  109. package/dist/provenance/types.d.ts +193 -0
  110. package/dist/provenance/types.d.ts.map +1 -0
  111. package/dist/provenance/types.js +9 -0
  112. package/dist/provenance/types.js.map +1 -0
  113. package/dist/tee/engine.d.ts.map +1 -1
  114. package/dist/tee/engine.js +14 -0
  115. package/dist/tee/engine.js.map +1 -1
  116. package/dist/warrant/engine.d.ts +24 -1
  117. package/dist/warrant/engine.d.ts.map +1 -1
  118. package/dist/warrant/engine.js +76 -1
  119. package/dist/warrant/engine.js.map +1 -1
  120. package/dist/zk/engine.d.ts.map +1 -1
  121. package/dist/zk/engine.js +7 -4
  122. package/dist/zk/engine.js.map +1 -1
  123. package/docs/SECURITY-PATCHES.md +170 -0
  124. package/package.json +17 -5
  125. package/src/__tests__/accountability.test.ts +308 -0
  126. package/src/__tests__/l1-verification-modes.test.ts +424 -0
  127. package/src/__tests__/phase1.benchmark.test.ts +94 -0
  128. package/src/__tests__/phase1.test.ts +0 -77
  129. package/src/__tests__/phase2-4.benchmark.test.ts +60 -0
  130. package/src/__tests__/phase2-4.test.ts +1 -52
  131. package/src/__tests__/provenance/api-handler.test.ts +356 -0
  132. package/src/__tests__/provenance/provenance-engine.test.ts +628 -0
  133. package/src/__tests__/sa-2026-008.test.ts +45 -0
  134. package/src/__tests__/sa-2026-009.test.ts +86 -0
  135. package/src/__tests__/sa-2026-010.test.ts +72 -0
  136. package/src/__tests__/sa-2026-012.test.ts +65 -0
  137. package/src/__tests__/sa-2026-nfc.test.ts +40 -0
  138. package/src/__tests__/security.test.ts +786 -0
  139. package/src/accountability/engine.ts +230 -0
  140. package/src/accountability/types.ts +58 -0
  141. package/src/checkpoint/engine.ts +4 -0
  142. package/src/context/__tests__/caret-v0.2.0.test.ts +860 -0
  143. package/src/context/__tests__/integration.test.ts +356 -0
  144. package/src/context/compose.ts +388 -0
  145. package/src/context/crypto/hash.ts +277 -0
  146. package/src/context/crypto/hmac.ts +253 -0
  147. package/src/context/crypto/index.ts +29 -0
  148. package/src/context/engine-v3.0-backup.ts +598 -0
  149. package/src/context/fragment.ts +454 -0
  150. package/src/context/index.ts +427 -0
  151. package/src/context/provenance.ts +380 -0
  152. package/src/context/resolve.ts +581 -0
  153. package/src/context/store.ts +503 -0
  154. package/src/context/types.ts +679 -0
  155. package/src/context/utils/atomic.ts +207 -0
  156. package/src/context/utils/credit.ts +224 -0
  157. package/src/context/utils/index.ts +13 -0
  158. package/src/context/utils/utility.ts +200 -0
  159. package/src/core/commitment.ts +129 -67
  160. package/src/core/crypto.ts +13 -0
  161. package/src/index.ts +62 -10
  162. package/src/mcca/engine.ts +5 -4
  163. package/src/physics/engine.ts +40 -3
  164. package/src/provenance/api-handler.ts +248 -0
  165. package/src/provenance/api-types.ts +112 -0
  166. package/src/provenance/index.ts +19 -0
  167. package/src/provenance/provenance-engine.ts +387 -0
  168. package/src/provenance/types.ts +211 -0
  169. package/src/tee/engine.ts +16 -0
  170. package/src/warrant/engine.ts +89 -1
  171. package/src/zk/engine.ts +8 -4
  172. package/tsconfig.json +1 -1
@@ -38,7 +38,7 @@ export interface Warrant {
38
38
  policy_id: string;
39
39
  /** Current state */
40
40
  state: WarrantState;
41
- /** Accountability tier */
41
+ /** Liability tier */
42
42
  tier: WarrantTier;
43
43
  /** Operational constraints */
44
44
  constraints: WarrantConstraints;
@@ -85,8 +85,13 @@ export declare class WarrantCache {
85
85
  private cache;
86
86
  private speculative;
87
87
  private revocations;
88
+ private verifyKey;
88
89
  private readonly DEFAULT_TTL;
89
90
  private readonly SPECULATIVE_TTL;
91
+ /**
92
+ * P2 SECURITY: Set verification key for seal checks on retrieval
93
+ */
94
+ setVerificationKey(key: CryptoKey): void;
90
95
  /**
91
96
  * Store a warrant in cache
92
97
  */
@@ -96,6 +101,11 @@ export declare class WarrantCache {
96
101
  * Returns null if not found, expired, or revoked
97
102
  */
98
103
  get(id: WarrantId): Warrant | SpeculativeWarrant | null;
104
+ /**
105
+ * P2 SECURITY: Get warrant with seal verification
106
+ * Use for security-critical operations to prevent cache poisoning
107
+ */
108
+ getVerified(id: WarrantId): Promise<Warrant | SpeculativeWarrant | null>;
99
109
  /**
100
110
  * Get speculative warrants for an agent
101
111
  * For pre-staged activation
@@ -129,6 +139,9 @@ export declare class WarrantEngine {
129
139
  private commitmentEngine;
130
140
  private eventLog;
131
141
  private lastEventHash;
142
+ private creationRateLimits;
143
+ private readonly CREATION_RATE_LIMIT;
144
+ private readonly CREATION_RATE_WINDOW_MS;
132
145
  constructor(commitmentEngine: CommitmentEngine);
133
146
  /**
134
147
  * Initialize the engine with a seal key
@@ -174,6 +187,11 @@ export declare class WarrantEngine {
174
187
  * Check if action meets warrant constraints
175
188
  */
176
189
  private meetsConstraints;
190
+ /**
191
+ * P3 SECURITY: Check rate limit for warrant creation
192
+ * Prevents DoS via cache flooding
193
+ */
194
+ private checkCreationRateLimit;
177
195
  /**
178
196
  * Log a warrant event with hash chain
179
197
  */
@@ -182,6 +200,11 @@ export declare class WarrantEngine {
182
200
  * Get event log for a warrant
183
201
  */
184
202
  getEventLog(warrantId?: WarrantId): WarrantEvent[];
203
+ /**
204
+ * Check if a warrant has been revoked
205
+ * P1 SECURITY: Used for TOCTOU protection in execute flow
206
+ */
207
+ isRevoked(id: WarrantId): boolean;
185
208
  /**
186
209
  * Get cache statistics
187
210
  */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/warrant/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/warrant/engine.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,20 @@
9
9
  * - WARRANT-INV-002: Revocation propagates to all caches within 100ms
10
10
  * - WARRANT-INV-003: Activated warrants immediately sealed (L1)
11
11
  */
12
- import { generateWarrantId, generateTimestamp, sha256Object, hmacSeal, deriveKey, } from '../core/crypto.js';
12
+ import { generateWarrantId, generateTimestamp, sha256Object, hmacSeal, hmacVerify, deriveKey, } from '../core/crypto.js';
13
13
  export class WarrantCache {
14
14
  cache = new Map();
15
15
  speculative = new Map(); // agent_id -> warrant_ids
16
16
  revocations = new Set();
17
+ verifyKey = null;
17
18
  DEFAULT_TTL = 5 * 60 * 1000; // 5 minutes
18
19
  SPECULATIVE_TTL = 60 * 1000; // 60 seconds (WARRANT-INV-001)
20
+ /**
21
+ * P2 SECURITY: Set verification key for seal checks on retrieval
22
+ */
23
+ setVerificationKey(key) {
24
+ this.verifyKey = key;
25
+ }
19
26
  /**
20
27
  * Store a warrant in cache
21
28
  */
@@ -55,6 +62,41 @@ export class WarrantCache {
55
62
  }
56
63
  return entry.warrant;
57
64
  }
65
+ /**
66
+ * P2 SECURITY: Get warrant with seal verification
67
+ * Use for security-critical operations to prevent cache poisoning
68
+ */
69
+ async getVerified(id) {
70
+ const warrant = this.get(id);
71
+ if (!warrant)
72
+ return null;
73
+ // If no verification key set, fall back to unverified (log warning)
74
+ if (!this.verifyKey) {
75
+ console.warn('WarrantCache.getVerified called without verification key');
76
+ return warrant;
77
+ }
78
+ // Verify seal integrity
79
+ const warrantData = {
80
+ _v: 1,
81
+ id: warrant.id,
82
+ agent_id: warrant.agent_id,
83
+ policy_id: warrant.policy_id,
84
+ state: warrant.state === 'SPECULATIVE' ? 'SPECULATIVE' : warrant.state,
85
+ tier: warrant.tier,
86
+ constraints: warrant.constraints,
87
+ created_at: warrant.created_at,
88
+ expires_at: warrant.expires_at,
89
+ issued_by: warrant.issued_by,
90
+ };
91
+ const isValid = await hmacVerify(warrantData, warrant.seal, this.verifyKey);
92
+ if (!isValid) {
93
+ // P2 SECURITY: Cache poisoning detected - remove and return null
94
+ console.error(`SECURITY: Warrant seal verification failed for ${id}`);
95
+ this.cache.delete(id);
96
+ return null;
97
+ }
98
+ return warrant;
99
+ }
58
100
  /**
59
101
  * Get speculative warrants for an agent
60
102
  * For pre-staged activation
@@ -125,6 +167,10 @@ export class WarrantEngine {
125
167
  commitmentEngine;
126
168
  eventLog = [];
127
169
  lastEventHash = null;
170
+ // P3 SECURITY: Rate limiting for warrant creation
171
+ creationRateLimits = new Map();
172
+ CREATION_RATE_LIMIT = 100; // Max warrants per issuer per minute
173
+ CREATION_RATE_WINDOW_MS = 60 * 1000;
128
174
  constructor(commitmentEngine) {
129
175
  this.cache = new WarrantCache();
130
176
  this.commitmentEngine = commitmentEngine;
@@ -134,6 +180,8 @@ export class WarrantEngine {
134
180
  */
135
181
  async initialize(sealKey) {
136
182
  this.key = await deriveKey(sealKey);
183
+ // P2 SECURITY: Enable seal verification on cache retrieval
184
+ this.cache.setVerificationKey(this.key);
137
185
  }
138
186
  /**
139
187
  * Create a speculative warrant (pre-staged)
@@ -143,6 +191,8 @@ export class WarrantEngine {
143
191
  if (!this.key) {
144
192
  throw new Error('Engine not initialized. Call initialize() first.');
145
193
  }
194
+ // P3 SECURITY: Rate limit warrant creation per issuer
195
+ this.checkCreationRateLimit(params.issued_by);
146
196
  const startTime = performance.now();
147
197
  const id = generateWarrantId();
148
198
  const now = generateTimestamp();
@@ -346,6 +396,24 @@ export class WarrantEngine {
346
396
  }
347
397
  return true;
348
398
  }
399
+ /**
400
+ * P3 SECURITY: Check rate limit for warrant creation
401
+ * Prevents DoS via cache flooding
402
+ */
403
+ checkCreationRateLimit(issuerId) {
404
+ const now = Date.now();
405
+ let limiter = this.creationRateLimits.get(issuerId);
406
+ // Reset window if expired
407
+ if (!limiter || now - limiter.windowStart > this.CREATION_RATE_WINDOW_MS) {
408
+ limiter = { count: 0, windowStart: now };
409
+ }
410
+ limiter.count++;
411
+ this.creationRateLimits.set(issuerId, limiter);
412
+ if (limiter.count > this.CREATION_RATE_LIMIT) {
413
+ console.warn(`[WARRANT] Rate limit exceeded for issuer: ${issuerId}`);
414
+ throw new Error('Warrant creation rate limit exceeded');
415
+ }
416
+ }
349
417
  /**
350
418
  * Log a warrant event with hash chain
351
419
  */
@@ -379,6 +447,13 @@ export class WarrantEngine {
379
447
  }
380
448
  return [...this.eventLog];
381
449
  }
450
+ /**
451
+ * Check if a warrant has been revoked
452
+ * P1 SECURITY: Used for TOCTOU protection in execute flow
453
+ */
454
+ isRevoked(id) {
455
+ return this.cache.isRevoked(id);
456
+ }
382
457
  /**
383
458
  * Get cache statistics
384
459
  */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/warrant/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/warrant/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"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"}
package/dist/zk/engine.js CHANGED
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * @version 3.0.0
17
17
  */
18
- import { generateTimestamp, sha256, sha256Object, hmacSeal, deriveKey, } from '../core/crypto.js';
18
+ import { generateTimestamp, sha256, sha256Object, hmacSeal, deriveKey, constantTimeEqual, } from '../core/crypto.js';
19
19
  export const CIRCUIT_CONFIGS = {
20
20
  commitment_inclusion: {
21
21
  name: 'MerkleInclusionCircuit',
@@ -222,7 +222,8 @@ export class ZKProofsEngine {
222
222
  verified_at: generateTimestamp(),
223
223
  verifier: 'mdash-zk-engine-v3',
224
224
  };
225
- // Re-seal with proof included
225
+ // Re-seal with proof included (SA-2026-009: zero seal before computing)
226
+ item.document.seal = '';
226
227
  item.document.seal = await hmacSeal(item.document, this.key);
227
228
  // Commit to L1
228
229
  await this.commitmentEngine.commit(item.document, `zk:${item.document.id}`);
@@ -334,11 +335,13 @@ export class ZKProofsEngine {
334
335
  errors.push('No proof present');
335
336
  return { valid: false, errors };
336
337
  }
337
- // 3. Verify seal
338
+ // 3. Verify seal (SA-2026-009: constant-time comparison closes verification gap)
338
339
  const docForSeal = { ...document };
339
340
  docForSeal.seal = '';
340
341
  const expectedSeal = await hmacSeal(docForSeal, this.key);
341
- // Note: In production, seal verification would be more robust
342
+ if (!constantTimeEqual(expectedSeal, document.seal)) {
343
+ errors.push('Seal verification failed');
344
+ }
342
345
  // 4. Verify proof structure
343
346
  if (!document.proof.verifier_key_hash) {
344
347
  errors.push('Missing verifier key hash');
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/zk/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ # mdash v3.0 Security Patches
2
+
3
+ Applied: 2026-01-26
4
+ Auditor: Kai (Claude + security-reasoning skill)
5
+
6
+ ## Summary
7
+
8
+ | Priority | Issue | Status | File(s) |
9
+ |----------|-------|--------|---------|
10
+ | **P1** | TOCTOU in execute flow | ✅ Fixed | `index.ts`, `warrant-engine.ts` |
11
+ | **P2a** | Cache seal verification | ✅ Fixed | `warrant-engine.ts` |
12
+ | **P2b** | Simulated TEE detection | ✅ Fixed | `tee-engine.ts` |
13
+ | **P3a** | Error message sanitization | ✅ Fixed | `index.ts` |
14
+ | **P3b** | Warrant creation rate limiting | ✅ Fixed | `warrant-engine.ts` |
15
+ | **P4** | Constraint presence validation | ✅ Fixed | `physics-engine.ts` |
16
+ | **P5** | Minimum seal key length | ✅ Fixed | `crypto.ts` |
17
+
18
+ **Test Results:** 251 passed (including 33 security tests)
19
+
20
+ ---
21
+
22
+ ## Security Test Suite Added
23
+
24
+ New `security.test.ts` with comprehensive coverage:
25
+
26
+ ### Adversarial Input Testing
27
+ - Prototype pollution resistance (`__proto__`, `constructor`)
28
+ - Nested pollution handling
29
+ - Boundary value fuzzing (MAX_SAFE_INTEGER, negative, NaN, Infinity)
30
+ - Timestamp manipulation
31
+ - String injection (SQL-like, null bytes, unicode normalization)
32
+
33
+ ### Concurrent Access Testing (TOCTOU Verification)
34
+ - Concurrent warrant activations
35
+ - Revocation during execute flow
36
+ - High concurrency serialization
37
+ - Rate limiting under burst (100/min enforced)
38
+
39
+ ### Replay Attack Resistance
40
+ - Expired attestation detection
41
+ - Tampered seal detection
42
+ - Missing L1 commitment detection
43
+ - Unique ID generation
44
+ - Timestamp verification
45
+
46
+ ### Cross-Layer Failure Handling
47
+ - L1/L2 commitment reference verification
48
+ - Cross-layer reference mismatch detection
49
+ - Physics validation failure propagation
50
+ - Execute function failure handling
51
+ - Audit trail persistence on failure
52
+
53
+ ### Security Edge Cases
54
+ - Empty/short seal key rejection (32 char minimum)
55
+ - Long agent ID handling (10,000 chars)
56
+ - Special characters in policy ID
57
+ - Constant-time seal comparison
58
+
59
+ ---
60
+
61
+ ## P1: TOCTOU Fix (Critical)
62
+
63
+ **Problem:** Race condition between warrant authorization check and action execution.
64
+
65
+ **Fix:** Added warrant revocation re-check immediately before `params.execute()` call.
66
+
67
+ ```typescript
68
+ // In index.ts execute() method, before calling params.execute():
69
+ if (this.warrant.isRevoked(warrant.id)) {
70
+ await this.checkpoint.onError({...});
71
+ throw new Error('Authorization denied');
72
+ }
73
+ ```
74
+
75
+ ---
76
+
77
+ ## P2a: Cache Seal Verification
78
+
79
+ **Problem:** Cache retrieval lacked seal verification.
80
+
81
+ **Fix:** Added `getVerified()` method with HMAC verification.
82
+
83
+ ---
84
+
85
+ ## P2b: Simulated TEE Detection
86
+
87
+ **Problem:** Silent fallback to simulated mode in production.
88
+
89
+ **Fix:** Hard failure in `NODE_ENV=production` without explicit override.
90
+
91
+ ---
92
+
93
+ ## P3a: Error Message Sanitization
94
+
95
+ **Problem:** Errors leaked internal state.
96
+
97
+ **Fix:** Generic `"Authorization denied"` for all auth failures.
98
+
99
+ ---
100
+
101
+ ## P3b: Warrant Creation Rate Limiting
102
+
103
+ **Problem:** Unbounded warrant creation.
104
+
105
+ **Fix:** 100 warrants/minute per issuer.
106
+
107
+ ---
108
+
109
+ ## P4: Constraint Presence Validation
110
+
111
+ **Problem:** Nullish coalescing bypass with explicit undefined.
112
+
113
+ **Fix:** `Object.prototype.hasOwnProperty.call()` checks.
114
+
115
+ ---
116
+
117
+ ## P5: Minimum Seal Key Length (NEW)
118
+
119
+ **Problem:** Empty or weak seal keys accepted.
120
+
121
+ **Fix:** Enforce 32 character minimum in `deriveKey()`.
122
+
123
+ ```typescript
124
+ if (!masterKey || masterKey.length < 32) {
125
+ throw new Error('Seal key must be at least 32 characters');
126
+ }
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Files Included
132
+
133
+ 1. `index.ts` - Protocol entry point with TOCTOU fix, error sanitization
134
+ 2. `warrant-engine.ts` - isRevoked(), seal verification, rate limiting
135
+ 3. `tee-engine.ts` - Simulated mode detection
136
+ 4. `physics-engine.ts` - Constraint presence validation
137
+ 5. `crypto.ts` - Minimum key length validation
138
+ 6. `security.test.ts` - 33 new adversarial tests
139
+
140
+ ---
141
+
142
+ ## Application Instructions
143
+
144
+ ```bash
145
+ # From mdash root
146
+ cp mdash-security-patches/index.ts src/index.ts
147
+ cp mdash-security-patches/warrant-engine.ts src/warrant/engine.ts
148
+ cp mdash-security-patches/tee-engine.ts src/tee/engine.ts
149
+ cp mdash-security-patches/physics-engine.ts src/physics/engine.ts
150
+ cp mdash-security-patches/crypto.ts src/core/crypto.ts
151
+ cp mdash-security-patches/security.test.ts src/__tests__/security.test.ts
152
+
153
+ # Also update phase2-4 test key (was 31 chars, now needs 32)
154
+ # In src/__tests__/phase2-4.test.ts, change:
155
+ # const TEST_SEAL_KEY = 'test-seal-key-phase-2-4-v3.0.0';
156
+ # to:
157
+ # const TEST_SEAL_KEY = 'test-seal-key-phase-2-4-v3.0.0-x';
158
+
159
+ npm test # Expect 157 passing
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Remaining Considerations
165
+
166
+ 1. **Warrant expiry during execution** - Current implementation may need stronger expiry checking mid-flow
167
+ 2. **NaN handling in amounts** - NaN passes constraint checks (NaN > X is always false)
168
+ 3. **Unicode normalization** - Consider normalizing strings before hashing for consistency
169
+
170
+ These are documented in the test suite with "documents current behavior" comments.
package/package.json CHANGED
@@ -1,17 +1,28 @@
1
1
  {
2
2
  "name": "@longarc/mdash",
3
- "version": "3.1.2",
4
- "description": "Accountability infrastructure for autonomous AI agents — cryptographic attestation at execution speed.",
3
+ "version": "3.1.3",
4
+ "description": "Cryptographic attestation protocol for autonomous AI agents",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
+ "exports": {
9
+ ".": "./dist/index.js",
10
+ "./context": "./dist/context/index.js",
11
+ "./warrant": "./dist/warrant/engine.js",
12
+ "./physics": "./dist/physics/engine.js",
13
+ "./checkpoint": "./dist/checkpoint/engine.js",
14
+ "./mcca": "./dist/mcca/engine.js",
15
+ "./tee": "./dist/tee/engine.js",
16
+ "./zk": "./dist/zk/engine.js"
17
+ },
8
18
  "scripts": {
9
19
  "build": "tsc",
10
20
  "test": "vitest run",
11
21
  "test:watch": "vitest",
12
22
  "test:coverage": "vitest run --coverage",
13
23
  "lint": "eslint src --ext .ts",
14
- "clean": "rm -rf dist"
24
+ "clean": "rm -rf dist",
25
+ "typecheck": "tsc --noEmit"
15
26
  },
16
27
  "keywords": [
17
28
  "ai",
@@ -20,9 +31,10 @@
20
31
  "attestation",
21
32
  "cryptography",
22
33
  "tee",
23
- "zk-proofs"
34
+ "zk-proofs",
35
+ "warrant"
24
36
  ],
25
- "author": "Long Arc Studios <josh@mdash.sh>",
37
+ "author": "Long Arc Studios",
26
38
  "license": "MIT",
27
39
  "engines": {
28
40
  "node": ">=18.0.0"