bla-agents 1.1.0 → 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) 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-plan.d.ts +68 -0
  40. package/dist/core/release-plan.d.ts.map +1 -0
  41. package/dist/core/release-plan.js +235 -0
  42. package/dist/core/release-plan.js.map +1 -0
  43. package/dist/core/sarif.d.ts +53 -0
  44. package/dist/core/sarif.d.ts.map +1 -0
  45. package/dist/core/sarif.js +91 -0
  46. package/dist/core/sarif.js.map +1 -0
  47. package/dist/core/sqlite-runtime.d.ts +13 -0
  48. package/dist/core/sqlite-runtime.d.ts.map +1 -1
  49. package/dist/core/sqlite-runtime.js +38 -8
  50. package/dist/core/sqlite-runtime.js.map +1 -1
  51. package/dist/core/types.d.ts +7 -2
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/engine/auditor.d.ts.map +1 -1
  54. package/dist/engine/auditor.js +251 -8
  55. package/dist/engine/auditor.js.map +1 -1
  56. package/dist/engine/benchmark.d.ts +1 -1
  57. package/dist/engine/benchmark.d.ts.map +1 -1
  58. package/dist/engine/benchmark.js +121 -41
  59. package/dist/engine/benchmark.js.map +1 -1
  60. package/dist/engine/defender.d.ts +1 -0
  61. package/dist/engine/defender.d.ts.map +1 -1
  62. package/dist/engine/defender.js +7 -1
  63. package/dist/engine/defender.js.map +1 -1
  64. package/dist/engine/harden.d.ts +61 -0
  65. package/dist/engine/harden.d.ts.map +1 -0
  66. package/dist/engine/harden.js +292 -0
  67. package/dist/engine/harden.js.map +1 -0
  68. package/dist/engine/protector.d.ts.map +1 -1
  69. package/dist/engine/protector.js +162 -21
  70. package/dist/engine/protector.js.map +1 -1
  71. package/dist/identity.d.ts +112 -2
  72. package/dist/identity.d.ts.map +1 -1
  73. package/dist/identity.js +112 -2
  74. package/dist/identity.js.map +1 -1
  75. package/dist/index.d.ts +26 -9
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +26 -9
  78. package/dist/index.js.map +1 -1
  79. package/dist/mcp/server.d.ts +59 -152
  80. package/dist/mcp/server.d.ts.map +1 -1
  81. package/dist/mcp/server.js +466 -50
  82. package/dist/mcp/server.js.map +1 -1
  83. package/dist/setup/clients.d.ts +49 -1
  84. package/dist/setup/clients.d.ts.map +1 -1
  85. package/dist/setup/clients.js +1193 -20
  86. package/dist/setup/clients.js.map +1 -1
  87. package/dist/setup/doctor.d.ts +58 -14
  88. package/dist/setup/doctor.d.ts.map +1 -1
  89. package/dist/setup/doctor.js +316 -22
  90. package/dist/setup/doctor.js.map +1 -1
  91. package/dist/setup/setup.d.ts +77 -7
  92. package/dist/setup/setup.d.ts.map +1 -1
  93. package/dist/setup/setup.js +591 -62
  94. package/dist/setup/setup.js.map +1 -1
  95. package/dist/shields/chaff/chaff-generator.d.ts.map +1 -1
  96. package/dist/shields/chaff/chaff-generator.js +12 -3
  97. package/dist/shields/chaff/chaff-generator.js.map +1 -1
  98. package/dist/shields/deception/architecture-mirage.js +1 -1
  99. package/dist/shields/deception/architecture-mirage.js.map +1 -1
  100. package/dist/shields/deception/canary-honeypot.d.ts +33 -0
  101. package/dist/shields/deception/canary-honeypot.d.ts.map +1 -0
  102. package/dist/shields/deception/canary-honeypot.js +95 -0
  103. package/dist/shields/deception/canary-honeypot.js.map +1 -0
  104. package/dist/shields/deception/cognitive-armor-trigger.d.ts +43 -0
  105. package/dist/shields/deception/cognitive-armor-trigger.d.ts.map +1 -0
  106. package/dist/shields/deception/cognitive-armor-trigger.js +204 -0
  107. package/dist/shields/deception/cognitive-armor-trigger.js.map +1 -0
  108. package/dist/shields/deception/crash-trace-decoy.js +1 -1
  109. package/dist/shields/deception/crash-trace-decoy.js.map +1 -1
  110. package/dist/shields/deception/decompiler-illusion.js +1 -1
  111. package/dist/shields/deception/decompiler-illusion.js.map +1 -1
  112. package/dist/shields/deception/diff-noise-injector.js +1 -1
  113. package/dist/shields/deception/diff-noise-injector.js.map +1 -1
  114. package/dist/shields/deception/evidence-contract-poison.js +1 -1
  115. package/dist/shields/deception/evidence-contract-poison.js.map +1 -1
  116. package/dist/shields/deception/format-payloads.d.ts +21 -0
  117. package/dist/shields/deception/format-payloads.d.ts.map +1 -0
  118. package/dist/shields/deception/format-payloads.js +24 -0
  119. package/dist/shields/deception/format-payloads.js.map +1 -0
  120. package/dist/shields/deception/index.d.ts +10 -2
  121. package/dist/shields/deception/index.d.ts.map +1 -1
  122. package/dist/shields/deception/index.js +20 -3
  123. package/dist/shields/deception/index.js.map +1 -1
  124. package/dist/shields/deception/prompt-completion-poison.d.ts +3 -2
  125. package/dist/shields/deception/prompt-completion-poison.d.ts.map +1 -1
  126. package/dist/shields/deception/prompt-completion-poison.js +6 -3
  127. package/dist/shields/deception/prompt-completion-poison.js.map +1 -1
  128. package/dist/shields/deception/shadow-business-logic.js +4 -4
  129. package/dist/shields/deception/shadow-business-logic.js.map +1 -1
  130. package/dist/shields/deception/system-diagnostic-decoy.d.ts +36 -0
  131. package/dist/shields/deception/system-diagnostic-decoy.d.ts.map +1 -0
  132. package/dist/shields/deception/system-diagnostic-decoy.js +101 -0
  133. package/dist/shields/deception/system-diagnostic-decoy.js.map +1 -0
  134. package/dist/shields/exhaustion/asar-header-amplifier.d.ts +12 -3
  135. package/dist/shields/exhaustion/asar-header-amplifier.d.ts.map +1 -1
  136. package/dist/shields/exhaustion/asar-header-amplifier.js +30 -8
  137. package/dist/shields/exhaustion/asar-header-amplifier.js.map +1 -1
  138. package/dist/shields/exhaustion/bpe-token-amplifier.js +2 -2
  139. package/dist/shields/exhaustion/bpe-token-amplifier.js.map +1 -1
  140. package/dist/shields/exhaustion/callgraph-labyrinth.js +2 -2
  141. package/dist/shields/exhaustion/callgraph-labyrinth.js.map +1 -1
  142. package/dist/shields/exhaustion/cdp-shape-budget-breaker.js +1 -1
  143. package/dist/shields/exhaustion/cdp-shape-budget-breaker.js.map +1 -1
  144. package/dist/shields/exhaustion/frida-capture-saturation.d.ts +10 -5
  145. package/dist/shields/exhaustion/frida-capture-saturation.d.ts.map +1 -1
  146. package/dist/shields/exhaustion/frida-capture-saturation.js +21 -8
  147. package/dist/shields/exhaustion/frida-capture-saturation.js.map +1 -1
  148. package/dist/shields/exhaustion/index.d.ts +2 -2
  149. package/dist/shields/exhaustion/index.d.ts.map +1 -1
  150. package/dist/shields/exhaustion/index.js +2 -2
  151. package/dist/shields/exhaustion/index.js.map +1 -1
  152. package/dist/shields/exhaustion/obligation-flooder.d.ts +17 -5
  153. package/dist/shields/exhaustion/obligation-flooder.d.ts.map +1 -1
  154. package/dist/shields/exhaustion/obligation-flooder.js +20 -8
  155. package/dist/shields/exhaustion/obligation-flooder.js.map +1 -1
  156. package/dist/shields/exhaustion/rea-budget-matrix.d.ts +8 -2
  157. package/dist/shields/exhaustion/rea-budget-matrix.d.ts.map +1 -1
  158. package/dist/shields/exhaustion/rea-budget-matrix.js +139 -16
  159. package/dist/shields/exhaustion/rea-budget-matrix.js.map +1 -1
  160. package/dist/shields/exhaustion/regex-worker-tarpit.d.ts.map +1 -1
  161. package/dist/shields/exhaustion/regex-worker-tarpit.js +2 -1
  162. package/dist/shields/exhaustion/regex-worker-tarpit.js.map +1 -1
  163. package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts +7 -4
  164. package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts.map +1 -1
  165. package/dist/shields/exhaustion/wasm-interface-exhaustion.js +16 -7
  166. package/dist/shields/exhaustion/wasm-interface-exhaustion.js.map +1 -1
  167. package/dist/shields/formats/android-dex-xref.d.ts +19 -0
  168. package/dist/shields/formats/android-dex-xref.d.ts.map +1 -0
  169. package/dist/shields/formats/android-dex-xref.js +427 -0
  170. package/dist/shields/formats/android-dex-xref.js.map +1 -0
  171. package/dist/shields/formats/android-manifest.d.ts +44 -0
  172. package/dist/shields/formats/android-manifest.d.ts.map +1 -0
  173. package/dist/shields/formats/android-manifest.js +240 -0
  174. package/dist/shields/formats/android-manifest.js.map +1 -0
  175. package/dist/shields/formats/android-r8.d.ts +44 -0
  176. package/dist/shields/formats/android-r8.d.ts.map +1 -0
  177. package/dist/shields/formats/android-r8.js +246 -0
  178. package/dist/shields/formats/android-r8.js.map +1 -0
  179. package/dist/shields/formats/apple-plist.d.ts +15 -0
  180. package/dist/shields/formats/apple-plist.d.ts.map +1 -1
  181. package/dist/shields/formats/apple-plist.js +59 -1
  182. package/dist/shields/formats/apple-plist.js.map +1 -1
  183. package/dist/shields/formats/archive.d.ts +27 -6
  184. package/dist/shields/formats/archive.d.ts.map +1 -1
  185. package/dist/shields/formats/archive.js +247 -45
  186. package/dist/shields/formats/archive.js.map +1 -1
  187. package/dist/shields/formats/asar.d.ts +50 -10
  188. package/dist/shields/formats/asar.d.ts.map +1 -1
  189. package/dist/shields/formats/asar.js +265 -39
  190. package/dist/shields/formats/asar.js.map +1 -1
  191. package/dist/shields/formats/bun-standalone.d.ts +78 -0
  192. package/dist/shields/formats/bun-standalone.d.ts.map +1 -0
  193. package/dist/shields/formats/bun-standalone.js +272 -0
  194. package/dist/shields/formats/bun-standalone.js.map +1 -0
  195. package/dist/shields/formats/dotnet-managed.d.ts +9 -0
  196. package/dist/shields/formats/dotnet-managed.d.ts.map +1 -1
  197. package/dist/shields/formats/dotnet-managed.js +26 -1
  198. package/dist/shields/formats/dotnet-managed.js.map +1 -1
  199. package/dist/shields/formats/electron-fuses.d.ts +63 -8
  200. package/dist/shields/formats/electron-fuses.d.ts.map +1 -1
  201. package/dist/shields/formats/electron-fuses.js +297 -65
  202. package/dist/shields/formats/electron-fuses.js.map +1 -1
  203. package/dist/shields/formats/erlang-beam.d.ts +34 -0
  204. package/dist/shields/formats/erlang-beam.d.ts.map +1 -0
  205. package/dist/shields/formats/erlang-beam.js +319 -0
  206. package/dist/shields/formats/erlang-beam.js.map +1 -0
  207. package/dist/shields/formats/evm-bytecode.d.ts +28 -0
  208. package/dist/shields/formats/evm-bytecode.d.ts.map +1 -0
  209. package/dist/shields/formats/evm-bytecode.js +124 -0
  210. package/dist/shields/formats/evm-bytecode.js.map +1 -0
  211. package/dist/shields/formats/go-flutter-exhaustion.d.ts +55 -0
  212. package/dist/shields/formats/go-flutter-exhaustion.d.ts.map +1 -0
  213. package/dist/shields/formats/go-flutter-exhaustion.js +346 -0
  214. package/dist/shields/formats/go-flutter-exhaustion.js.map +1 -0
  215. package/dist/shields/formats/gpu-ptx.d.ts +40 -0
  216. package/dist/shields/formats/gpu-ptx.d.ts.map +1 -0
  217. package/dist/shields/formats/gpu-ptx.js +62 -0
  218. package/dist/shields/formats/gpu-ptx.js.map +1 -0
  219. package/dist/shields/formats/headers.d.ts.map +1 -1
  220. package/dist/shields/formats/headers.js +54 -14
  221. package/dist/shields/formats/headers.js.map +1 -1
  222. package/dist/shields/formats/jvm-bytecode.d.ts +20 -0
  223. package/dist/shields/formats/jvm-bytecode.d.ts.map +1 -0
  224. package/dist/shields/formats/jvm-bytecode.js +134 -0
  225. package/dist/shields/formats/jvm-bytecode.js.map +1 -0
  226. package/dist/shields/formats/mobile-game.d.ts +4 -0
  227. package/dist/shields/formats/mobile-game.d.ts.map +1 -1
  228. package/dist/shields/formats/mobile-game.js +16 -0
  229. package/dist/shields/formats/mobile-game.js.map +1 -1
  230. package/dist/shields/formats/model.d.ts +22 -8
  231. package/dist/shields/formats/model.d.ts.map +1 -1
  232. package/dist/shields/formats/model.js +231 -59
  233. package/dist/shields/formats/model.js.map +1 -1
  234. package/dist/shields/formats/native.d.ts +65 -11
  235. package/dist/shields/formats/native.d.ts.map +1 -1
  236. package/dist/shields/formats/native.js +413 -108
  237. package/dist/shields/formats/native.js.map +1 -1
  238. package/dist/shields/formats/pcap-capture.d.ts +27 -0
  239. package/dist/shields/formats/pcap-capture.d.ts.map +1 -0
  240. package/dist/shields/formats/pcap-capture.js +201 -0
  241. package/dist/shields/formats/pcap-capture.js.map +1 -0
  242. package/dist/shields/formats/python.d.ts +22 -1
  243. package/dist/shields/formats/python.d.ts.map +1 -1
  244. package/dist/shields/formats/python.js +568 -27
  245. package/dist/shields/formats/python.js.map +1 -1
  246. package/dist/shields/formats/sourcemap.d.ts.map +1 -1
  247. package/dist/shields/formats/sourcemap.js +2 -0
  248. package/dist/shields/formats/sourcemap.js.map +1 -1
  249. package/dist/shields/formats/sqlite.d.ts +87 -15
  250. package/dist/shields/formats/sqlite.d.ts.map +1 -1
  251. package/dist/shields/formats/sqlite.js +377 -42
  252. package/dist/shields/formats/sqlite.js.map +1 -1
  253. package/dist/shields/formats/wasm.d.ts +6 -0
  254. package/dist/shields/formats/wasm.d.ts.map +1 -1
  255. package/dist/shields/formats/wasm.js +118 -3
  256. package/dist/shields/formats/wasm.js.map +1 -1
  257. package/dist/shields/javascript/ast-shield.d.ts +25 -5
  258. package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
  259. package/dist/shields/javascript/ast-shield.js +428 -58
  260. package/dist/shields/javascript/ast-shield.js.map +1 -1
  261. package/dist/shields/runtime/memory-diff-shield.d.ts +56 -0
  262. package/dist/shields/runtime/memory-diff-shield.d.ts.map +1 -0
  263. package/dist/shields/runtime/memory-diff-shield.js +170 -0
  264. package/dist/shields/runtime/memory-diff-shield.js.map +1 -0
  265. package/dist/shields/runtime/runtime-shield.d.ts +12 -16
  266. package/dist/shields/runtime/runtime-shield.d.ts.map +1 -1
  267. package/dist/shields/runtime/runtime-shield.js +30 -24
  268. package/dist/shields/runtime/runtime-shield.js.map +1 -1
  269. package/dist/shields/tarpit/opaque-predicates.d.ts.map +1 -1
  270. package/dist/shields/tarpit/opaque-predicates.js +3 -3
  271. package/dist/shields/tarpit/opaque-predicates.js.map +1 -1
  272. package/dist/shields/tarpit/tarpit-generator.d.ts +9 -4
  273. package/dist/shields/tarpit/tarpit-generator.d.ts.map +1 -1
  274. package/dist/shields/tarpit/tarpit-generator.js +30 -23
  275. package/dist/shields/tarpit/tarpit-generator.js.map +1 -1
  276. package/package.json +13 -6
@@ -1,4 +1,5 @@
1
1
  import type { ProtectionIntensity } from "../core/types.js";
2
+ import { type JsCarrierType, type JsLoaderType } from "../shields/javascript/ast-shield.js";
2
3
  export interface BlaBundlerPluginOptions {
3
4
  /** Protection intensity preset (default: `"balanced"`). */
4
5
  readonly intensity?: ProtectionIntensity;
@@ -9,6 +10,15 @@ export interface BlaBundlerPluginOptions {
9
10
  /** Emit a companion `.map` honey source map for each protected chunk (default: `true`). */
10
11
  readonly honeySourceMap?: boolean;
11
12
  }
13
+ /**
14
+ * Infers the exact esbuild loader (`"js" | "jsx" | "ts" | "tsx"`) from a module path.
15
+ */
16
+ export declare function inferEsbuildLoader(filePath: string): JsLoaderType;
17
+ /**
18
+ * Maps a Rollup/Vite output format (`"es"`, `"cjs"`, `"iife"`, `"umd"`, `"amd"`, `"system"`)
19
+ * or chunk filename to a BLA JavaScript carrier contract.
20
+ */
21
+ export declare function inferCarrierFromRollupFormat(format?: string, fileName?: string): JsCarrierType;
12
22
  /**
13
23
  * Vite & Rollup plugin (`blaVitePlugin` / `blaRollupPlugin`) that automatically
14
24
  * injects BLA's three-stage adversarial shield into generated JS chunks during `renderChunk`.
@@ -27,6 +37,9 @@ export declare function blaRollupPlugin(options?: BlaBundlerPluginOptions): {
27
37
  name: string;
28
38
  renderChunk(code: string, chunk: {
29
39
  fileName: string;
40
+ isEntry?: boolean;
41
+ }, outputOptions?: {
42
+ format?: string;
30
43
  }): {
31
44
  code: string;
32
45
  map: null;
@@ -43,6 +56,9 @@ export declare function blaVitePlugin(options?: BlaBundlerPluginOptions): {
43
56
  enforce: "post";
44
57
  renderChunk(code: string, chunk: {
45
58
  fileName: string;
59
+ isEntry?: boolean;
60
+ }, outputOptions?: {
61
+ format?: string;
46
62
  }): {
47
63
  code: string;
48
64
  map: null;
@@ -82,7 +98,8 @@ export declare class BlaWebpackPlugin {
82
98
  }): void;
83
99
  }
84
100
  /**
85
- * esbuild plugin (`blaEsbuildPlugin`) that shields JS/TS entrypoints or output files.
101
+ * esbuild plugin (`blaEsbuildPlugin`) that shields JS/TS/JSX/TSX entrypoints or modules
102
+ * while preserving the exact esbuild loader (`js`, `jsx`, `ts`, `tsx`) and module carrier.
86
103
  */
87
104
  export declare function blaEsbuildPlugin(options?: BlaBundlerPluginOptions): {
88
105
  name: string;
@@ -93,7 +110,7 @@ export declare function blaEsbuildPlugin(options?: BlaBundlerPluginOptions): {
93
110
  path: string;
94
111
  }) => Promise<{
95
112
  contents: string;
96
- loader: string;
113
+ loader: JsLoaderType;
97
114
  } | null>) => void;
98
115
  }): void;
99
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAM5D,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,uBAA4B;;sBAO/C,MAAM,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;;;;;;EA0BxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,uBAA4B;;;sBA/B7C,MAAM,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;;;;;;EAqCxD;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAE9B,OAAO,GAAE,uBAA4B;IAIjD,KAAK,CAAC,QAAQ,EAAE;QACd,KAAK,EAAE;YACL,WAAW,EAAE;gBACX,GAAG,EAAE,CACH,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,WAAW,EAAE;oBAChB,KAAK,EAAE;wBACL,aAAa,EAAE;4BACb,GAAG,EAAE,CACH,IAAI,EAAE;gCAAE,IAAI,EAAE,MAAM,CAAC;gCAAC,KAAK,EAAE,MAAM,CAAA;6BAAE,EACrC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gCAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;gCAAC,IAAI,EAAE,MAAM,MAAM,CAAA;6BAAE,CAAC,KAAK,IAAI,KACxF,IAAI,CAAC;yBACX,CAAC;qBACH,CAAC;oBACF,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE;wBAAE,MAAM,EAAE,MAAM,MAAM,CAAC;wBAAC,IAAI,EAAE,MAAM,MAAM,CAAA;qBAAE,KACpD,IAAI,CAAC;iBACX,KAAK,IAAI,KACP,IAAI,CAAC;aACX,CAAC;SACH,CAAC;KACH,GAAG,IAAI;CA+BT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;;iBAMrD;QACX,MAAM,EAAE,CACN,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,EACxB,EAAE,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC,KACjF,IAAI,CAAC;KACX;EAiBJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAI5D,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAEjE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,aAAa,CAuBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,uBAA4B;;sBAQzD,MAAM,SACL;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,kBAC9B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;EAuCxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,uBAA4B;;;sBA9CvD,MAAM,SACL;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,kBAC9B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;EAkDxC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAE9B,OAAO,GAAE,uBAA4B;IAIjD,KAAK,CAAC,QAAQ,EAAE;QACd,KAAK,EAAE;YACL,WAAW,EAAE;gBACX,GAAG,EAAE,CACH,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,WAAW,EAAE;oBAChB,KAAK,EAAE;wBACL,aAAa,EAAE;4BACb,GAAG,EAAE,CACH,IAAI,EAAE;gCAAE,IAAI,EAAE,MAAM,CAAC;gCAAC,KAAK,EAAE,MAAM,CAAA;6BAAE,EACrC,EAAE,EAAE,CACF,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;gCAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;gCAAC,IAAI,EAAE,MAAM,MAAM,CAAA;6BAAE,CACtD,KACE,IAAI,KACN,IAAI,CAAC;yBACX,CAAC;qBACH,CAAC;oBACF,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE;wBAAE,MAAM,EAAE,MAAM,MAAM,CAAC;wBAAC,IAAI,EAAE,MAAM,MAAM,CAAA;qBAAE,KACpD,IAAI,CAAC;iBACX,KAAK,IAAI,KACP,IAAI,CAAC;aACX,CAAC;SACH,CAAC;KACH,GAAG,IAAI;CAmCT;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;;iBAMrD;QACX,MAAM,EAAE,CACN,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,EACxB,EAAE,EAAE,CAAC,IAAI,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;SACd,KAAK,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,YAAY,CAAA;SAAE,GAAG,IAAI,CAAC,KAC7D,IAAI,CAAC;KACX;EAqBJ"}
@@ -1,7 +1,37 @@
1
1
  import { SeededPrng } from "../core/prng.js";
2
2
  import { generateChaffPayloads } from "../shields/chaff/chaff-generator.js";
3
3
  import { generateHoneySourceMap } from "../shields/formats/sourcemap.js";
4
- import { transformJavaScriptWithBlaShield } from "../shields/javascript/ast-shield.js";
4
+ import { inferJsCarrierFromPath, inferJsLoaderFromPath, transformJavaScriptWithBlaShield, } from "../shields/javascript/ast-shield.js";
5
+ /**
6
+ * Infers the exact esbuild loader (`"js" | "jsx" | "ts" | "tsx"`) from a module path.
7
+ */
8
+ export function inferEsbuildLoader(filePath) {
9
+ return inferJsLoaderFromPath(filePath);
10
+ }
11
+ /**
12
+ * Maps a Rollup/Vite output format (`"es"`, `"cjs"`, `"iife"`, `"umd"`, `"amd"`, `"system"`)
13
+ * or chunk filename to a BLA JavaScript carrier contract.
14
+ */
15
+ export function inferCarrierFromRollupFormat(format, fileName) {
16
+ if (format) {
17
+ const normalized = format.toLowerCase().trim();
18
+ if (normalized === "es" ||
19
+ normalized === "esm" ||
20
+ normalized === "module") {
21
+ return "module";
22
+ }
23
+ if (normalized === "cjs" || normalized === "commonjs") {
24
+ return "commonjs";
25
+ }
26
+ if (normalized === "iife" ||
27
+ normalized === "umd" ||
28
+ normalized === "amd" ||
29
+ normalized === "system") {
30
+ return "script";
31
+ }
32
+ }
33
+ return inferJsCarrierFromPath(fileName);
34
+ }
5
35
  /**
6
36
  * Vite & Rollup plugin (`blaVitePlugin` / `blaRollupPlugin`) that automatically
7
37
  * injects BLA's three-stage adversarial shield into generated JS chunks during `renderChunk`.
@@ -22,15 +52,19 @@ export function blaRollupPlugin(options = {}) {
22
52
  const emitMap = options.honeySourceMap ?? true;
23
53
  return {
24
54
  name: "bla-shield-rollup-plugin",
25
- renderChunk(code, chunk) {
55
+ renderChunk(code, chunk, outputOptions) {
26
56
  if (!include.test(chunk.fileName)) {
27
57
  return null;
28
58
  }
29
59
  const seed = `${options.seed ?? "bla-rollup"}:${chunk.fileName}`;
60
+ const sourceType = inferCarrierFromRollupFormat(outputOptions?.format, chunk.fileName);
61
+ const loader = inferEsbuildLoader(chunk.fileName);
30
62
  const transformed = transformJavaScriptWithBlaShield(code, {
31
63
  intensity,
32
64
  seed,
33
65
  filename: chunk.fileName,
66
+ sourceType,
67
+ loader,
34
68
  });
35
69
  if (!emitMap) {
36
70
  return { code: transformed.code, map: null };
@@ -79,10 +113,14 @@ export class BlaWebpackPlugin {
79
113
  if (!rawAsset)
80
114
  continue;
81
115
  const rawSource = rawAsset.source().toString("utf8");
116
+ const sourceType = inferJsCarrierFromPath(assetName);
117
+ const loader = inferEsbuildLoader(assetName);
82
118
  const transformed = transformJavaScriptWithBlaShield(rawSource, {
83
119
  intensity,
84
120
  seed: `${this.options.seed ?? "bla-webpack"}:${assetName}`,
85
121
  filename: assetName,
122
+ sourceType,
123
+ loader,
86
124
  });
87
125
  const shieldedCode = transformed.code;
88
126
  compilation.updateAsset(assetName, {
@@ -95,7 +133,8 @@ export class BlaWebpackPlugin {
95
133
  }
96
134
  }
97
135
  /**
98
- * esbuild plugin (`blaEsbuildPlugin`) that shields JS/TS entrypoints or output files.
136
+ * esbuild plugin (`blaEsbuildPlugin`) that shields JS/TS/JSX/TSX entrypoints or modules
137
+ * while preserving the exact esbuild loader (`js`, `jsx`, `ts`, `tsx`) and module carrier.
99
138
  */
100
139
  export function blaEsbuildPlugin(options = {}) {
101
140
  const intensity = options.intensity ?? "balanced";
@@ -108,14 +147,18 @@ export function blaEsbuildPlugin(options = {}) {
108
147
  return null;
109
148
  const fs = await import("node:fs/promises");
110
149
  const source = await fs.readFile(args.path, "utf8");
150
+ const loader = inferEsbuildLoader(args.path);
151
+ const sourceType = inferJsCarrierFromPath(args.path);
111
152
  const transformed = transformJavaScriptWithBlaShield(source, {
112
153
  intensity,
113
154
  seed: `${options.seed ?? "bla-esbuild"}:${args.path}`,
114
155
  filename: args.path,
156
+ loader,
157
+ sourceType,
115
158
  });
116
159
  return {
117
160
  contents: transformed.code,
118
- loader: args.path.endsWith(".ts") || args.path.endsWith(".tsx") ? "ts" : "js",
161
+ loader,
119
162
  };
120
163
  });
121
164
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundler/index.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -6,15 +6,20 @@ interface ParsedCliArgs {
6
6
  readonly command: string;
7
7
  readonly positionals: string[];
8
8
  readonly output?: string;
9
+ readonly configPath?: string;
9
10
  readonly inPlace: boolean;
10
11
  readonly intensity: ProtectionIntensity;
11
12
  readonly seed?: string;
13
+ readonly manifest: boolean;
14
+ readonly llmDirectives: boolean;
12
15
  readonly lang: NativeHeaderLanguage;
13
16
  readonly clients: SupportedAgentClientId[];
14
17
  readonly allDetected: boolean;
15
18
  readonly dryRun: boolean;
16
19
  readonly yes: boolean;
17
20
  readonly json: boolean;
21
+ readonly sarif: boolean;
22
+ readonly failUnder?: number;
18
23
  readonly honeyMaps: boolean;
19
24
  readonly help: boolean;
20
25
  readonly version: boolean;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAM3D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAqDjE,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CA8EnE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA8K7F"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAO3D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AA8DjE,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAmGnE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAwP7F"}
package/dist/cli.js CHANGED
@@ -2,11 +2,14 @@
2
2
  import { writeFileSync } from "node:fs";
3
3
  import { resolve } from "node:path";
4
4
  import { BLA_IDENTITY } from "./identity.js";
5
+ import { initBlaConfig, loadBlaConfig, resolveProjectSeed } from "./core/config.js";
5
6
  import { inspectReleaseExposure } from "./core/release-exposure.js";
7
+ import { buildSarifReport } from "./core/sarif.js";
6
8
  import { auditTarget } from "./engine/auditor.js";
7
9
  import { protectTarget } from "./engine/protector.js";
8
10
  import { verifyTarget } from "./engine/verifier.js";
9
11
  import { defendTarget } from "./engine/defender.js";
12
+ import { formatHardenProjectReport, hardenProject } from "./engine/harden.js";
10
13
  import { runShowcaseBenchmark } from "./engine/benchmark.js";
11
14
  import { emitCompileTimeNativeHeader, } from "./shields/formats/headers.js";
12
15
  import { runSetup, runUninstall } from "./setup/setup.js";
@@ -21,14 +24,20 @@ Usage:
21
24
  npx bla-shield <command> [options]
22
25
  bla <command> [options]
23
26
 
27
+ Quick start:
28
+ npx bla-agents setup -y # register bla_harden with your agent
29
+ bla harden . # one-sentence Counter-REA hardening
30
+ # or tell your agent: "Harden my software against REA"
31
+
24
32
  Commands:
25
33
  setup Configure agent MCP integrations & install the BLA skill
34
+ harden [dir] DEFAULT: auto-discover build outputs under a project/build dir and bankrupt-harden all of them
26
35
  defend <target> One-click full Counter-REA pipeline (inspect -> audit -> bankrupt protect -> verify)
27
36
  inspect-release <target> Read-only local source-map & symbol exposure check
28
37
  audit <target> Pre-flight REA exposure & vulnerability scan
29
38
  protect <target> Inject multi-layer Counter-REA adversarial shield
30
39
  verify <target> [original] Verify Counter-REA defense invariants & token amplification
31
- benchmark Run the 8-target Counter-REA Showcase Benchmark suite
40
+ benchmark Run the 14-target Counter-REA Showcase Benchmark suite
32
41
  emit-headers Generate compile-time C/C++, Rust, or Go defense headers
33
42
  doctor Check readiness of BLA engines & agent registrations
34
43
  update Update global bla-shield installation & print setup refresh instructions
@@ -38,8 +47,11 @@ Commands:
38
47
  Options:
39
48
  -o, --output <path> Output file or directory path (for protect / emit-headers)
40
49
  --in-place Overwrite input target in-place (for protect)
41
- --intensity <preset> Protection preset: stealth | balanced | maximum | bankrupt (default: balanced)
42
- --seed <seed> Deterministic PRNG seed for reproducible protection
50
+ --intensity <preset> stealth | balanced | maximum | bankrupt
51
+ (harden/defend default: bankrupt; protect default: balanced)
52
+ --seed <seed> Deterministic PRNG seed (default: per-project random in .blarc)
53
+ --manifest Emit unsigned .bla-manifest.json next to protected artifacts (opt-in)
54
+ --llm-directives Opt-in risky LLM directive layers (COPPA/medical bait, dual-use imitation, AI chat markers); OFF by default
43
55
  --lang <c|rust|go> Target language for emit-headers (default: c)
44
56
  --client <id> Agent client ID for setup (repeatable: claude_code, cursor, codex, etc.)
45
57
  --all-detected Configure all detected coding agents on this machine
@@ -54,15 +66,20 @@ export function parseCliArgs(argv) {
54
66
  let command = "";
55
67
  const positionals = [];
56
68
  let output;
69
+ let configPath;
57
70
  let inPlace = false;
58
71
  let intensity = "balanced";
59
72
  let seed;
73
+ let manifest = false;
74
+ let llmDirectives = false;
60
75
  let lang = "c";
61
76
  const clients = [];
62
77
  let allDetected = false;
63
78
  let dryRun = false;
64
79
  let yes = false;
65
80
  let json = false;
81
+ let sarif = false;
82
+ let failUnder;
66
83
  let honeyMaps = true;
67
84
  let help = false;
68
85
  let version = false;
@@ -77,6 +94,9 @@ export function parseCliArgs(argv) {
77
94
  else if (arg === "--json") {
78
95
  json = true;
79
96
  }
97
+ else if (arg === "--sarif") {
98
+ sarif = true;
99
+ }
80
100
  else if (arg === "-y" || arg === "--yes") {
81
101
  yes = true;
82
102
  }
@@ -92,6 +112,12 @@ export function parseCliArgs(argv) {
92
112
  else if (arg === "--no-honey-maps") {
93
113
  honeyMaps = false;
94
114
  }
115
+ else if (arg === "--manifest") {
116
+ manifest = true;
117
+ }
118
+ else if (arg === "--llm-directives") {
119
+ llmDirectives = true;
120
+ }
95
121
  else if (arg === "--mcp") {
96
122
  command = "mcp";
97
123
  }
@@ -101,6 +127,14 @@ export function parseCliArgs(argv) {
101
127
  else if ((arg === "-o" || arg === "--output") && i + 1 < argv.length) {
102
128
  output = argv[++i];
103
129
  }
130
+ else if ((arg === "-c" || arg === "--config") && i + 1 < argv.length) {
131
+ configPath = argv[++i];
132
+ }
133
+ else if (arg === "--fail-under" && i + 1 < argv.length) {
134
+ const n = Number(argv[++i]);
135
+ if (Number.isFinite(n))
136
+ failUnder = n;
137
+ }
104
138
  else if (arg === "--intensity" && i + 1 < argv.length) {
105
139
  const val = argv[++i];
106
140
  if (["stealth", "balanced", "maximum", "bankrupt"].includes(val)) {
@@ -130,15 +164,20 @@ export function parseCliArgs(argv) {
130
164
  command,
131
165
  positionals,
132
166
  ...(output !== undefined ? { output } : {}),
167
+ ...(configPath !== undefined ? { configPath } : {}),
133
168
  inPlace,
134
169
  intensity,
135
170
  ...(seed !== undefined ? { seed } : {}),
171
+ manifest,
172
+ llmDirectives,
136
173
  lang,
137
174
  clients,
138
175
  allDetected,
139
176
  dryRun,
140
177
  yes,
141
178
  json,
179
+ sarif,
180
+ ...(failUnder !== undefined ? { failUnder } : {}),
142
181
  honeyMaps,
143
182
  help,
144
183
  version,
@@ -179,7 +218,7 @@ export async function runCli(argv = process.argv.slice(2)) {
179
218
  console.log(JSON.stringify(doc, null, 2));
180
219
  else
181
220
  console.log(formatDoctorReport(doc));
182
- return 0;
221
+ return doc.healthy ? 0 : 1;
183
222
  }
184
223
  case "update": {
185
224
  const updateInfo = {
@@ -205,6 +244,19 @@ export async function runCli(argv = process.argv.slice(2)) {
205
244
  console.log(`Removed BLA configuration from ${res.removedClients.length} client(s).`);
206
245
  return 0;
207
246
  }
247
+ case "init": {
248
+ const dir = parsed.positionals[0] ?? process.cwd();
249
+ const res = initBlaConfig(dir, parsed.inPlace);
250
+ if (parsed.json) {
251
+ console.log(JSON.stringify(res, null, 2));
252
+ }
253
+ else {
254
+ console.log(res.created
255
+ ? `Created ${res.configPath} (default input: "${res.config.input}", intensity: "${res.config.intensity}").`
256
+ : `Config already exists at ${res.configPath}. Pass --in-place to overwrite.`);
257
+ }
258
+ return 0;
259
+ }
208
260
  case "inspect-release": {
209
261
  const target = parsed.positionals[0];
210
262
  if (!target) {
@@ -215,55 +267,105 @@ export async function runCli(argv = process.argv.slice(2)) {
215
267
  console.log(JSON.stringify(report, null, 2));
216
268
  return report.status === "complete" ? 0 : 2;
217
269
  }
270
+ case "harden": {
271
+ const loaded = loadBlaConfig(process.cwd(), parsed.configPath);
272
+ const directory = parsed.positionals[0] ?? loaded.config.input ?? process.cwd();
273
+ const explicitIntensity = argv.includes("--intensity")
274
+ ? parsed.intensity
275
+ : (loaded.config.intensity ?? "bankrupt");
276
+ const resolved = resolveProjectSeed(typeof directory === "string" ? directory : process.cwd(), parsed.seed, parsed.configPath);
277
+ const report = hardenProject({
278
+ directory,
279
+ intensity: explicitIntensity,
280
+ seed: resolved.seed,
281
+ emitManifest: parsed.manifest || loaded.config.emitManifest === true,
282
+ llmDirectives: parsed.llmDirectives || loaded.config.llmDirectives === true,
283
+ ...(parsed.output !== undefined ? { outputDirectory: parsed.output } : {}),
284
+ });
285
+ if (parsed.json) {
286
+ console.log(JSON.stringify(report, null, 2));
287
+ }
288
+ else {
289
+ console.log(formatHardenProjectReport(report));
290
+ }
291
+ return report.overallSuccess || report.discoveredCount === 0 ? (report.discoveredCount === 0 ? 2 : 0) : 2;
292
+ }
218
293
  case "defend": {
219
- const target = parsed.positionals[0];
294
+ const loaded = loadBlaConfig(process.cwd(), parsed.configPath);
295
+ const target = parsed.positionals[0] ?? loaded.config.input;
220
296
  if (!target) {
221
297
  console.error("Error: Missing <target> path for `bla defend <target>`.");
222
298
  return 1;
223
299
  }
224
300
  const explicitIntensity = argv.includes("--intensity")
225
301
  ? parsed.intensity
226
- : "bankrupt";
302
+ : (loaded.config.intensity ?? "bankrupt");
303
+ const resolved = resolveProjectSeed(process.cwd(), parsed.seed, parsed.configPath);
227
304
  const report = defendTarget({
228
305
  inputPath: target,
229
- ...(parsed.output !== undefined ? { outputPath: parsed.output } : {}),
306
+ ...((parsed.output ?? loaded.config.output) !== undefined
307
+ ? { outputPath: (parsed.output ?? loaded.config.output) }
308
+ : {}),
230
309
  inPlace: parsed.inPlace,
231
310
  intensity: explicitIntensity,
232
- ...(parsed.seed !== undefined ? { seed: parsed.seed } : {}),
233
- emitManifest: argv.includes("--manifest"),
311
+ seed: resolved.seed,
312
+ emitManifest: parsed.manifest || loaded.config.emitManifest === true,
313
+ llmDirectives: parsed.llmDirectives || loaded.config.llmDirectives === true,
234
314
  });
235
- if (parsed.json)
315
+ if (parsed.sarif) {
316
+ console.log(JSON.stringify(buildSarifReport(report.beforeAudit, report.releaseExposure), null, 2));
317
+ }
318
+ else if (parsed.json) {
236
319
  console.log(JSON.stringify(report, null, 2));
237
- else
320
+ }
321
+ else {
238
322
  console.log(formatOneClickDefenseReport(report));
323
+ }
324
+ const threshold = parsed.failUnder ?? loaded.config.minDefenseScore;
325
+ if (threshold !== undefined && report.verification.defenseScore < threshold) {
326
+ return 2;
327
+ }
239
328
  return report.overallSuccess ? 0 : 2;
240
329
  }
241
330
  case "audit": {
242
- const target = parsed.positionals[0];
331
+ const loaded = loadBlaConfig(process.cwd(), parsed.configPath);
332
+ const target = parsed.positionals[0] ?? loaded.config.input;
243
333
  if (!target) {
244
334
  console.error("Error: Missing <target> path for `bla audit <target>`.");
245
335
  return 1;
246
336
  }
247
337
  const report = auditTarget(target);
248
- if (parsed.json)
338
+ if (parsed.sarif) {
339
+ console.log(JSON.stringify(buildSarifReport(report), null, 2));
340
+ }
341
+ else if (parsed.json) {
249
342
  console.log(JSON.stringify(report, null, 2));
250
- else
343
+ }
344
+ else {
251
345
  console.log(formatAuditReport(report));
346
+ }
252
347
  return 0;
253
348
  }
254
349
  case "protect": {
255
- const target = parsed.positionals[0];
350
+ const loaded = loadBlaConfig(process.cwd(), parsed.configPath);
351
+ const target = parsed.positionals[0] ?? loaded.config.input;
256
352
  if (!target) {
257
353
  console.error("Error: Missing <target> path for `bla protect <target>`.");
258
354
  return 1;
259
355
  }
356
+ const resolved = resolveProjectSeed(process.cwd(), parsed.seed, parsed.configPath);
260
357
  const res = protectTarget({
261
358
  inputPath: target,
262
- ...(parsed.output !== undefined ? { outputPath: parsed.output } : {}),
359
+ ...((parsed.output ?? loaded.config.output) !== undefined
360
+ ? { outputPath: (parsed.output ?? loaded.config.output) }
361
+ : {}),
263
362
  inPlace: parsed.inPlace,
264
- intensity: parsed.intensity,
265
- ...(parsed.seed !== undefined ? { seed: parsed.seed } : {}),
363
+ intensity: argv.includes("--intensity")
364
+ ? parsed.intensity
365
+ : (loaded.config.intensity ?? parsed.intensity),
366
+ seed: resolved.seed,
266
367
  honeySourceMaps: parsed.honeyMaps,
368
+ llmDirectives: parsed.llmDirectives || loaded.config.llmDirectives === true,
267
369
  });
268
370
  if (parsed.json)
269
371
  console.log(JSON.stringify(res, null, 2));
@@ -282,6 +384,9 @@ export async function runCli(argv = process.argv.slice(2)) {
282
384
  console.log(JSON.stringify(report, null, 2));
283
385
  else
284
386
  console.log(formatVerificationReport(report));
387
+ if (parsed.failUnder !== undefined && report.defenseScore < parsed.failUnder) {
388
+ return 2;
389
+ }
285
390
  return report.overallPassed ? 0 : 2;
286
391
  }
287
392
  case "benchmark": {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { ProtectionIntensity } from "./types.js";
2
+ export interface BlaProjectConfig {
3
+ readonly $schema?: string;
4
+ readonly input?: string;
5
+ readonly output?: string;
6
+ readonly intensity?: ProtectionIntensity;
7
+ /** Per-project PRNG seed. Prefer a random value persisted in `.blarc` — never a shared fixed fingerprint. */
8
+ readonly seed?: string;
9
+ /** When true, write `.bla-manifest.json` next to protected artifacts. Default false (opt-in via `--manifest`). */
10
+ readonly emitManifest?: boolean;
11
+ /** Opt-in risky LLM directive layers (COPPA/medical bait, dual-use imitation, AI chat markers). Default false. */
12
+ readonly llmDirectives?: boolean;
13
+ readonly honeySourceMaps?: boolean;
14
+ readonly minDefenseScore?: number;
15
+ }
16
+ /**
17
+ * Starter defaults written by `initBlaConfig`.
18
+ * `seed` is filled at init/resolve time with a per-project random value — never a global constant.
19
+ * `emitManifest` defaults to false so customer artifacts are not accompanied by attestation JSON unless requested.
20
+ */
21
+ export declare const DEFAULT_BLA_CONFIG: BlaProjectConfig;
22
+ /** Legacy fixed seeds that fingerprint every project the same way — never reuse as a default. */
23
+ export declare const LEGACY_FIXED_SEEDS: ReadonlySet<string>;
24
+ export declare function generateProjectSeed(): string;
25
+ /**
26
+ * Loads `bla.config.json`, `.blarc.json`, `.blarc`, or the `"bla"` field from `package.json`
27
+ * in `cwd` (or an explicit config file path).
28
+ */
29
+ export declare function loadBlaConfig(cwd?: string, explicitConfigPath?: string): {
30
+ config: BlaProjectConfig;
31
+ sourcePath: string | null;
32
+ };
33
+ /**
34
+ * Resolves the PRNG seed for a project:
35
+ * 1. Explicit CLI/`--seed` / caller override
36
+ * 2. Non-legacy seed already stored in project config
37
+ * 3. Otherwise mint a random per-project seed and persist it to `.blarc` (or update the existing config file)
38
+ *
39
+ * This kills the shared `bla-shield-seed-v1` / `bla-project-seed-v1` fingerprint across unrelated projects.
40
+ */
41
+ export declare function resolveProjectSeed(cwd?: string, explicitSeed?: string | number, explicitConfigPath?: string): {
42
+ seed: string;
43
+ sourcePath: string | null;
44
+ persisted: boolean;
45
+ };
46
+ /**
47
+ * Writes a starter `bla.config.json` in `targetDir` with a fresh per-project random seed.
48
+ */
49
+ export declare function initBlaConfig(targetDir?: string, overwrite?: boolean): {
50
+ configPath: string;
51
+ created: boolean;
52
+ config: BlaProjectConfig;
53
+ };
54
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,6GAA6G;IAC7G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,kHAAkH;IAClH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAQ/B,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAIjD,CAAC;AAIH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAsB,EAC3B,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAmDzD;AAWD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAsB,EAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAC9B,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CA2BjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,GAAE,MAAsB,EACjC,SAAS,UAAQ,GAChB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CA+BpE"}