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 +1 @@
1
- {"version":3,"file":"auditor.js","sourceRoot":"","sources":["../../src/engine/auditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auditor.js","sourceRoot":"","sources":["../../src/engine/auditor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BenchmarkReport } from "../core/types.js";
2
2
  /**
3
- * Runs the 5-Target Counter-REA Showcase Benchmark (`bla benchmark`).
3
+ * Runs the Counter-REA Showcase Benchmark (`bla benchmark`), including BEAM/EVM/PCAP/PTX.
4
4
  */
5
5
  export declare function runShowcaseBenchmark(): Promise<BenchmarkReport>;
6
6
  //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;AAyL5E;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAkKrE"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;AAqJ5E;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAiSrE"}
@@ -3,9 +3,11 @@ import { tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import vm from "node:vm";
5
5
  import { BLA_IDENTITY } from "../identity.js";
6
+ import { isNodeSqliteAvailable } from "../core/sqlite-runtime.js";
6
7
  import { packAsarBuffer } from "../shields/formats/asar.js";
7
8
  import { buildSampleSqliteDatabase } from "../shields/formats/sqlite.js";
8
9
  import { buildSafetensorsBuffer } from "../shields/formats/model.js";
10
+ import { buildMappedGoFlutterElfFixture } from "../shields/formats/go-flutter-exhaustion.js";
9
11
  import { auditTarget } from "./auditor.js";
10
12
  import { protectTarget } from "./protector.js";
11
13
  /**
@@ -105,46 +107,11 @@ function buildSampleWasmModule() {
105
107
  ]);
106
108
  }
107
109
  /**
108
- * Showcase 5: Minimal Valid ELF64 x86_64 Native Binary with `.rodata` section
110
+ * Showcase 5: ELF64 with mapped `.go.buildinfo` + Dart isolate data regions
111
+ * (hits REA's real Go / Flutter parsers, not only the trailer).
109
112
  */
110
113
  function buildSampleElf64Binary() {
111
- const bytes = Buffer.alloc(2048, 0);
112
- // ELF64 little-endian header
113
- bytes.set([0x7f, 0x45, 0x4c, 0x46, 2, 1, 1], 0);
114
- bytes.writeUInt16LE(2, 16); // ET_EXEC
115
- bytes.writeUInt16LE(0x3e, 18); // EM_X86_64
116
- bytes.writeUInt32LE(1, 20); // EV_CURRENT
117
- bytes.writeBigUInt64LE(64n, 32); // e_phoff
118
- bytes.writeBigUInt64LE(128n, 40); // e_shoff
119
- bytes.writeUInt16LE(64, 52); // e_ehsize
120
- bytes.writeUInt16LE(56, 54); // e_phentsize
121
- bytes.writeUInt16LE(1, 56); // e_phnum
122
- bytes.writeUInt16LE(64, 58); // e_shentsize
123
- bytes.writeUInt16LE(3, 60); // e_shnum
124
- bytes.writeUInt16LE(1, 62); // e_shstrndx
125
- // Program header 0: PT_LOAD covering file
126
- bytes.writeUInt32LE(1, 64); // PT_LOAD
127
- bytes.writeUInt32LE(4, 68); // PF_R
128
- bytes.writeBigUInt64LE(0n, 72); // p_offset
129
- bytes.writeBigUInt64LE(0x400000n, 80); // p_vaddr
130
- bytes.writeBigUInt64LE(BigInt(bytes.length), 96); // p_filesz
131
- bytes.writeBigUInt64LE(BigInt(bytes.length), 104); // p_memsz
132
- // Section header 1: .shstrtab at 192
133
- const names = Buffer.from("\0.shstrtab\0.rodata\0", "utf8");
134
- names.copy(bytes, 512);
135
- bytes.writeUInt32LE(1, 192); // sh_name
136
- bytes.writeUInt32LE(3, 196); // SHT_STRTAB
137
- bytes.writeBigUInt64LE(512n, 216); // sh_offset
138
- bytes.writeBigUInt64LE(BigInt(names.length), 224); // sh_size
139
- // Section header 2: .rodata at 256
140
- bytes.writeUInt32LE(11, 256); // sh_name (.rodata)
141
- bytes.writeUInt32LE(1, 260); // SHT_PROGBITS
142
- bytes.writeBigUInt64LE(2n, 264); // SHF_ALLOC (read-only!)
143
- bytes.writeBigUInt64LE(0x400400n, 272); // sh_addr
144
- bytes.writeBigUInt64LE(1024n, 280); // sh_offset
145
- bytes.writeBigUInt64LE(512n, 288); // sh_size
146
- bytes.write("/rustc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/library/core", 1024, "latin1");
147
- return bytes;
114
+ return buildMappedGoFlutterElfFixture();
148
115
  }
149
116
  function runCommonJsModule(code) {
150
117
  const mod = { exports: {} };
@@ -177,7 +144,7 @@ function runCommonJsModule(code) {
177
144
  return mod.exports;
178
145
  }
179
146
  /**
180
- * Runs the 5-Target Counter-REA Showcase Benchmark (`bla benchmark`).
147
+ * Runs the Counter-REA Showcase Benchmark (`bla benchmark`), including BEAM/EVM/PCAP/PTX.
181
148
  */
182
149
  export async function runShowcaseBenchmark() {
183
150
  const tempDir = mkdtempSync(join(tmpdir(), "bla-benchmark-"));
@@ -258,7 +225,9 @@ export async function runShowcaseBenchmark() {
258
225
  cases.push(buildCaseResult("native-elf", "Native ELF64 Rust/Go/Electron/Dart Binary", "REA inspect_rust_binary / inspect_electron_fuses / identify_flutter_build", res, functionalOk));
259
226
  }
260
227
  // 6. Local SQLite 3 Entitlement Database (.sqlite)
261
- {
228
+ // Degrade gracefully on Node < 22.13 / --no-experimental-sqlite: skip this target
229
+ // rather than hard-failing the entire Counter-REA showcase.
230
+ if (isNodeSqliteAvailable()) {
262
231
  const dbPath = join(tempDir, "entitlements.sqlite");
263
232
  const outDbPath = join(tempDir, "entitlements.shielded.sqlite");
264
233
  writeFileSync(dbPath, buildSampleSqliteDatabase());
@@ -276,7 +245,7 @@ export async function runShowcaseBenchmark() {
276
245
  }));
277
246
  const res = protectTarget({ inputPath: modelPath, outputPath: outModelPath, intensity: "bankrupt" });
278
247
  const afterAudit = auditTarget(outModelPath);
279
- const functionalOk = afterAudit.reaSimulation.triggeredResourceLimits.some((l) => l.includes("MODEL_JSON_NESTING"));
248
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
280
249
  cases.push(buildCaseResult("safetensors-model", "Proprietary Edge AI Model (.safetensors)", "REA inspect_model_artifact", res, functionalOk));
281
250
  }
282
251
  // 8. Android Dalvik Bytecode (classes.dex)
@@ -294,6 +263,117 @@ export async function runShowcaseBenchmark() {
294
263
  const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
295
264
  cases.push(buildCaseResult("android-dex", "Android Dalvik Bytecode (classes.dex)", "REA search_android_classes (JADX/JEB)", res, functionalOk));
296
265
  }
266
+ // 9. Apple PropertyList (Info.plist)
267
+ {
268
+ const plistPath = join(tempDir, "Info.plist");
269
+ const outPlistPath = join(tempDir, "Info.shielded.plist");
270
+ writeFileSync(plistPath, `<?xml version="1.0" encoding="UTF-8"?>\n<plist version="1.0"><dict><key>CFBundleIdentifier</key><string>com.bla.desktop</string></dict></plist>`, "utf8");
271
+ const res = protectTarget({ inputPath: plistPath, outputPath: outPlistPath, intensity: "bankrupt" });
272
+ const afterAudit = auditTarget(outPlistPath);
273
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
274
+ cases.push(buildCaseResult("apple-plist", "Apple Bundle PropertyList (Info.plist)", "REA inspect_apple_bundle", res, functionalOk));
275
+ }
276
+ // 10. .NET Managed CLR Assembly (.dll)
277
+ {
278
+ const dllPath = join(tempDir, "EnterpriseVault.dll");
279
+ const outDllPath = join(tempDir, "EnterpriseVault.shielded.dll");
280
+ const peClr = Buffer.alloc(128, 0);
281
+ peClr.write("MZ", 0, "ascii");
282
+ peClr.write("BSJB", 64, "ascii");
283
+ writeFileSync(dllPath, peClr);
284
+ const res = protectTarget({ inputPath: dllPath, outputPath: outDllPath, intensity: "bankrupt" });
285
+ const afterAudit = auditTarget(outDllPath);
286
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
287
+ cases.push(buildCaseResult("dotnet-managed", ".NET Managed CLR Assembly (.dll)", "REA inspect_dotnet_assembly", res, functionalOk));
288
+ }
289
+ // 11. Erlang BEAM OTP module (.beam)
290
+ {
291
+ const beamPath = join(tempDir, "enclave_guard.beam");
292
+ const outBeamPath = join(tempDir, "enclave_guard.shielded.beam");
293
+ const chunk = (name, body) => {
294
+ const pad = (4 - (body.length % 4)) % 4;
295
+ const hdr = Buffer.alloc(8);
296
+ hdr.write(name, 0, "latin1");
297
+ hdr.writeUInt32BE(body.length, 4);
298
+ return Buffer.concat([hdr, body, Buffer.alloc(pad)]);
299
+ };
300
+ const atomNames = ["bench_mod", "module_info", "start"];
301
+ const atomParts = [Buffer.alloc(4)];
302
+ atomParts[0].writeUInt32BE(atomNames.length);
303
+ for (const n of atomNames) {
304
+ const enc = Buffer.from(n, "utf8");
305
+ atomParts.push(Buffer.from([enc.length]), enc);
306
+ }
307
+ const codeBody = Buffer.alloc(20);
308
+ codeBody.writeUInt32BE(16, 0);
309
+ codeBody.writeUInt32BE(0, 4);
310
+ codeBody.writeUInt32BE(169, 8);
311
+ codeBody.writeUInt32BE(4, 12);
312
+ codeBody.writeUInt32BE(2, 16);
313
+ const expBody = Buffer.alloc(16);
314
+ expBody.writeUInt32BE(1, 0);
315
+ expBody.writeUInt32BE(2, 4);
316
+ expBody.writeUInt32BE(0, 8);
317
+ expBody.writeUInt32BE(1, 12);
318
+ const form = Buffer.concat([
319
+ Buffer.from("BEAM", "latin1"),
320
+ chunk("AtU8", Buffer.concat(atomParts)),
321
+ chunk("Code", codeBody),
322
+ chunk("ExpT", expBody),
323
+ ]);
324
+ const seed = Buffer.concat([
325
+ Buffer.from("FOR1", "latin1"),
326
+ (() => {
327
+ const b = Buffer.alloc(4);
328
+ b.writeUInt32BE(form.length);
329
+ return b;
330
+ })(),
331
+ form,
332
+ ]);
333
+ writeFileSync(beamPath, seed);
334
+ const res = protectTarget({ inputPath: beamPath, outputPath: outBeamPath, intensity: "bankrupt" });
335
+ const afterAudit = auditTarget(outBeamPath);
336
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
337
+ cases.push(buildCaseResult("erlang-beam", "Erlang/OTP BEAM Module (.beam)", "REA inspect_erlang_beam", res, functionalOk));
338
+ }
339
+ // 12. EVM contract bytecode (.evm / .bin)
340
+ {
341
+ const evmPath = join(tempDir, "Vault.evm");
342
+ const outEvmPath = join(tempDir, "Vault.shielded.evm");
343
+ // Minimal runtime bytecode: STOP
344
+ writeFileSync(evmPath, Buffer.from([0x00]));
345
+ const res = protectTarget({ inputPath: evmPath, outputPath: outEvmPath, intensity: "bankrupt" });
346
+ const afterAudit = auditTarget(outEvmPath);
347
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED" &&
348
+ res.metrics.protectedBytes >= 4_000_000;
349
+ cases.push(buildCaseResult("evm-bytecode", "EVM Contract Bytecode (Solidity metadata)", "REA inspect_evm_bytecode / evmole", res, functionalOk));
350
+ }
351
+ // 13. PCAP capture (.pcap)
352
+ {
353
+ const pcapPath = join(tempDir, "enclave-traffic.pcap");
354
+ const outPcapPath = join(tempDir, "enclave-traffic.shielded.pcap");
355
+ const hdr = Buffer.alloc(24);
356
+ hdr.writeUInt32LE(0xa1b2c3d4, 0);
357
+ hdr.writeUInt16LE(2, 4);
358
+ hdr.writeUInt16LE(4, 6);
359
+ hdr.writeUInt32LE(65535, 16);
360
+ hdr.writeUInt32LE(1, 20);
361
+ writeFileSync(pcapPath, hdr);
362
+ const res = protectTarget({ inputPath: pcapPath, outputPath: outPcapPath, intensity: "bankrupt" });
363
+ const afterAudit = auditTarget(outPcapPath);
364
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
365
+ cases.push(buildCaseResult("pcap-capture", "libpcap Network Capture (.pcap)", "REA inspect_pcap_capture (tshark JSON)", res, functionalOk));
366
+ }
367
+ // 14. NVIDIA PTX text module (.ptx)
368
+ {
369
+ const ptxPath = join(tempDir, "enclave_kernel.ptx");
370
+ const outPtxPath = join(tempDir, "enclave_kernel.shielded.ptx");
371
+ writeFileSync(ptxPath, `.version 7.5\n.target sm_70\n.address_size 64\n\n.visible .entry real_kernel(.param .u64 real_kernel_param_0)\n{\n ret;\n}\n`, "utf8");
372
+ const res = protectTarget({ inputPath: ptxPath, outputPath: outPtxPath, intensity: "bankrupt" });
373
+ const afterAudit = auditTarget(outPtxPath);
374
+ const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
375
+ cases.push(buildCaseResult("gpu-ptx", "NVIDIA PTX Text Module (.ptx)", "REA inspect_gpu_artifact (PTX)", res, functionalOk));
376
+ }
297
377
  }
298
378
  finally {
299
379
  rmSync(tempDir, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface OneClickDefenseOptions {
7
7
  readonly intensity?: ProtectionIntensity;
8
8
  readonly seed?: string | number;
9
9
  readonly emitManifest?: boolean;
10
+ readonly llmDirectives?: boolean;
10
11
  }
11
12
  export interface OneClickDefenseStageSummary {
12
13
  readonly stage: "1-release-exposure-scan" | "2-preflight-rea-audit" | "3-exhaustion-and-deception-shield" | "4-counter-rea-invariant-verification" | "5-defense-attestation-manifest";
@@ -1 +1 @@
1
- {"version":3,"file":"defender.d.ts","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EACV,yBAAyB,GACzB,uBAAuB,GACvB,mCAAmC,GACnC,sCAAsC,GACtC,gCAAgC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC9C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;QAC7C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;QACzC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;QAC/C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;QAChD,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;KAC5C,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAkHnF"}
1
+ {"version":3,"file":"defender.d.ts","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EACV,yBAAyB,GACzB,uBAAuB,GACvB,mCAAmC,GACnC,sCAAsC,GACtC,gCAAgC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC9C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;QAC7C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;QACzC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;QAC/C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;QAChD,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;KAC5C,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAwHnF"}
@@ -37,6 +37,9 @@ export function defendTarget(options) {
37
37
  ...(options.inPlace !== undefined ? { inPlace: options.inPlace } : {}),
38
38
  intensity,
39
39
  ...(options.seed !== undefined ? { seed: options.seed } : {}),
40
+ ...(options.llmDirectives !== undefined
41
+ ? { llmDirectives: options.llmDirectives }
42
+ : {}),
40
43
  honeySourceMaps: true,
41
44
  });
42
45
  // Stage 4: Verify Counter-REA Invariants
@@ -88,6 +91,9 @@ export function defendTarget(options) {
88
91
  schema: "https://bla.tools/schemas/defense-manifest-v1.json",
89
92
  blaVersion: BLA_IDENTITY.version,
90
93
  protectedAt: new Date().toISOString(),
94
+ // Honesty: this JSON is an attestation record, not a cryptographic signature.
95
+ // Set attestationKind to "ed25519" only when a real signature is attached.
96
+ attestationKind: "unsigned",
91
97
  inputSha256: protection.originalSha256,
92
98
  protectedSha256: protection.protectedSha256,
93
99
  detectedFormat: protection.detectedFormat,
@@ -102,7 +108,7 @@ export function defendTarget(options) {
102
108
  stages.push({
103
109
  stage: "5-defense-attestation-manifest",
104
110
  status: "passed",
105
- headline: `Emitted signed Counter-REA attestation manifest to ${manifestPath}`,
111
+ headline: `Emitted unsigned Counter-REA attestation manifest (not ed25519-signed) to ${manifestPath}`,
106
112
  });
107
113
  }
108
114
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"defender.js","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defender.js","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { ArtifactFormat, ProtectionIntensity } from "../core/types.js";
2
+ /** Preferred build-output directory names, searched first under a project root. */
3
+ export declare const BLA_BUILD_OUTPUT_DIR_NAMES: readonly ["dist", "build", "out", "release", "Release", "Debug", "x64", "Win32", "bin", ".next", "target"];
4
+ export interface DiscoveredArtifact {
5
+ readonly path: string;
6
+ readonly format: ArtifactFormat;
7
+ readonly relativePath: string;
8
+ }
9
+ export interface HardenArtifactSummary {
10
+ readonly inputPath: string;
11
+ readonly relativePath: string;
12
+ readonly format: ArtifactFormat;
13
+ readonly outputPath: string;
14
+ readonly success: boolean;
15
+ readonly defenseScore: number;
16
+ readonly tokenAmplificationFactor: number;
17
+ readonly costAmplificationFactor: number;
18
+ readonly error?: string;
19
+ }
20
+ export interface HardenProjectOptions {
21
+ /** Project or build directory (default: cwd). A single file is also accepted. */
22
+ readonly directory?: string;
23
+ readonly intensity?: ProtectionIntensity;
24
+ readonly seed?: string | number;
25
+ readonly emitManifest?: boolean;
26
+ readonly llmDirectives?: boolean;
27
+ /** Optional output root; defaults to `<dir>/.bla-hardened`. */
28
+ readonly outputDirectory?: string;
29
+ readonly maxArtifacts?: number;
30
+ }
31
+ export interface HardenProjectReport {
32
+ readonly blaVersion: string;
33
+ readonly directory: string;
34
+ readonly intensity: ProtectionIntensity;
35
+ readonly overallSuccess: boolean;
36
+ readonly discoveredCount: number;
37
+ readonly hardenedCount: number;
38
+ readonly failedCount: number;
39
+ readonly outputDirectory: string;
40
+ readonly artifacts: readonly HardenArtifactSummary[];
41
+ readonly oneSentenceUsage: string;
42
+ }
43
+ /**
44
+ * Auto-discovers protectable build artifacts under a project or build directory.
45
+ * Prefers dist/build/out/release/…, and also picks up root-level
46
+ * .asar/native/.wasm/.py/.pyc/.sqlite/.safetensors/.gguf/.dex/.class/.dll
47
+ * and magic-byte formats even when a build directory exists.
48
+ */
49
+ export declare function discoverHardenableArtifacts(directory?: string, options?: {
50
+ readonly maxArtifacts?: number;
51
+ }): readonly DiscoveredArtifact[];
52
+ /**
53
+ * One-sentence Counter-REA hardening: discover every protectable build artifact
54
+ * under a project/build directory and run the full audit→defend→verify pipeline
55
+ * with the bankrupt profile. Modelled on REA's `npx rea-agents setup` simplicity.
56
+ *
57
+ * Usage: `bla harden .` / MCP `bla_harden` with `{ "directory": "." }`
58
+ */
59
+ export declare function hardenProject(options?: HardenProjectOptions): HardenProjectReport;
60
+ export declare function formatHardenProjectReport(report: HardenProjectReport): string;
61
+ //# sourceMappingURL=harden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harden.d.ts","sourceRoot":"","sources":["../../src/engine/harden.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5E,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,4GAY5B,CAAC;AAuCZ,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAmFD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,GAAE,MAAsB,EACjC,OAAO,GAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,SAAS,kBAAkB,EAAE,CAmC/B;AAeD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAgGrB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAyB7E"}