bla-agents 1.1.0 → 1.6.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.
Files changed (279) hide show
  1. package/.agents/skills/blind-llm-agents/SKILL.md +20 -14
  2. package/DISCLAIMER.md +15 -7
  3. package/README.md +153 -198
  4. package/dist/bundler/index.d.ts +19 -2
  5. package/dist/bundler/index.d.ts.map +1 -1
  6. package/dist/bundler/index.js +47 -4
  7. package/dist/bundler/index.js.map +1 -1
  8. package/dist/cli.d.ts +5 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +123 -18
  11. package/dist/cli.js.map +1 -1
  12. package/dist/core/config.d.ts +54 -0
  13. package/dist/core/config.d.ts.map +1 -0
  14. package/dist/core/config.js +160 -0
  15. package/dist/core/config.js.map +1 -0
  16. package/dist/core/coverage-contract.d.ts +97 -0
  17. package/dist/core/coverage-contract.d.ts.map +1 -0
  18. package/dist/core/coverage-contract.js +164 -0
  19. package/dist/core/coverage-contract.js.map +1 -0
  20. package/dist/core/debug-posture.d.ts +40 -0
  21. package/dist/core/debug-posture.d.ts.map +1 -0
  22. package/dist/core/debug-posture.js +197 -0
  23. package/dist/core/debug-posture.js.map +1 -0
  24. package/dist/core/detector.d.ts.map +1 -1
  25. package/dist/core/detector.js +58 -6
  26. package/dist/core/detector.js.map +1 -1
  27. package/dist/core/identifiers.d.ts +32 -0
  28. package/dist/core/identifiers.d.ts.map +1 -0
  29. package/dist/core/identifiers.js +263 -0
  30. package/dist/core/identifiers.js.map +1 -0
  31. package/dist/core/llm-directives.d.ts +12 -0
  32. package/dist/core/llm-directives.d.ts.map +1 -0
  33. package/dist/core/llm-directives.js +23 -0
  34. package/dist/core/llm-directives.js.map +1 -0
  35. package/dist/core/prng.d.ts +10 -1
  36. package/dist/core/prng.d.ts.map +1 -1
  37. package/dist/core/prng.js +27 -2
  38. package/dist/core/prng.js.map +1 -1
  39. package/dist/core/release-exposure.d.ts.map +1 -1
  40. package/dist/core/release-exposure.js +13 -2
  41. package/dist/core/release-exposure.js.map +1 -1
  42. package/dist/core/release-plan.d.ts +68 -0
  43. package/dist/core/release-plan.d.ts.map +1 -0
  44. package/dist/core/release-plan.js +244 -0
  45. package/dist/core/release-plan.js.map +1 -0
  46. package/dist/core/sarif.d.ts +53 -0
  47. package/dist/core/sarif.d.ts.map +1 -0
  48. package/dist/core/sarif.js +95 -0
  49. package/dist/core/sarif.js.map +1 -0
  50. package/dist/core/sqlite-runtime.d.ts +13 -0
  51. package/dist/core/sqlite-runtime.d.ts.map +1 -1
  52. package/dist/core/sqlite-runtime.js +38 -8
  53. package/dist/core/sqlite-runtime.js.map +1 -1
  54. package/dist/core/types.d.ts +7 -2
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/dist/engine/auditor.d.ts.map +1 -1
  57. package/dist/engine/auditor.js +380 -19
  58. package/dist/engine/auditor.js.map +1 -1
  59. package/dist/engine/benchmark.d.ts +1 -1
  60. package/dist/engine/benchmark.d.ts.map +1 -1
  61. package/dist/engine/benchmark.js +121 -41
  62. package/dist/engine/benchmark.js.map +1 -1
  63. package/dist/engine/defender.d.ts +1 -0
  64. package/dist/engine/defender.d.ts.map +1 -1
  65. package/dist/engine/defender.js +7 -1
  66. package/dist/engine/defender.js.map +1 -1
  67. package/dist/engine/harden.d.ts +61 -0
  68. package/dist/engine/harden.d.ts.map +1 -0
  69. package/dist/engine/harden.js +294 -0
  70. package/dist/engine/harden.js.map +1 -0
  71. package/dist/engine/protector.d.ts.map +1 -1
  72. package/dist/engine/protector.js +242 -26
  73. package/dist/engine/protector.js.map +1 -1
  74. package/dist/identity.d.ts +112 -2
  75. package/dist/identity.d.ts.map +1 -1
  76. package/dist/identity.js +112 -2
  77. package/dist/identity.js.map +1 -1
  78. package/dist/index.d.ts +26 -9
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +26 -9
  81. package/dist/index.js.map +1 -1
  82. package/dist/mcp/server.d.ts +59 -152
  83. package/dist/mcp/server.d.ts.map +1 -1
  84. package/dist/mcp/server.js +466 -50
  85. package/dist/mcp/server.js.map +1 -1
  86. package/dist/setup/clients.d.ts +49 -1
  87. package/dist/setup/clients.d.ts.map +1 -1
  88. package/dist/setup/clients.js +1193 -20
  89. package/dist/setup/clients.js.map +1 -1
  90. package/dist/setup/doctor.d.ts +58 -14
  91. package/dist/setup/doctor.d.ts.map +1 -1
  92. package/dist/setup/doctor.js +316 -22
  93. package/dist/setup/doctor.js.map +1 -1
  94. package/dist/setup/setup.d.ts +77 -7
  95. package/dist/setup/setup.d.ts.map +1 -1
  96. package/dist/setup/setup.js +591 -62
  97. package/dist/setup/setup.js.map +1 -1
  98. package/dist/shields/chaff/chaff-generator.d.ts.map +1 -1
  99. package/dist/shields/chaff/chaff-generator.js +12 -3
  100. package/dist/shields/chaff/chaff-generator.js.map +1 -1
  101. package/dist/shields/deception/architecture-mirage.js +1 -1
  102. package/dist/shields/deception/architecture-mirage.js.map +1 -1
  103. package/dist/shields/deception/canary-honeypot.d.ts +33 -0
  104. package/dist/shields/deception/canary-honeypot.d.ts.map +1 -0
  105. package/dist/shields/deception/canary-honeypot.js +95 -0
  106. package/dist/shields/deception/canary-honeypot.js.map +1 -0
  107. package/dist/shields/deception/cognitive-armor-trigger.d.ts +43 -0
  108. package/dist/shields/deception/cognitive-armor-trigger.d.ts.map +1 -0
  109. package/dist/shields/deception/cognitive-armor-trigger.js +204 -0
  110. package/dist/shields/deception/cognitive-armor-trigger.js.map +1 -0
  111. package/dist/shields/deception/crash-trace-decoy.js +1 -1
  112. package/dist/shields/deception/crash-trace-decoy.js.map +1 -1
  113. package/dist/shields/deception/decompiler-illusion.js +1 -1
  114. package/dist/shields/deception/decompiler-illusion.js.map +1 -1
  115. package/dist/shields/deception/diff-noise-injector.js +1 -1
  116. package/dist/shields/deception/diff-noise-injector.js.map +1 -1
  117. package/dist/shields/deception/evidence-contract-poison.js +5 -5
  118. package/dist/shields/deception/evidence-contract-poison.js.map +1 -1
  119. package/dist/shields/deception/format-payloads.d.ts +21 -0
  120. package/dist/shields/deception/format-payloads.d.ts.map +1 -0
  121. package/dist/shields/deception/format-payloads.js +24 -0
  122. package/dist/shields/deception/format-payloads.js.map +1 -0
  123. package/dist/shields/deception/index.d.ts +10 -2
  124. package/dist/shields/deception/index.d.ts.map +1 -1
  125. package/dist/shields/deception/index.js +20 -3
  126. package/dist/shields/deception/index.js.map +1 -1
  127. package/dist/shields/deception/prompt-completion-poison.d.ts +3 -2
  128. package/dist/shields/deception/prompt-completion-poison.d.ts.map +1 -1
  129. package/dist/shields/deception/prompt-completion-poison.js +6 -3
  130. package/dist/shields/deception/prompt-completion-poison.js.map +1 -1
  131. package/dist/shields/deception/shadow-business-logic.js +4 -4
  132. package/dist/shields/deception/shadow-business-logic.js.map +1 -1
  133. package/dist/shields/deception/system-diagnostic-decoy.d.ts +36 -0
  134. package/dist/shields/deception/system-diagnostic-decoy.d.ts.map +1 -0
  135. package/dist/shields/deception/system-diagnostic-decoy.js +101 -0
  136. package/dist/shields/deception/system-diagnostic-decoy.js.map +1 -0
  137. package/dist/shields/exhaustion/asar-header-amplifier.d.ts +12 -3
  138. package/dist/shields/exhaustion/asar-header-amplifier.d.ts.map +1 -1
  139. package/dist/shields/exhaustion/asar-header-amplifier.js +30 -8
  140. package/dist/shields/exhaustion/asar-header-amplifier.js.map +1 -1
  141. package/dist/shields/exhaustion/bpe-token-amplifier.js +2 -2
  142. package/dist/shields/exhaustion/bpe-token-amplifier.js.map +1 -1
  143. package/dist/shields/exhaustion/callgraph-labyrinth.js +2 -2
  144. package/dist/shields/exhaustion/callgraph-labyrinth.js.map +1 -1
  145. package/dist/shields/exhaustion/cdp-shape-budget-breaker.js +1 -1
  146. package/dist/shields/exhaustion/cdp-shape-budget-breaker.js.map +1 -1
  147. package/dist/shields/exhaustion/frida-capture-saturation.d.ts +10 -5
  148. package/dist/shields/exhaustion/frida-capture-saturation.d.ts.map +1 -1
  149. package/dist/shields/exhaustion/frida-capture-saturation.js +21 -8
  150. package/dist/shields/exhaustion/frida-capture-saturation.js.map +1 -1
  151. package/dist/shields/exhaustion/index.d.ts +2 -2
  152. package/dist/shields/exhaustion/index.d.ts.map +1 -1
  153. package/dist/shields/exhaustion/index.js +2 -2
  154. package/dist/shields/exhaustion/index.js.map +1 -1
  155. package/dist/shields/exhaustion/obligation-flooder.d.ts +23 -6
  156. package/dist/shields/exhaustion/obligation-flooder.d.ts.map +1 -1
  157. package/dist/shields/exhaustion/obligation-flooder.js +29 -12
  158. package/dist/shields/exhaustion/obligation-flooder.js.map +1 -1
  159. package/dist/shields/exhaustion/rea-budget-matrix.d.ts +8 -2
  160. package/dist/shields/exhaustion/rea-budget-matrix.d.ts.map +1 -1
  161. package/dist/shields/exhaustion/rea-budget-matrix.js +139 -16
  162. package/dist/shields/exhaustion/rea-budget-matrix.js.map +1 -1
  163. package/dist/shields/exhaustion/regex-worker-tarpit.d.ts.map +1 -1
  164. package/dist/shields/exhaustion/regex-worker-tarpit.js +2 -1
  165. package/dist/shields/exhaustion/regex-worker-tarpit.js.map +1 -1
  166. package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts +7 -4
  167. package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts.map +1 -1
  168. package/dist/shields/exhaustion/wasm-interface-exhaustion.js +16 -7
  169. package/dist/shields/exhaustion/wasm-interface-exhaustion.js.map +1 -1
  170. package/dist/shields/formats/android-dex-xref.d.ts +19 -0
  171. package/dist/shields/formats/android-dex-xref.d.ts.map +1 -0
  172. package/dist/shields/formats/android-dex-xref.js +427 -0
  173. package/dist/shields/formats/android-dex-xref.js.map +1 -0
  174. package/dist/shields/formats/android-manifest.d.ts +44 -0
  175. package/dist/shields/formats/android-manifest.d.ts.map +1 -0
  176. package/dist/shields/formats/android-manifest.js +240 -0
  177. package/dist/shields/formats/android-manifest.js.map +1 -0
  178. package/dist/shields/formats/android-r8.d.ts +44 -0
  179. package/dist/shields/formats/android-r8.d.ts.map +1 -0
  180. package/dist/shields/formats/android-r8.js +246 -0
  181. package/dist/shields/formats/android-r8.js.map +1 -0
  182. package/dist/shields/formats/apple-plist.d.ts +15 -0
  183. package/dist/shields/formats/apple-plist.d.ts.map +1 -1
  184. package/dist/shields/formats/apple-plist.js +59 -1
  185. package/dist/shields/formats/apple-plist.js.map +1 -1
  186. package/dist/shields/formats/archive.d.ts +27 -6
  187. package/dist/shields/formats/archive.d.ts.map +1 -1
  188. package/dist/shields/formats/archive.js +247 -45
  189. package/dist/shields/formats/archive.js.map +1 -1
  190. package/dist/shields/formats/asar.d.ts +50 -10
  191. package/dist/shields/formats/asar.d.ts.map +1 -1
  192. package/dist/shields/formats/asar.js +265 -39
  193. package/dist/shields/formats/asar.js.map +1 -1
  194. package/dist/shields/formats/bun-standalone.d.ts +78 -0
  195. package/dist/shields/formats/bun-standalone.d.ts.map +1 -0
  196. package/dist/shields/formats/bun-standalone.js +272 -0
  197. package/dist/shields/formats/bun-standalone.js.map +1 -0
  198. package/dist/shields/formats/dotnet-managed.d.ts +9 -0
  199. package/dist/shields/formats/dotnet-managed.d.ts.map +1 -1
  200. package/dist/shields/formats/dotnet-managed.js +26 -1
  201. package/dist/shields/formats/dotnet-managed.js.map +1 -1
  202. package/dist/shields/formats/electron-fuses.d.ts +63 -8
  203. package/dist/shields/formats/electron-fuses.d.ts.map +1 -1
  204. package/dist/shields/formats/electron-fuses.js +297 -65
  205. package/dist/shields/formats/electron-fuses.js.map +1 -1
  206. package/dist/shields/formats/erlang-beam.d.ts +34 -0
  207. package/dist/shields/formats/erlang-beam.d.ts.map +1 -0
  208. package/dist/shields/formats/erlang-beam.js +319 -0
  209. package/dist/shields/formats/erlang-beam.js.map +1 -0
  210. package/dist/shields/formats/evm-bytecode.d.ts +28 -0
  211. package/dist/shields/formats/evm-bytecode.d.ts.map +1 -0
  212. package/dist/shields/formats/evm-bytecode.js +124 -0
  213. package/dist/shields/formats/evm-bytecode.js.map +1 -0
  214. package/dist/shields/formats/go-flutter-exhaustion.d.ts +55 -0
  215. package/dist/shields/formats/go-flutter-exhaustion.d.ts.map +1 -0
  216. package/dist/shields/formats/go-flutter-exhaustion.js +346 -0
  217. package/dist/shields/formats/go-flutter-exhaustion.js.map +1 -0
  218. package/dist/shields/formats/gpu-ptx.d.ts +40 -0
  219. package/dist/shields/formats/gpu-ptx.d.ts.map +1 -0
  220. package/dist/shields/formats/gpu-ptx.js +62 -0
  221. package/dist/shields/formats/gpu-ptx.js.map +1 -0
  222. package/dist/shields/formats/headers.d.ts.map +1 -1
  223. package/dist/shields/formats/headers.js +54 -14
  224. package/dist/shields/formats/headers.js.map +1 -1
  225. package/dist/shields/formats/jvm-bytecode.d.ts +20 -0
  226. package/dist/shields/formats/jvm-bytecode.d.ts.map +1 -0
  227. package/dist/shields/formats/jvm-bytecode.js +134 -0
  228. package/dist/shields/formats/jvm-bytecode.js.map +1 -0
  229. package/dist/shields/formats/mobile-game.d.ts +4 -0
  230. package/dist/shields/formats/mobile-game.d.ts.map +1 -1
  231. package/dist/shields/formats/mobile-game.js +16 -0
  232. package/dist/shields/formats/mobile-game.js.map +1 -1
  233. package/dist/shields/formats/model.d.ts +22 -8
  234. package/dist/shields/formats/model.d.ts.map +1 -1
  235. package/dist/shields/formats/model.js +231 -59
  236. package/dist/shields/formats/model.js.map +1 -1
  237. package/dist/shields/formats/native.d.ts +74 -11
  238. package/dist/shields/formats/native.d.ts.map +1 -1
  239. package/dist/shields/formats/native.js +557 -109
  240. package/dist/shields/formats/native.js.map +1 -1
  241. package/dist/shields/formats/pcap-capture.d.ts +27 -0
  242. package/dist/shields/formats/pcap-capture.d.ts.map +1 -0
  243. package/dist/shields/formats/pcap-capture.js +201 -0
  244. package/dist/shields/formats/pcap-capture.js.map +1 -0
  245. package/dist/shields/formats/python.d.ts +22 -1
  246. package/dist/shields/formats/python.d.ts.map +1 -1
  247. package/dist/shields/formats/python.js +568 -27
  248. package/dist/shields/formats/python.js.map +1 -1
  249. package/dist/shields/formats/sourcemap.d.ts.map +1 -1
  250. package/dist/shields/formats/sourcemap.js +2 -0
  251. package/dist/shields/formats/sourcemap.js.map +1 -1
  252. package/dist/shields/formats/sqlite.d.ts +87 -15
  253. package/dist/shields/formats/sqlite.d.ts.map +1 -1
  254. package/dist/shields/formats/sqlite.js +377 -42
  255. package/dist/shields/formats/sqlite.js.map +1 -1
  256. package/dist/shields/formats/wasm.d.ts +6 -0
  257. package/dist/shields/formats/wasm.d.ts.map +1 -1
  258. package/dist/shields/formats/wasm.js +118 -3
  259. package/dist/shields/formats/wasm.js.map +1 -1
  260. package/dist/shields/javascript/ast-shield.d.ts +26 -5
  261. package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
  262. package/dist/shields/javascript/ast-shield.js +748 -104
  263. package/dist/shields/javascript/ast-shield.js.map +1 -1
  264. package/dist/shields/runtime/memory-diff-shield.d.ts +56 -0
  265. package/dist/shields/runtime/memory-diff-shield.d.ts.map +1 -0
  266. package/dist/shields/runtime/memory-diff-shield.js +170 -0
  267. package/dist/shields/runtime/memory-diff-shield.js.map +1 -0
  268. package/dist/shields/runtime/runtime-shield.d.ts +12 -16
  269. package/dist/shields/runtime/runtime-shield.d.ts.map +1 -1
  270. package/dist/shields/runtime/runtime-shield.js +30 -24
  271. package/dist/shields/runtime/runtime-shield.js.map +1 -1
  272. package/dist/shields/tarpit/opaque-predicates.d.ts.map +1 -1
  273. package/dist/shields/tarpit/opaque-predicates.js +3 -3
  274. package/dist/shields/tarpit/opaque-predicates.js.map +1 -1
  275. package/dist/shields/tarpit/tarpit-generator.d.ts +9 -4
  276. package/dist/shields/tarpit/tarpit-generator.d.ts.map +1 -1
  277. package/dist/shields/tarpit/tarpit-generator.js +30 -23
  278. package/dist/shields/tarpit/tarpit-generator.js.map +1 -1
  279. package/package.json +13 -6
@@ -1,11 +1,17 @@
1
1
  /**
2
- * Exact 1:1 catalog of `morluto/rea` internal resource caps, parser limits,
3
- * and admission budgets extracted from REA's TypeScript source tree.
2
+ * Catalog of `morluto/rea` internal resource caps (tracked for drift via verify:rea).
3
+ *
4
+ * IMPORTANT: the DEFENSE does not rely on hitting `hardLimit + epsilon`. Emitters
5
+ * scale payloads ORDERS OF MAGNITUDE past these defaults across orthogonal dimensions
6
+ * (byte-size, element count, nesting depth, entropy, symbol count, obligation families).
7
+ * If an attacker `sed`s one constant higher, they still overflow elsewhere — or must
8
+ * delete the safety limit entirely (defeating their own tool's guardrails).
9
+ * `verify:rea` tracks drift for awareness; it is NOT proof of protection.
4
10
  */
5
11
  export const REA_BUDGET_BREAKER_MATRIX = [
6
12
  {
7
13
  id: "js-primitive-candidates",
8
- reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts:7",
14
+ reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
9
15
  constantName: "SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT",
10
16
  hardLimit: 256,
11
17
  unit: "alternatives",
@@ -14,7 +20,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
14
20
  },
15
21
  {
16
22
  id: "js-expression-depth",
17
- reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts:9",
23
+ reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
18
24
  constantName: "SEMANTIC_EXPRESSION_DEPTH_LIMIT",
19
25
  hardLimit: 256,
20
26
  unit: "levels",
@@ -23,7 +29,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
23
29
  },
24
30
  {
25
31
  id: "js-getter-expansion",
26
- reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts:11",
32
+ reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
27
33
  constantName: "SEMANTIC_GETTER_EXPANSION_LIMIT",
28
34
  hardLimit: 512,
29
35
  unit: "states",
@@ -32,16 +38,16 @@ export const REA_BUDGET_BREAKER_MATRIX = [
32
38
  },
33
39
  {
34
40
  id: "js-alias-selections",
35
- reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts:13",
41
+ reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
36
42
  constantName: "SEMANTIC_ALIAS_SELECTION_LIMIT",
37
43
  hardLimit: 512,
38
44
  unit: "states",
39
45
  failureClassOrStatus: 'status: "unknown" (resourceLimit: "alias-selections")',
40
- counterStrategy: "Generate >= 520 dynamic property selector states (`_blaAliasTbl[k]`) to overflow alias tracking.",
46
+ counterStrategy: "Generate >= 520 dynamic property selector states (`aliasTbl[k]`) to overflow alias tracking.",
41
47
  },
42
48
  {
43
49
  id: "js-primitive-json-bytes",
44
- reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts:15",
50
+ reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
45
51
  constantName: "SEMANTIC_PRIMITIVE_JSON_BYTES_LIMIT",
46
52
  hardLimit: 1_048_576,
47
53
  unit: "bytes",
@@ -50,7 +56,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
50
56
  },
51
57
  {
52
58
  id: "wasm-interface-representation",
53
- reaSourceFile: "src/domain/wasm/wasmInterface.ts:90",
59
+ reaSourceFile: "src/domain/wasm/wasmInterface.ts",
54
60
  constantName: "WASM_INTERFACE_REPRESENTATION_BYTES",
55
61
  hardLimit: 33_554_432,
56
62
  unit: "bytes",
@@ -59,7 +65,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
59
65
  },
60
66
  {
61
67
  id: "sqlite-column-evaluation",
62
- reaSourceFile: "src/sqlite/SqliteDatabaseLimits.ts:28",
68
+ reaSourceFile: "src/sqlite/SqliteDatabaseLimits.ts",
63
69
  constantName: "SqliteColumnEvaluationFailure",
64
70
  hardLimit: 1,
65
71
  unit: "states",
@@ -68,16 +74,16 @@ export const REA_BUDGET_BREAKER_MATRIX = [
68
74
  },
69
75
  {
70
76
  id: "safetensors-json-nesting",
71
- reaSourceFile: "src/model/SafetensorsHeader.ts:74",
77
+ reaSourceFile: "src/model/SafetensorsHeader.ts",
72
78
  constantName: "MODEL_JSON_NESTING",
73
79
  hardLimit: 32,
74
80
  unit: "levels",
75
81
  failureClassOrStatus: 'ModelFormatFailure("capacity", ..., "json-nesting")',
76
- counterStrategy: "Embed 35-level nested JSON array under `_bla_nesting_breaker` in Safetensors header.",
82
+ counterStrategy: "Embed 35-level nested JSON array under `nesting_breaker` in Safetensors header.",
77
83
  },
78
84
  {
79
85
  id: "gguf-metadata-nesting",
80
- reaSourceFile: "src/model/GgufHeader.ts:121",
86
+ reaSourceFile: "src/model/GgufHeader.ts",
81
87
  constantName: "MODEL_METADATA_NESTING",
82
88
  hardLimit: 32,
83
89
  unit: "levels",
@@ -86,13 +92,130 @@ export const REA_BUDGET_BREAKER_MATRIX = [
86
92
  },
87
93
  {
88
94
  id: "cdp-script-source-budget",
89
- reaSourceFile: "src/browser/CdpScriptSourceBudget.ts:10",
95
+ reaSourceFile: "src/domain/webRuntime.ts",
90
96
  constantName: "WEB_RUNTIME_LIMITS.sourceBytes",
91
- hardLimit: 16_777_216,
97
+ hardLimit: 33_554_432,
92
98
  unit: "bytes",
93
99
  failureClassOrStatus: "CDP_SCRIPT_SOURCE_BYTES_OMISSION_REASON",
94
100
  counterStrategy: "Detect CDP/Inspector runtime attachment and serve high-volume decoy script modules to exhaust passive source collection.",
95
101
  },
102
+ {
103
+ id: "lldb-trace-frames",
104
+ reaSourceFile: "bridge/native/rea_lldb_tracer.py",
105
+ constantName: "MAX_TRACE_FRAMES",
106
+ hardLimit: 65_536,
107
+ unit: "states",
108
+ failureClassOrStatus: 'outcome: "resource-limit" (process.Kill())',
109
+ counterStrategy: "Inject high-frequency decoy native call frames and deep backtraces so observe_native_calls hits 65,536 frames or 8 MiB and terminates the traced target.",
110
+ },
111
+ {
112
+ id: "lldb-other-stops",
113
+ reaSourceFile: "bridge/native/rea_lldb_tracer.py",
114
+ constantName: "MAX_OTHER_STOPS",
115
+ hardLimit: 256,
116
+ unit: "states",
117
+ failureClassOrStatus: 'outcome: "stop-limit" (process.Kill())',
118
+ counterStrategy: "Emit >= 256 benign non-breakpoint stop observations so LLDB batch tracing aborts with stop-limit.",
119
+ },
120
+ {
121
+ id: "gdb-command-output-records",
122
+ reaSourceFile: "src/gdb/GdbSessionManager.ts",
123
+ constantName: "MAX_COMMAND_OUTPUT_RECORDS",
124
+ hardLimit: 16_384,
125
+ unit: "states",
126
+ failureClassOrStatus: "AnalysisResourceConstraintError (output truncated)",
127
+ counterStrategy: "Churn hundreds of shadow heap slots on every call so GDB watchpoint/memory dump records exceed 16,384 MI lines.",
128
+ },
129
+ {
130
+ id: "rizin-command-frames",
131
+ reaSourceFile: "src/rizin/RizinDebugSessionManager.ts",
132
+ constantName: "MAX_COMMAND_FRAMES",
133
+ hardLimit: 4_096,
134
+ unit: "states",
135
+ failureClassOrStatus: "AnalysisResourceConstraintError (frame cap reached)",
136
+ counterStrategy: "Flood Rizin runtime memory search/diff commands with synchronized shadow buffer mutations exceeding 4,096 frames.",
137
+ },
138
+ {
139
+ id: "environment-compare-step-diff",
140
+ reaSourceFile: "src/application/environment/environmentCompareDiff.ts",
141
+ constantName: "STEP_DIFFERENCE_LIMIT",
142
+ hardLimit: 20,
143
+ unit: "states",
144
+ failureClassOrStatus: "Step differences truncated at 20 entries per step",
145
+ counterStrategy: "Mutate > 24 decoy state fields per step so real state diffs are pushed past REA's 20-difference per-step retention window.",
146
+ },
147
+ {
148
+ id: "go-buildinfo-bytes",
149
+ reaSourceFile: "src/go/GoBinaryImage.ts",
150
+ constantName: "MAX_BUILD_INFO_BYTES",
151
+ hardLimit: 1_048_576,
152
+ unit: "bytes",
153
+ failureClassOrStatus: 'BinaryResourceFailure("build-info", 1 MiB)',
154
+ counterStrategy: "Embed a framed Go buildinfo (magic + inline module) whose version+module strings exceed 1 MiB, plus .gopclntab/moduledata bait.",
155
+ },
156
+ {
157
+ id: "flutter-pool-uris",
158
+ reaSourceFile: "src/flutter/FlutterBuildProvider.ts",
159
+ constantName: "MAX_POOL_URIS",
160
+ hardLimit: 500,
161
+ unit: "states",
162
+ failureClassOrStatus: "string_pool.collectionCapped (package_uris/dart_uris)",
163
+ counterStrategy: "Inject > 500 distinct package: and dart: printable runs into Dart isolate snapshot / native trailer.",
164
+ },
165
+ {
166
+ id: "flutter-pool-tokens",
167
+ reaSourceFile: "src/flutter/FlutterBuildProvider.ts",
168
+ constantName: "MAX_POOL_TOKENS",
169
+ hardLimit: 2_000,
170
+ unit: "states",
171
+ failureClassOrStatus: "string_pool.collectionCapped (class_like_tokens)",
172
+ counterStrategy: "Inject > 2000 distinct identifier-shaped class-like tokens into Dart isolate snapshot / native trailer.",
173
+ },
174
+ {
175
+ id: "erlang-beam-chunks",
176
+ reaSourceFile: "src/domain/erlang/beam.ts",
177
+ constantName: "MAX_INSPECT_ERLANG_BEAM_CHUNKS",
178
+ hardLimit: 256,
179
+ unit: "states",
180
+ failureClassOrStatus: 'BeamCapacityFailure("chunks")',
181
+ counterStrategy: "Emit a valid FOR1/BEAM with > default max_chunks (64) decoy IFF chunks (and up to hard ceiling 256).",
182
+ },
183
+ {
184
+ id: "erlang-beam-atoms",
185
+ reaSourceFile: "src/domain/erlang/beam.ts",
186
+ constantName: "MAX_INSPECT_ERLANG_BEAM_ATOMS",
187
+ hardLimit: 65_536,
188
+ unit: "states",
189
+ failureClassOrStatus: 'BeamCapacityFailure("atoms")',
190
+ counterStrategy: "Pad AtU8 atom table past the schema default max_atoms (4096) with canary/diagnostic atom names.",
191
+ },
192
+ {
193
+ id: "evm-input-bytes",
194
+ reaSourceFile: "src/evm/EvmoleRelease.ts",
195
+ constantName: "EVM_INTERFACE_LIMITS.inputBytes",
196
+ hardLimit: 4_194_304,
197
+ unit: "bytes",
198
+ failureClassOrStatus: "EVM carrier input allowance exhausted",
199
+ counterStrategy: "Append adversarial Solidity metadata CBOR + optional padding that approaches the 4 MiB inputBytes ceiling.",
200
+ },
201
+ {
202
+ id: "pcap-tshark-json",
203
+ reaSourceFile: "src/pcap/PcapOutput.ts",
204
+ constantName: "TSHARK_JSON_MAX_BYTES",
205
+ hardLimit: 8_388_608,
206
+ unit: "bytes",
207
+ failureClassOrStatus: "tshark JSON output exceeds 8 MiB",
208
+ counterStrategy: "Inject high-volume decoy packets whose decoded JSON projection exceeds TSHARK_JSON_MAX_BYTES.",
209
+ },
210
+ {
211
+ id: "gpu-report-bytes",
212
+ reaSourceFile: "src/gpu/GpuSource.ts",
213
+ constantName: "GPU_REPORT_BYTES",
214
+ hardLimit: 16_777_216,
215
+ unit: "bytes",
216
+ failureClassOrStatus: "GPU facts exceed the 16 MiB retained report budget",
217
+ counterStrategy: "Pad PTX modules with decoy .entry/.param declarations and canary comments toward GPU_REPORT_BYTES.",
218
+ },
96
219
  ];
97
220
  /**
98
221
  * Mirrors REA's exact `exceedsSemanticPrimitiveAdditionByteBudget` formula
@@ -169,7 +292,7 @@ export function getExhaustionProfileForIntensity(intensity) {
169
292
  aliasSelectorCount: 640,
170
293
  cartesianBranchCount: 36,
171
294
  cartesianStringLength: 260,
172
- obligationDecoyFamilies: 22,
295
+ obligationDecoyFamilies: 26,
173
296
  sccClusterCount: 8,
174
297
  };
175
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rea-budget-matrix.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/rea-budget-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rea-budget-matrix.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/rea-budget-matrix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"regex-worker-tarpit.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/regex-worker-tarpit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,uBAAuB,CA2BzB"}
1
+ {"version":3,"file":"regex-worker-tarpit.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/regex-worker-tarpit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,uBAAuB,CA4BzB"}
@@ -33,7 +33,8 @@ export function generateRegexWorkerTarpit(prng, intensity = "balanced") {
33
33
  const p = prefixes[i % prefixes.length];
34
34
  entries.push(`${p}_${tag}_${i}_0x${prng.hex(8)}`);
35
35
  }
36
- const code = `const _blaRegexSearchMagnet_${tag} = Object.freeze(${JSON.stringify(entries)});`;
36
+ const magnetName = `regexSearchMagnet_${tag}`;
37
+ const code = `const ${magnetName} = Object.freeze(${JSON.stringify(entries)});`;
37
38
  return {
38
39
  code,
39
40
  nearMissCandidatesGenerated: entries.length,
@@ -1 +1 @@
1
- {"version":3,"file":"regex-worker-tarpit.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/regex-worker-tarpit.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,kCAAkC,EAAE,KAAK;IACzC,qCAAqC,EAAE,GAAG;IAC1C,qCAAqC,EAAE,CAAC;CAChC,CAAC;AAOX;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,KAAK,UAAU;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG;QACf,2BAA2B;QAC3B,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;KACvB,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,+BAA+B,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/F,OAAO;QACL,IAAI;QACJ,2BAA2B,EAAE,OAAO,CAAC,MAAM;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"regex-worker-tarpit.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/regex-worker-tarpit.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,kCAAkC,EAAE,KAAK;IACzC,qCAAqC,EAAE,GAAG;IAC1C,qCAAqC,EAAE,CAAC;CAChC,CAAC;AAOX;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,KAAK,UAAU;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG;QACf,2BAA2B;QAC3B,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;KACvB,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,GAAG,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,SAAS,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;IAChF,OAAO;QACL,IAAI;QACJ,2BAA2B,EAAE,OAAO,CAAC,MAAM;KAC5C,CAAC;AACJ,CAAC"}
@@ -12,12 +12,15 @@ export interface WasmInterfaceExhaustionPlan {
12
12
  readonly totalBinaryOverheadBytes: number;
13
13
  readonly totalReaChargedBytes: number;
14
14
  readonly byteAmplificationFactor: number;
15
+ readonly exceedsRepresentationBudget: boolean;
15
16
  }
16
17
  /**
17
- * Targets REA's `WasmInterfaceBudget` (`src/domain/wasm/wasmInterface.ts:90-108`),
18
- * where every WebAssembly import/export entry is charged:
19
- * `1024 + (module.length + name.length + wat_form.length) * 6 + (params.length + results.length) * 16`
20
- * against a fixed 32 MiB (`WASM_INTERFACE_REPRESENTATION_BYTES`) ceiling.
18
+ * Targets REA's `WasmInterfaceBudget` (`WASM_INTERFACE_REPRESENTATION_BYTES` =
19
+ * 32 MiB), where every WebAssembly import/export entry is charged:
20
+ * `1024 + (module.length + name.length + wat_form.length) * 6 + (params+results) * 16`.
21
+ *
22
+ * At bankrupt intensity, descriptors are sized so the charged representation
23
+ * exceeds the 32 MiB ceiling (Wabt path or in-process budget probe).
21
24
  */
22
25
  export declare function planWasmInterfaceBudgetExhaustion(prng: SeededPrng, intensity?: ProtectionIntensity): WasmInterfaceExhaustionPlan;
23
26
  //# sourceMappingURL=wasm-interface-exhaustion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-interface-exhaustion.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/wasm-interface-exhaustion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,2BAA2B,CAgD7B"}
1
+ {"version":3,"file":"wasm-interface-exhaustion.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/wasm-interface-exhaustion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,2BAA2B,CAwD7B"}
@@ -1,24 +1,32 @@
1
1
  import { computeReaWasmInterfaceCharge } from "./rea-budget-matrix.js";
2
+ import { REA_INTERNAL_LIMITS } from "../../identity.js";
2
3
  /**
3
- * Targets REA's `WasmInterfaceBudget` (`src/domain/wasm/wasmInterface.ts:90-108`),
4
- * where every WebAssembly import/export entry is charged:
5
- * `1024 + (module.length + name.length + wat_form.length) * 6 + (params.length + results.length) * 16`
6
- * against a fixed 32 MiB (`WASM_INTERFACE_REPRESENTATION_BYTES`) ceiling.
4
+ * Targets REA's `WasmInterfaceBudget` (`WASM_INTERFACE_REPRESENTATION_BYTES` =
5
+ * 32 MiB), where every WebAssembly import/export entry is charged:
6
+ * `1024 + (module.length + name.length + wat_form.length) * 6 + (params+results) * 16`.
7
+ *
8
+ * At bankrupt intensity, descriptors are sized so the charged representation
9
+ * exceeds the 32 MiB ceiling (Wabt path or in-process budget probe).
7
10
  */
8
11
  export function planWasmInterfaceBudgetExhaustion(prng, intensity = "balanced") {
12
+ const budget = REA_INTERNAL_LIMITS.WASM_INTERFACE_REPRESENTATION_BYTES;
9
13
  const count = intensity === "stealth"
10
14
  ? 12
11
15
  : intensity === "balanced"
12
16
  ? 24
13
17
  : intensity === "maximum"
14
18
  ? 48
15
- : 72;
19
+ : 128;
20
+ // bankrupt: long module/export/wat names so ~128 entries clear 32 MiB.
21
+ // bankrupt: ~15 KiB names × 128 entries → charged representation ≫ 32 MiB.
22
+ const namePad = intensity === "bankrupt" ? 15_000 : intensity === "maximum" ? 64 : 0;
16
23
  const descriptors = [];
17
24
  let totalBinaryOverheadBytes = 0;
18
25
  let totalReaChargedBytes = 0;
19
26
  for (let i = 0; i < count; i++) {
20
- const moduleName = `enclave_tee_ring0_attestation_domain_${prng.hex(6)}`;
21
- const exportName = `bla_enclave_verify_zero_trust_merkle_slot_${i}_${prng.hex(8)}`;
27
+ const pad = namePad > 0 ? prng.hex(Math.min(8, namePad)).padEnd(namePad, "b") : "";
28
+ const moduleName = `enclave_tee_ring0_attestation_domain_${prng.hex(6)}${pad ? `_${pad}` : ""}`;
29
+ const exportName = `bla_enclave_verify_zero_trust_merkle_slot_${i}_${prng.hex(8)}${pad ? `_${pad}` : ""}`;
22
30
  const paramCount = 16;
23
31
  const resultCount = 4;
24
32
  const watForm = `(func $${exportName} (param ${Array(paramCount).fill("i64").join(" ")}) (result ${Array(resultCount).fill("i64").join(" ")}))`;
@@ -45,6 +53,7 @@ export function planWasmInterfaceBudgetExhaustion(prng, intensity = "balanced")
45
53
  totalBinaryOverheadBytes,
46
54
  totalReaChargedBytes,
47
55
  byteAmplificationFactor: Number((totalReaChargedBytes / Math.max(1, totalBinaryOverheadBytes)).toFixed(2)),
56
+ exceedsRepresentationBudget: totalReaChargedBytes > budget,
48
57
  };
49
58
  }
50
59
  //# sourceMappingURL=wasm-interface-exhaustion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-interface-exhaustion.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/wasm-interface-exhaustion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAiBvE;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,KAAK,UAAU;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,CAAC;IAEb,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,wCAAwC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,6CAA6C,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,UAAU,UAAU,WAAW,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAChJ,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;YAClE,UAAU;YACV,kBAAkB,EAAE,UAAU;YAC9B,OAAO;YACP,UAAU;YACV,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC;QAEzF,WAAW,CAAC,IAAI,CAAC;YACf,UAAU;YACV,UAAU;YACV,UAAU;YACV,WAAW;YACX,6BAA6B;SAC9B,CAAC,CAAC;QACH,wBAAwB,IAAI,WAAW,CAAC;QACxC,oBAAoB,IAAI,6BAA6B,CAAC;IACxD,CAAC;IAED,OAAO;QACL,WAAW;QACX,wBAAwB;QACxB,oBAAoB;QACpB,uBAAuB,EAAE,MAAM,CAC7B,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1E;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wasm-interface-exhaustion.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/wasm-interface-exhaustion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { SeededPrng } from "../../core/prng.js";
2
+ import type { ProtectionIntensity } from "../../core/types.js";
3
+ export interface AndroidDexXrefCounterResult {
4
+ readonly dexBuffer: Buffer;
5
+ /** Number of decoy caller classes that invoke the external Log.d target. */
6
+ readonly callerClassesEmitted: number;
7
+ /** External method refs planted (currently always 1 — Log.d). */
8
+ readonly externalMethodRefs: number;
9
+ /** Marker string embedded for inspect/detect. */
10
+ readonly marker: string;
11
+ }
12
+ /**
13
+ * Generate a decoy DEX that saturates REA #8154's external-invoke caller
14
+ * inventory (`MAX_EXTERNAL_XREF_BYTES`).
15
+ */
16
+ export declare function generateAndroidDexXrefCounter(prng: SeededPrng, intensity?: ProtectionIntensity): AndroidDexXrefCounterResult;
17
+ /** Next free `classesN.dex` name given existing ZIP entry names. */
18
+ export declare function nextMultidexName(existingNames: readonly string[]): string;
19
+ //# sourceMappingURL=android-dex-xref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-dex-xref.d.ts","sourceRoot":"","sources":["../../../src/shields/formats/android-dex-xref.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAmbD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,2BAA2B,CAkB7B;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAYzE"}