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,20 +1,60 @@
1
- import { copyFileSync, mkdirSync, readFileSync, readdirSync, writeFileSync, } from "node:fs";
1
+ import { chmodSync, copyFileSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from "node:fs";
2
2
  import { basename, dirname, extname, join, resolve } from "node:path";
3
3
  import { detectArtifactFormat } from "../core/detector.js";
4
4
  import { assertSafeOutputPath } from "../core/output-path.js";
5
+ import { withLlmDirectives } from "../core/llm-directives.js";
5
6
  import { SeededPrng } from "../core/prng.js";
7
+ import { generateProjectSeed } from "../core/config.js";
6
8
  import { generateChaffPayloads } from "../shields/chaff/chaff-generator.js";
7
9
  import { transformJavaScriptWithBlaShield } from "../shields/javascript/ast-shield.js";
8
10
  import { generateHoneySourceMap } from "../shields/formats/sourcemap.js";
9
- import { packAsarBuffer, unpackAsarBuffer } from "../shields/formats/asar.js";
11
+ import { packAsarBuffer, unpackAsarBuffer, validateAsarProtectionInput } from "../shields/formats/asar.js";
12
+ import { planAsarHeaderAmplification } from "../shields/exhaustion/asar-header-amplifier.js";
10
13
  import { protectWasmBinary } from "../shields/formats/wasm.js";
11
- import { protectPythonPycBuffer, protectPythonSource } from "../shields/formats/python.js";
12
- import { protectNativeBinary } from "../shields/formats/native.js";
13
- import { protectZipOrApkBuffer } from "../shields/formats/archive.js";
14
- import { protectSqliteBuffer } from "../shields/formats/sqlite.js";
14
+ import { findPythonPrologueInsertionOffset, protectPythonPycBuffer, protectPythonSource } from "../shields/formats/python.js";
15
+ import { protectNativeBinary, validateElf64Layout } from "../shields/formats/native.js";
16
+ import { generateBunStandaloneDecoyGraph } from "../shields/formats/bun-standalone.js";
17
+ import { protectZipOrApkBuffer, validateZipProtectionInput } from "../shields/formats/archive.js";
18
+ import { protectSqliteBuffer, validateSqliteFileInput } from "../shields/formats/sqlite.js";
15
19
  import { protectGgufBuffer, protectSafetensorsBuffer } from "../shields/formats/model.js";
16
20
  import { protectAndroidDexBuffer, protectIl2cppMetadataBuffer } from "../shields/formats/mobile-game.js";
21
+ import { protectApplePlistBuffer } from "../shields/formats/apple-plist.js";
22
+ import { protectDotnetManagedBuffer } from "../shields/formats/dotnet-managed.js";
23
+ import { protectJvmClassBuffer } from "../shields/formats/jvm-bytecode.js";
24
+ import { protectErlangBeamBuffer } from "../shields/formats/erlang-beam.js";
25
+ import { protectEvmBytecodeBuffer } from "../shields/formats/evm-bytecode.js";
26
+ import { protectPcapCaptureBuffer } from "../shields/formats/pcap-capture.js";
27
+ import { protectGpuPtxText } from "../shields/formats/gpu-ptx.js";
17
28
  import { auditTarget } from "./auditor.js";
29
+ function classifyHtmlScriptTag(attrs) {
30
+ if (/\bsrc\s*=/i.test(attrs)) {
31
+ return { executable: false, isModule: false };
32
+ }
33
+ const typeMatch = /\btype\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i.exec(attrs);
34
+ if (!typeMatch) {
35
+ return { executable: true, isModule: false };
36
+ }
37
+ const rawType = (typeMatch[1] ?? typeMatch[2] ?? typeMatch[3] ?? "")
38
+ .trim()
39
+ .toLowerCase();
40
+ if (rawType === "") {
41
+ return { executable: true, isModule: false };
42
+ }
43
+ if (rawType === "module") {
44
+ return { executable: true, isModule: true };
45
+ }
46
+ if (rawType === "text/javascript" ||
47
+ rawType === "application/javascript" ||
48
+ rawType === "text/ecmascript" ||
49
+ rawType === "application/ecmascript" ||
50
+ rawType === "javascript") {
51
+ return { executable: true, isModule: false };
52
+ }
53
+ return { executable: false, isModule: false };
54
+ }
55
+ function escapeHtmlInlineScriptBody(jsCode) {
56
+ return jsCode.replace(/<\/(script)/gi, "<\\/$1");
57
+ }
18
58
  function deriveDefaultOutputPath(inputPath, inPlace = false) {
19
59
  if (inPlace)
20
60
  return inputPath;
@@ -30,19 +70,43 @@ function deriveDefaultOutputPath(inputPath, inPlace = false) {
30
70
  * Python `.py`/`.pyc`, Native Binaries (ELF/Mach-O/PE), ZIP/APK archives, and directories.
31
71
  */
32
72
  export function protectTarget(options) {
73
+ return withLlmDirectives(options.llmDirectives === true, () => protectTargetInner(options));
74
+ }
75
+ function protectTargetInner(options) {
33
76
  const startMs = Date.now();
34
77
  const absInput = resolve(options.inputPath);
35
78
  const format = detectArtifactFormat(absInput);
36
79
  if (format === "unknown") {
37
80
  throw new Error(`Unsupported or missing target path: ${absInput}`);
38
81
  }
82
+ // Signed APKs still fail closed inside protectZipOrApkBuffer; unsigned APKs
83
+ // get member-level DEX/IL2CPP hardening. Do not early-throw here.
84
+ const absOutput = resolve(options.outputPath ?? deriveDefaultOutputPath(absInput, options.inPlace));
85
+ assertSafeOutputPath(absInput, absOutput, format === "directory", options.inPlace);
86
+ if (format === "archive-zip")
87
+ validateZipProtectionInput(readFileSync(absInput));
88
+ if (format === "android-apk") {
89
+ validateZipProtectionInput(readFileSync(absInput), { allowUnsignedApk: true });
90
+ }
91
+ if (format === "electron-asar")
92
+ validateAsarProtectionInput(readFileSync(absInput));
93
+ if (format === "sqlite")
94
+ validateSqliteFileInput(absInput);
95
+ if (format === "python-source")
96
+ findPythonPrologueInsertionOffset(readFileSync(absInput, "utf8"));
97
+ if (format === "native-elf")
98
+ validateElf64Layout(readFileSync(absInput));
39
99
  const intensity = options.intensity ?? "balanced";
40
- const seed = String(options.seed ?? "bla-shield-seed-v1");
100
+ // Prefer caller/CLI/project seed; mint an ephemeral random seed only as last resort
101
+ // (CLI resolves + persists per-project seeds via resolveProjectSeed / .blarc).
102
+ const seed = String(options.seed ?? generateProjectSeed());
41
103
  const prng = new SeededPrng(seed);
42
104
  const chaffPayloads = generateChaffPayloads(prng, intensity);
105
+ // Complete model validation/serialization before creating any output path.
106
+ const safetensorsResult = format === "model-safetensors"
107
+ ? protectSafetensorsBuffer(readFileSync(absInput), { intensity, seed })
108
+ : undefined;
43
109
  const beforeAudit = auditTarget(absInput);
44
- const absOutput = resolve(options.outputPath ?? deriveDefaultOutputPath(absInput, options.inPlace));
45
- assertSafeOutputPath(absInput, absOutput, format === "directory", options.inPlace);
46
110
  if (format !== "directory") {
47
111
  mkdirSync(dirname(absOutput), { recursive: true });
48
112
  }
@@ -87,14 +151,22 @@ export function protectTarget(options) {
87
151
  }
88
152
  else if (format === "html-bundle") {
89
153
  const rawHtml = readFileSync(absInput, "utf8");
90
- const transformedHtml = rawHtml.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi, (fullMatch, attrs, scriptBody) => {
91
- if (!scriptBody.trim() || /src\s*=/i.test(attrs))
154
+ let inlineScriptsTransformed = 0;
155
+ let scriptIndex = 0;
156
+ let transformedHtml = rawHtml.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi, (fullMatch, attrs, scriptBody) => {
157
+ if (!scriptBody.trim())
92
158
  return fullMatch;
159
+ const tagKind = classifyHtmlScriptTag(attrs);
160
+ if (!tagKind.executable)
161
+ return fullMatch;
162
+ const currentIndex = scriptIndex++;
93
163
  try {
94
164
  const res = transformJavaScriptWithBlaShield(scriptBody, {
95
165
  intensity,
96
- seed,
166
+ seed: `${seed}:html-script-${currentIndex}`,
167
+ sourceType: tagKind.isModule ? "module" : "script",
97
168
  });
169
+ inlineScriptsTransformed++;
98
170
  decoyFunctionsInjected += res.decoyFunctionsInjected;
99
171
  fakeCrossReferencesCreated += res.fakeCrossReferencesCreated;
100
172
  primitiveCandidateBranchesCreated += res.primitiveCandidateBranchesCreated;
@@ -102,15 +174,40 @@ export function protectTarget(options) {
102
174
  ipcAmbiguitySitesInjected += res.ipcAmbiguitySitesInjected;
103
175
  decoyRoutesInjected += res.decoyRoutesInjected;
104
176
  chaffPayloadsEmbedded += res.chaffPayloadsEmbedded;
105
- return `<script${attrs}>\n${res.code}\n</script>`;
177
+ return `<script${attrs}>\n${escapeHtmlInlineScriptBody(res.code)}\n</script>`;
106
178
  }
107
179
  catch {
108
180
  return fullMatch;
109
181
  }
110
182
  });
183
+ if (inlineScriptsTransformed === 0) {
184
+ const bootstrapRes = transformJavaScriptWithBlaShield("void 0;\n", {
185
+ intensity,
186
+ seed: `${seed}:html-bootstrap`,
187
+ sourceType: "script",
188
+ });
189
+ decoyFunctionsInjected += bootstrapRes.decoyFunctionsInjected;
190
+ fakeCrossReferencesCreated += bootstrapRes.fakeCrossReferencesCreated;
191
+ primitiveCandidateBranchesCreated += bootstrapRes.primitiveCandidateBranchesCreated;
192
+ aliasSelectionStatesCreated += bootstrapRes.aliasSelectionStatesCreated;
193
+ ipcAmbiguitySitesInjected += bootstrapRes.ipcAmbiguitySitesInjected;
194
+ decoyRoutesInjected += bootstrapRes.decoyRoutesInjected;
195
+ chaffPayloadsEmbedded += bootstrapRes.chaffPayloadsEmbedded;
196
+ const bootstrapTag = `<script>\n${escapeHtmlInlineScriptBody(bootstrapRes.code)}\n</script>`;
197
+ if (/<\/body>/i.test(transformedHtml)) {
198
+ transformedHtml = transformedHtml.replace(/<\/body>/i, `${bootstrapTag}\n</body>`);
199
+ }
200
+ else if (/<\/head>/i.test(transformedHtml)) {
201
+ transformedHtml = transformedHtml.replace(/<\/head>/i, `${bootstrapTag}\n</head>`);
202
+ }
203
+ else {
204
+ transformedHtml = `${transformedHtml}\n${bootstrapTag}\n`;
205
+ }
206
+ }
111
207
  writeFileSync(absOutput, transformedHtml, "utf8");
112
208
  counteredVectors.add("js-static-semantics");
113
209
  counteredVectors.add("call-graph-tracing");
210
+ counteredVectors.add("obligation-ledger-cloning");
114
211
  }
115
212
  else if (format === "sourcemap") {
116
213
  const honey = generateHoneySourceMap(basename(absOutput).replace(/\.map$/, ""), 120, prng, chaffPayloads);
@@ -166,15 +263,22 @@ export function protectTarget(options) {
166
263
  relativePath: "enclave/hardware-tee-bridge.js",
167
264
  content: Buffer.from(decoyBridgeJs.code, "utf8"),
168
265
  });
266
+ // Flood ASAR Pickle JSON header past REA DEFAULT_ASAR_MAX_HEADER_BYTES at
267
+ // bankrupt intensity (mapped decoy shard paths; real modules untouched).
268
+ const asarAmplification = planAsarHeaderAmplification(prng, intensity);
269
+ for (const decoy of asarAmplification.files) {
270
+ protectedFiles.push(decoy);
271
+ }
169
272
  const repacked = packAsarBuffer(protectedFiles);
170
273
  writeFileSync(absOutput, repacked);
171
- binarySectionsPatched = 1;
274
+ binarySectionsPatched = 1 + asarAmplification.files.length;
172
275
  counteredVectors.add("electron-ipc-bridge");
173
276
  counteredVectors.add("js-static-semantics");
174
277
  counteredVectors.add("sourcemap-recovery");
175
278
  counteredVectors.add("call-graph-tracing");
176
279
  counteredVectors.add("obligation-ledger-cloning");
177
280
  counteredVectors.add("archive-inventory");
281
+ counteredVectors.add("asar-header-admission");
178
282
  }
179
283
  else if (format === "wasm") {
180
284
  const rawWasm = readFileSync(absInput);
@@ -212,15 +316,29 @@ export function protectTarget(options) {
212
316
  const rawBin = readFileSync(absInput);
213
317
  const res = protectNativeBinary(rawBin, { intensity, seed });
214
318
  writeFileSync(absOutput, res.buffer);
215
- decoyFunctionsInjected = 24;
216
- fakeCrossReferencesCreated = 48;
319
+ const passthrough = res.binarySectionsPatched === 0;
320
+ decoyFunctionsInjected = passthrough ? 0 : 24;
321
+ fakeCrossReferencesCreated = passthrough ? 0 : 48;
217
322
  chaffPayloadsEmbedded = res.chaffPayloadsEmbedded;
218
323
  binarySectionsPatched = res.binarySectionsPatched;
219
- counteredVectors.add("native-rust-auditable");
220
- counteredVectors.add("native-go-buildinfo");
221
- counteredVectors.add("native-decompiler-pseudocode");
222
- counteredVectors.add("electron-fuses-inspection");
223
- counteredVectors.add("flutter-dart-aot-snapshot");
324
+ if (!passthrough) {
325
+ counteredVectors.add("native-rust-auditable");
326
+ counteredVectors.add("native-go-buildinfo");
327
+ counteredVectors.add("native-decompiler-pseudocode");
328
+ counteredVectors.add("electron-fuses-inspection");
329
+ counteredVectors.add("flutter-dart-aot-snapshot");
330
+ }
331
+ if (res.bunStandaloneCarrier !== "none" || res.nativeBinaryPreserved) {
332
+ // REA #6998 & EOF-sensitive/code-signed native carriers: leave the real
333
+ // binary byte-exact so OS code signatures (`codesign --strict` /
334
+ // Authenticode) and EOF-relative runtime archives (Bun, Deno, PyInstaller,
335
+ // ZIP-SFX) remain intact; plant a sidecar decoy graph full of honeypots.
336
+ const decoy = generateBunStandaloneDecoyGraph(new SeededPrng(`${seed}:bun-standalone`), intensity);
337
+ writeFileSync(`${absOutput}.bunfs-snapshot`, decoy.buffer);
338
+ decoyFunctionsInjected += decoy.moduleCount;
339
+ chaffPayloadsEmbedded += decoy.chaffPayloadsEmbedded;
340
+ counteredVectors.add("bun-standalone-module-graph");
341
+ }
224
342
  }
225
343
  else if (format === "sqlite") {
226
344
  const rawDb = readFileSync(absInput);
@@ -232,10 +350,8 @@ export function protectTarget(options) {
232
350
  counteredVectors.add("sqlite-database-inspection");
233
351
  }
234
352
  else if (format === "model-safetensors") {
235
- const rawModel = readFileSync(absInput);
236
- const res = protectSafetensorsBuffer(rawModel, { intensity, seed });
353
+ const res = safetensorsResult;
237
354
  writeFileSync(absOutput, res.buffer);
238
- decoyFunctionsInjected = 16;
239
355
  chaffPayloadsEmbedded = res.chaffPayloadsEmbedded;
240
356
  binarySectionsPatched = res.triggeredJsonNestingBreaker ? 2 : 1;
241
357
  counteredVectors.add("model-artifact-inspection");
@@ -275,10 +391,76 @@ export function protectTarget(options) {
275
391
  isApk: format === "android-apk",
276
392
  });
277
393
  writeFileSync(absOutput, res.buffer);
278
- decoyFunctionsInjected = 12;
394
+ decoyFunctionsInjected = 12 + res.membersHardened;
279
395
  chaffPayloadsEmbedded = res.chaffPayloadsEmbedded;
280
396
  binarySectionsPatched = res.decoyEntriesInjected;
281
397
  counteredVectors.add("archive-inventory");
398
+ if (res.membersHardened > 0) {
399
+ counteredVectors.add("android-dex-il2cpp-inspection");
400
+ }
401
+ }
402
+ else if (format === "apple-plist") {
403
+ const rawPlist = readFileSync(absInput);
404
+ const res = protectApplePlistBuffer(rawPlist, { intensity, seed });
405
+ writeFileSync(absOutput, res.buffer);
406
+ decoyFunctionsInjected = 12;
407
+ chaffPayloadsEmbedded = res.decoyEnclaveEntitlementsAdded;
408
+ binarySectionsPatched = res.triggersBudgetAbort ? 2 : 1;
409
+ counteredVectors.add("apple-plist-budget");
410
+ }
411
+ else if (format === "dotnet-managed") {
412
+ const rawDll = readFileSync(absInput);
413
+ const res = protectDotnetManagedBuffer(rawDll, { intensity, seed });
414
+ writeFileSync(absOutput, res.buffer);
415
+ decoyFunctionsInjected = 20;
416
+ chaffPayloadsEmbedded = res.plan.decoyPInvokeImports.length;
417
+ binarySectionsPatched = 1;
418
+ counteredVectors.add("dotnet-managed-budget");
419
+ }
420
+ else if (format === "jvm-class") {
421
+ const rawClass = readFileSync(absInput);
422
+ const res = protectJvmClassBuffer(rawClass, { intensity, seed });
423
+ writeFileSync(absOutput, res.buffer);
424
+ decoyFunctionsInjected = 18;
425
+ chaffPayloadsEmbedded = res.chaffPayloadsEmbedded;
426
+ binarySectionsPatched = res.customAttributesAdded;
427
+ counteredVectors.add("jvm-bytecode-decompilation");
428
+ }
429
+ else if (format === "erlang-beam") {
430
+ const rawBeam = readFileSync(absInput);
431
+ const res = protectErlangBeamBuffer(rawBeam, { intensity, seed });
432
+ writeFileSync(absOutput, res.buffer);
433
+ decoyFunctionsInjected = res.atomsInjected;
434
+ chaffPayloadsEmbedded = res.chunksInjected;
435
+ binarySectionsPatched = res.exceedsDefaultChunkBudget ? 2 : 1;
436
+ counteredVectors.add("erlang-beam-inspection");
437
+ }
438
+ else if (format === "evm-bytecode") {
439
+ const rawEvm = readFileSync(absInput);
440
+ const res = protectEvmBytecodeBuffer(rawEvm, { intensity, seed });
441
+ writeFileSync(absOutput, res.buffer);
442
+ decoyFunctionsInjected = res.canaryTokensEmbedded;
443
+ chaffPayloadsEmbedded = res.diagnosticsEmbedded;
444
+ binarySectionsPatched = 1;
445
+ counteredVectors.add("evm-bytecode-inspection");
446
+ }
447
+ else if (format === "pcap-capture") {
448
+ const rawPcap = readFileSync(absInput);
449
+ const res = protectPcapCaptureBuffer(rawPcap, { intensity, seed });
450
+ writeFileSync(absOutput, res.buffer);
451
+ decoyFunctionsInjected = res.packetsInjected;
452
+ chaffPayloadsEmbedded = res.canaryTokensEmbedded;
453
+ binarySectionsPatched = 1;
454
+ counteredVectors.add("pcap-capture-inspection");
455
+ }
456
+ else if (format === "gpu-ptx") {
457
+ const rawPtx = readFileSync(absInput, "utf8");
458
+ const res = protectGpuPtxText(rawPtx, { intensity, seed });
459
+ writeFileSync(absOutput, res.text, "utf8");
460
+ decoyFunctionsInjected = res.entriesInjected;
461
+ chaffPayloadsEmbedded = res.canaryTokensEmbedded;
462
+ binarySectionsPatched = 1;
463
+ counteredVectors.add("gpu-ptx-inspection");
282
464
  }
283
465
  else if (format === "directory") {
284
466
  mkdirSync(absOutput, { recursive: true });
@@ -313,7 +495,30 @@ export function protectTarget(options) {
313
495
  honeySourceMapsGenerated++;
314
496
  }
315
497
  else {
316
- copyFileSync(srcFull, dstFull);
498
+ const childFormat = detectArtifactFormat(srcFull);
499
+ if (childFormat !== "unknown" && childFormat !== "directory") {
500
+ try {
501
+ const subRes = protectTarget({
502
+ inputPath: srcFull,
503
+ outputPath: dstFull,
504
+ intensity,
505
+ seed: `${seed}:${entry.name}`,
506
+ honeySourceMaps: options.honeySourceMaps,
507
+ });
508
+ decoyFunctionsInjected += subRes.metrics.decoyFunctionsInjected;
509
+ fakeCrossReferencesCreated += subRes.metrics.fakeCrossReferencesCreated;
510
+ chaffPayloadsEmbedded += subRes.metrics.chaffPayloadsEmbedded;
511
+ binarySectionsPatched += subRes.metrics.binarySectionsPatched;
512
+ for (const v of subRes.counteredReaVectors)
513
+ counteredVectors.add(v);
514
+ }
515
+ catch {
516
+ copyFileSync(srcFull, dstFull);
517
+ }
518
+ }
519
+ else {
520
+ copyFileSync(srcFull, dstFull);
521
+ }
317
522
  }
318
523
  }
319
524
  }
@@ -326,6 +531,17 @@ export function protectTarget(options) {
326
531
  counteredVectors.add("call-graph-tracing");
327
532
  counteredVectors.add("obligation-ledger-cloning");
328
533
  }
534
+ if (format !== "directory" && absOutput !== absInput) {
535
+ try {
536
+ const inputMode = statSync(absInput).mode & 0o777;
537
+ if ((inputMode & 0o111) !== 0) {
538
+ chmodSync(absOutput, inputMode);
539
+ }
540
+ }
541
+ catch {
542
+ /* POSIX permission bits may not apply on Windows */
543
+ }
544
+ }
329
545
  const afterAudit = auditTarget(absOutput);
330
546
  const elapsedMs = Date.now() - startMs;
331
547
  const metrics = {
@@ -1 +1 @@
1
- {"version":3,"file":"protector.js","sourceRoot":"","sources":["../../src/engine/protector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protector.js","sourceRoot":"","sources":["../../src/engine/protector.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  export declare const BLA_IDENTITY: Readonly<{
2
2
  name: "BLA";
3
- fullName: "Blind LLM Agents (Block Anything)";
3
+ fullName: "Blind LLM Agents";
4
4
  packageName: "bla-agents";
5
5
  packageAlias: "bla-shield";
6
6
  cliBinary: "bla";
7
7
  cliAlias: "bla-agents";
8
- version: "1.1.0";
8
+ version: "1.6.0";
9
9
  slogan: "Poison -> Exhaust -> Hallucinate. Make Reverse Engineering Bankrupt Again.";
10
10
  counterpart: {
11
11
  name: string;
@@ -28,6 +28,10 @@ export declare const BLA_IDENTITY: Readonly<{
28
28
  * - `src/model/ModelFormat.ts` (`SafetensorsHeader.ts` & `GgufHeader.ts`)
29
29
  * - `src/domain/wasm/wasmInterface.ts`
30
30
  * - `src/dotnet/ManagedDecodeBudget.ts`
31
+ * - `src/domain/android/proguardMapping.ts` & `androidMapping.ts` (REA #7456)
32
+ * - `src/domain/android/androidJniBindings.ts` & `src/android/AndroidJniLibraries.ts` (REA #7472)
33
+ * - `src/domain/native/nativeExports.ts` (`MAX_NATIVE_EXPORT_ROWS`)
34
+ * - `bridge/android/ReaJadxBridge.java` (`MAX_EXTERNAL_XREF_BYTES`, REA #8154)
31
35
  */
32
36
  export declare const REA_INTERNAL_LIMITS: Readonly<{
33
37
  /** Maximum distinct alternatives retained in one normalized primitive value (`SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT`). */
@@ -66,5 +70,111 @@ export declare const REA_INTERNAL_LIMITS: Readonly<{
66
70
  WASM_INTERFACE_REPRESENTATION_BYTES: 33554432;
67
71
  /** .NET Managed metadata representation budget (`MAX_METADATA_REPRESENTATION_BYTES` = 64 MiB). */
68
72
  MANAGED_METADATA_REPRESENTATION_BYTES: 67108864;
73
+ /** CDP/Web runtime aggregate script-source budget (`WEB_RUNTIME_LIMITS.sourceBytes` = 32 MiB in `src/domain/webRuntime.ts`). */
74
+ WEB_RUNTIME_SOURCE_BYTES: 33554432;
75
+ /** LLDB native call tracer aggregate JSON byte cap (`MAX_TRACE_BYTES` = 8 MiB in `bridge/native/rea_lldb_tracer.py`). */
76
+ LLDB_MAX_TRACE_BYTES: 8388608;
77
+ /** LLDB native call tracer aggregate frame cap (`MAX_TRACE_FRAMES` = 65,536 in `bridge/native/rea_lldb_tracer.py`). */
78
+ LLDB_MAX_TRACE_FRAMES: 65536;
79
+ /** LLDB native call tracer non-breakpoint stop cap (`MAX_OTHER_STOPS` = 256 in `bridge/native/rea_lldb_tracer.py`). */
80
+ LLDB_MAX_OTHER_STOPS: 256;
81
+ /** LLDB Objective-C selector C-string read cap (`MAX_SELECTOR_BYTES` = 1024 in `bridge/native/rea_lldb_tracer.py`). */
82
+ LLDB_MAX_SELECTOR_BYTES: 1024;
83
+ /** GDB session command output byte cap (`MAX_COMMAND_OUTPUT_BYTES` = 16 MiB in `src/gdb/GdbSessionManager.ts`). */
84
+ GDB_MAX_COMMAND_OUTPUT_BYTES: 16777216;
85
+ /** GDB session MI output record cap (`MAX_COMMAND_OUTPUT_RECORDS` = 16,384 in `src/gdb/GdbSessionManager.ts`). */
86
+ GDB_MAX_COMMAND_OUTPUT_RECORDS: 16384;
87
+ /** Rizin debugger session frame byte cap (`MAX_FRAME_BYTES` = 16 MiB in `src/rizin/RizinDebugSessionManager.ts`). */
88
+ RIZIN_MAX_FRAME_BYTES: 16777216;
89
+ /** Rizin debugger command frame count cap (`MAX_COMMAND_FRAMES` = 4,096 in `src/rizin/RizinDebugSessionManager.ts`). */
90
+ RIZIN_MAX_COMMAND_FRAMES: 4096;
91
+ /** Environment differential comparison per-step diff cap (`STEP_DIFFERENCE_LIMIT` = 20 in `src/application/environment/environmentCompareDiff.ts`). */
92
+ ENVIRONMENT_COMPARE_STEP_DIFF_LIMIT: 20;
93
+ /** Go build-info aggregate string budget (`MAX_BUILD_INFO_BYTES` = 1 MiB in `src/go/GoBinaryImage.ts`). */
94
+ GO_MAX_BUILD_INFO_BYTES: 1048576;
95
+ /** Go build-info cumulative header-search budget (`MAX_HEADER_SEARCH_BYTES` = 256 MiB in `src/go/GoBinaryImage.ts`). */
96
+ GO_MAX_HEADER_SEARCH_BYTES: 268435456;
97
+ /** Flutter/Dart AOT string-pool URI projection cap (`MAX_POOL_URIS` = 500 in `src/flutter/FlutterBuildProvider.ts`). */
98
+ DART_MAX_POOL_URIS: 500;
99
+ /** Flutter/Dart AOT class-like token projection cap (`MAX_POOL_TOKENS` = 2_000 in `src/flutter/FlutterBuildProvider.ts`). */
100
+ DART_MAX_POOL_TOKENS: 2000;
101
+ /** Erlang BEAM hard ceiling on IFF chunks (`MAX_INSPECT_ERLANG_BEAM_CHUNKS` = 256). */
102
+ BEAM_MAX_CHUNKS: 256;
103
+ /** Erlang BEAM hard ceiling on atom-table entries (`MAX_INSPECT_ERLANG_BEAM_ATOMS` = 65_536). */
104
+ BEAM_MAX_ATOMS: 65536;
105
+ /** Erlang BEAM default max_chunks admission (schema default 64). */
106
+ BEAM_DEFAULT_MAX_CHUNKS: 64;
107
+ /** Erlang BEAM default max_atoms admission (schema default 4096). */
108
+ BEAM_DEFAULT_MAX_ATOMS: 4096;
109
+ /** EVM interface worker input-byte ceiling (`EVM_INTERFACE_LIMITS.inputBytes` = 4 MiB). */
110
+ EVM_INPUT_BYTES: 4194304;
111
+ /** EVM interface worker reply-byte ceiling (`EVM_INTERFACE_LIMITS.outputBytes` = 16 MiB). */
112
+ EVM_OUTPUT_BYTES: 16777216;
113
+ /** EVM interface diagnostic capture ceiling (`EVM_INTERFACE_LIMITS.diagnosticBytes` = 1 MiB). */
114
+ EVM_DIAGNOSTIC_BYTES: 1048576;
115
+ /** tshark JSON decode ceiling (`TSHARK_JSON_MAX_BYTES` = 8 MiB in `src/pcap/PcapOutput.ts`). */
116
+ PCAP_TSHARK_JSON_MAX_BYTES: 8388608;
117
+ /** GPU retained report budget (`GPU_REPORT_BYTES` = 16 MiB in `src/gpu/GpuSource.ts`). */
118
+ GPU_REPORT_BYTES: 16777216;
119
+ /** GPU object decode budget (`GPU_OBJECT_BYTES` = 128 MiB in `src/gpu/GpuSource.ts`). */
120
+ GPU_OBJECT_BYTES: 134217728;
121
+ /** Firmware staging byte ceiling (`MAX_FIRMWARE_STAGING_BYTES` = 512 MiB). */
122
+ FIRMWARE_MAX_STAGING_BYTES: 536870912;
123
+ /** Firmware extraction depth ceiling (`MAX_FIRMWARE_EXTRACTION_DEPTH` = 10). */
124
+ FIRMWARE_MAX_EXTRACTION_DEPTH: 10;
125
+ /**
126
+ * Caller-selected ProGuard / R8 mapping admission (`ANDROID_MAPPING_LIMITS` /
127
+ * `PROGUARD_MAPPING_LIMITS` in `src/domain/android/androidMapping.ts` +
128
+ * `proguardMapping.ts`, added by REA #7456).
129
+ */
130
+ ANDROID_MAPPING_FILE_BYTES: 67108864;
131
+ PROGUARD_MAPPING_INDEX_BYTES: 134217728;
132
+ PROGUARD_MAPPING_PROJECTION_BYTES: 8388608;
133
+ PROGUARD_MAPPING_MALFORMED_SAMPLES: 16;
134
+ PROGUARD_MAPPING_CANDIDATES: 8;
135
+ /** JNI native-declaration ↔ .so export report budget (`ANDROID_JNI_REPORT_BYTES` in `androidJniBindings.ts`, REA #7472). */
136
+ ANDROID_JNI_REPORT_BYTES: 16777216;
137
+ /** Per-library / aggregate JNI .so inventory caps (`ANDROID_JNI_LIBRARY_LIMITS` in `AndroidJniLibraries.ts`). */
138
+ ANDROID_JNI_LIBRARY_BYTES: 67108864;
139
+ ANDROID_JNI_TOTAL_BYTES: 268435456;
140
+ ANDROID_JNI_FACTS_BYTES: 16777216;
141
+ ANDROID_JNI_LIBRARY_ENTRIES: 100000;
142
+ ANDROID_JNI_LIBRARIES: 2048;
143
+ /** Native export inventory row ceiling (`MAX_NATIVE_EXPORT_ROWS` in `nativeExports.ts`). */
144
+ MAX_NATIVE_EXPORT_ROWS: 262144;
145
+ /**
146
+ * AndroidManifest component inventory bounds (`ANDROID_MANIFEST_LIMITS` in
147
+ * `src/android/AndroidManifestComponents.ts`, REA #7379 / refined by #7818).
148
+ * Exceeding any of these flips the inventory to `status: "partial"` so REA
149
+ * itself admits the component map is unestablished.
150
+ */
151
+ ANDROID_MANIFEST_COMPONENTS: 512;
152
+ ANDROID_MANIFEST_INTENT_FILTERS: 32;
153
+ ANDROID_MANIFEST_INTENT_VALUES: 64;
154
+ ANDROID_MANIFEST_AUTHORITIES: 64;
155
+ ANDROID_MANIFEST_RESOLVED_NAME_BYTES: 1048576;
156
+ ANDROID_MANIFEST_AUTHORITY_BYTES: 1048576;
157
+ ANDROID_MANIFEST_PERMISSION_BYTES: 1048576;
158
+ ANDROID_MANIFEST_PROCESS_BYTES: 1048576;
159
+ ANDROID_MANIFEST_DETAIL_BYTES: 1048576;
160
+ /**
161
+ * External DEX invoke prototype + caller inventory budget
162
+ * (`MAX_EXTERNAL_XREF_BYTES` in `bridge/android/ReaJadxBridge.java`, REA #8154).
163
+ * Derived as `(MAX_XREF_TEXT_BYTES = 8 MiB - 1 KiB) / 8`.
164
+ */
165
+ ANDROID_EXTERNAL_XREF_BYTES: 1048448;
166
+ ANDROID_XREF_TEXT_BYTES: 8387584;
167
+ /**
168
+ * Bun standalone module-graph reader (`BunModuleGraphLayout.ts` /
169
+ * `BunStandaloneArtifactReader.ts`, REA #6998).
170
+ */
171
+ BUN_RECORD_BYTES_1_3_3: 36;
172
+ BUN_RECORD_BYTES_1_3_9: 52;
173
+ BUN_MAX_MODULE_COUNT: 100000;
174
+ BUN_MAX_RETAINED_BYTES: 268435456;
175
+ BUN_MAX_LOGICAL_PATH_PARTS: 256;
176
+ BUN_MAX_LOGICAL_PATH_NODES: 250000;
177
+ BUN_METADATA_CACHE_BYTES: 262144;
178
+ BUN_METADATA_CACHE_ENTRIES: 1024;
69
179
  }>;
70
180
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAkBvB,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB;IAC9B,uHAAuH;;IAEvH,8GAA8G;;IAE9G,2GAA2G;;IAE3G,yGAAyG;;IAEzG,2FAA2F;;IAE3F,wFAAwF;;IAExF,8EAA8E;;IAE9E,qFAAqF;;IAErF,yGAAyG;;IAEzG,yFAAyF;;IAEzF,6FAA6F;;IAE7F,6GAA6G;;IAE7G,kFAAkF;;IAElF,yFAAyF;;IAEzF,iGAAiG;;IAEjG,2FAA2F;;IAE3F,mGAAmG;;IAEnG,kGAAkG;;EAElG,CAAC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAkBvB,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB;IAC9B,uHAAuH;;IAEvH,8GAA8G;;IAE9G,2GAA2G;;IAE3G,yGAAyG;;IAEzG,2FAA2F;;IAE3F,wFAAwF;;IAExF,8EAA8E;;IAE9E,qFAAqF;;IAErF,yGAAyG;;IAEzG,yFAAyF;;IAEzF,6FAA6F;;IAE7F,6GAA6G;;IAE7G,kFAAkF;;IAElF,yFAAyF;;IAEzF,iGAAiG;;IAEjG,2FAA2F;;IAE3F,mGAAmG;;IAEnG,kGAAkG;;IAElG,gIAAgI;;IAEhI,yHAAyH;;IAEzH,uHAAuH;;IAEvH,uHAAuH;;IAEvH,uHAAuH;;IAEvH,mHAAmH;;IAEnH,kHAAkH;;IAElH,qHAAqH;;IAErH,wHAAwH;;IAExH,uJAAuJ;;IAEvJ,2GAA2G;;IAE3G,wHAAwH;;IAExH,wHAAwH;;IAExH,6HAA6H;;IAE7H,uFAAuF;;IAEvF,iGAAiG;;IAEjG,oEAAoE;;IAEpE,qEAAqE;;IAErE,2FAA2F;;IAE3F,6FAA6F;;IAE7F,iGAAiG;;IAEjG,gGAAgG;;IAEhG,0FAA0F;;IAE1F,yFAAyF;;IAEzF,8EAA8E;;IAE9E,gFAAgF;;IAEhF;;;;OAIG;;;;;;IAMH,4HAA4H;;IAE5H,iHAAiH;;;;;;IAMjH,4FAA4F;;IAE5F;;;;;OAKG;;;;;;;;;;IAUH;;;;OAIG;;;IAGH;;;OAGG;;;;;;;;;EASH,CAAC"}