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.
- package/.agents/skills/blind-llm-agents/SKILL.md +20 -14
- package/DISCLAIMER.md +15 -7
- package/README.md +153 -198
- package/dist/bundler/index.d.ts +19 -2
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/index.js +47 -4
- package/dist/bundler/index.js.map +1 -1
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +123 -18
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +54 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +160 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/coverage-contract.d.ts +97 -0
- package/dist/core/coverage-contract.d.ts.map +1 -0
- package/dist/core/coverage-contract.js +164 -0
- package/dist/core/coverage-contract.js.map +1 -0
- package/dist/core/debug-posture.d.ts +40 -0
- package/dist/core/debug-posture.d.ts.map +1 -0
- package/dist/core/debug-posture.js +197 -0
- package/dist/core/debug-posture.js.map +1 -0
- package/dist/core/detector.d.ts.map +1 -1
- package/dist/core/detector.js +58 -6
- package/dist/core/detector.js.map +1 -1
- package/dist/core/identifiers.d.ts +32 -0
- package/dist/core/identifiers.d.ts.map +1 -0
- package/dist/core/identifiers.js +263 -0
- package/dist/core/identifiers.js.map +1 -0
- package/dist/core/llm-directives.d.ts +12 -0
- package/dist/core/llm-directives.d.ts.map +1 -0
- package/dist/core/llm-directives.js +23 -0
- package/dist/core/llm-directives.js.map +1 -0
- package/dist/core/prng.d.ts +10 -1
- package/dist/core/prng.d.ts.map +1 -1
- package/dist/core/prng.js +27 -2
- package/dist/core/prng.js.map +1 -1
- package/dist/core/release-exposure.d.ts.map +1 -1
- package/dist/core/release-exposure.js +13 -2
- package/dist/core/release-exposure.js.map +1 -1
- package/dist/core/release-plan.d.ts +68 -0
- package/dist/core/release-plan.d.ts.map +1 -0
- package/dist/core/release-plan.js +244 -0
- package/dist/core/release-plan.js.map +1 -0
- package/dist/core/sarif.d.ts +53 -0
- package/dist/core/sarif.d.ts.map +1 -0
- package/dist/core/sarif.js +95 -0
- package/dist/core/sarif.js.map +1 -0
- package/dist/core/sqlite-runtime.d.ts +13 -0
- package/dist/core/sqlite-runtime.d.ts.map +1 -1
- package/dist/core/sqlite-runtime.js +38 -8
- package/dist/core/sqlite-runtime.js.map +1 -1
- package/dist/core/types.d.ts +7 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/engine/auditor.d.ts.map +1 -1
- package/dist/engine/auditor.js +380 -19
- package/dist/engine/auditor.js.map +1 -1
- package/dist/engine/benchmark.d.ts +1 -1
- package/dist/engine/benchmark.d.ts.map +1 -1
- package/dist/engine/benchmark.js +121 -41
- package/dist/engine/benchmark.js.map +1 -1
- package/dist/engine/defender.d.ts +1 -0
- package/dist/engine/defender.d.ts.map +1 -1
- package/dist/engine/defender.js +7 -1
- package/dist/engine/defender.js.map +1 -1
- package/dist/engine/harden.d.ts +61 -0
- package/dist/engine/harden.d.ts.map +1 -0
- package/dist/engine/harden.js +294 -0
- package/dist/engine/harden.js.map +1 -0
- package/dist/engine/protector.d.ts.map +1 -1
- package/dist/engine/protector.js +242 -26
- package/dist/engine/protector.js.map +1 -1
- package/dist/identity.d.ts +112 -2
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +112 -2
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +26 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +59 -152
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +466 -50
- package/dist/mcp/server.js.map +1 -1
- package/dist/setup/clients.d.ts +49 -1
- package/dist/setup/clients.d.ts.map +1 -1
- package/dist/setup/clients.js +1193 -20
- package/dist/setup/clients.js.map +1 -1
- package/dist/setup/doctor.d.ts +58 -14
- package/dist/setup/doctor.d.ts.map +1 -1
- package/dist/setup/doctor.js +316 -22
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/setup.d.ts +77 -7
- package/dist/setup/setup.d.ts.map +1 -1
- package/dist/setup/setup.js +591 -62
- package/dist/setup/setup.js.map +1 -1
- package/dist/shields/chaff/chaff-generator.d.ts.map +1 -1
- package/dist/shields/chaff/chaff-generator.js +12 -3
- package/dist/shields/chaff/chaff-generator.js.map +1 -1
- package/dist/shields/deception/architecture-mirage.js +1 -1
- package/dist/shields/deception/architecture-mirage.js.map +1 -1
- package/dist/shields/deception/canary-honeypot.d.ts +33 -0
- package/dist/shields/deception/canary-honeypot.d.ts.map +1 -0
- package/dist/shields/deception/canary-honeypot.js +95 -0
- package/dist/shields/deception/canary-honeypot.js.map +1 -0
- package/dist/shields/deception/cognitive-armor-trigger.d.ts +43 -0
- package/dist/shields/deception/cognitive-armor-trigger.d.ts.map +1 -0
- package/dist/shields/deception/cognitive-armor-trigger.js +204 -0
- package/dist/shields/deception/cognitive-armor-trigger.js.map +1 -0
- package/dist/shields/deception/crash-trace-decoy.js +1 -1
- package/dist/shields/deception/crash-trace-decoy.js.map +1 -1
- package/dist/shields/deception/decompiler-illusion.js +1 -1
- package/dist/shields/deception/decompiler-illusion.js.map +1 -1
- package/dist/shields/deception/diff-noise-injector.js +1 -1
- package/dist/shields/deception/diff-noise-injector.js.map +1 -1
- package/dist/shields/deception/evidence-contract-poison.js +5 -5
- package/dist/shields/deception/evidence-contract-poison.js.map +1 -1
- package/dist/shields/deception/format-payloads.d.ts +21 -0
- package/dist/shields/deception/format-payloads.d.ts.map +1 -0
- package/dist/shields/deception/format-payloads.js +24 -0
- package/dist/shields/deception/format-payloads.js.map +1 -0
- package/dist/shields/deception/index.d.ts +10 -2
- package/dist/shields/deception/index.d.ts.map +1 -1
- package/dist/shields/deception/index.js +20 -3
- package/dist/shields/deception/index.js.map +1 -1
- package/dist/shields/deception/prompt-completion-poison.d.ts +3 -2
- package/dist/shields/deception/prompt-completion-poison.d.ts.map +1 -1
- package/dist/shields/deception/prompt-completion-poison.js +6 -3
- package/dist/shields/deception/prompt-completion-poison.js.map +1 -1
- package/dist/shields/deception/shadow-business-logic.js +4 -4
- package/dist/shields/deception/shadow-business-logic.js.map +1 -1
- package/dist/shields/deception/system-diagnostic-decoy.d.ts +36 -0
- package/dist/shields/deception/system-diagnostic-decoy.d.ts.map +1 -0
- package/dist/shields/deception/system-diagnostic-decoy.js +101 -0
- package/dist/shields/deception/system-diagnostic-decoy.js.map +1 -0
- package/dist/shields/exhaustion/asar-header-amplifier.d.ts +12 -3
- package/dist/shields/exhaustion/asar-header-amplifier.d.ts.map +1 -1
- package/dist/shields/exhaustion/asar-header-amplifier.js +30 -8
- package/dist/shields/exhaustion/asar-header-amplifier.js.map +1 -1
- package/dist/shields/exhaustion/bpe-token-amplifier.js +2 -2
- package/dist/shields/exhaustion/bpe-token-amplifier.js.map +1 -1
- package/dist/shields/exhaustion/callgraph-labyrinth.js +2 -2
- package/dist/shields/exhaustion/callgraph-labyrinth.js.map +1 -1
- package/dist/shields/exhaustion/cdp-shape-budget-breaker.js +1 -1
- package/dist/shields/exhaustion/cdp-shape-budget-breaker.js.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.d.ts +10 -5
- package/dist/shields/exhaustion/frida-capture-saturation.d.ts.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.js +21 -8
- package/dist/shields/exhaustion/frida-capture-saturation.js.map +1 -1
- package/dist/shields/exhaustion/index.d.ts +2 -2
- package/dist/shields/exhaustion/index.d.ts.map +1 -1
- package/dist/shields/exhaustion/index.js +2 -2
- package/dist/shields/exhaustion/index.js.map +1 -1
- package/dist/shields/exhaustion/obligation-flooder.d.ts +23 -6
- package/dist/shields/exhaustion/obligation-flooder.d.ts.map +1 -1
- package/dist/shields/exhaustion/obligation-flooder.js +29 -12
- package/dist/shields/exhaustion/obligation-flooder.js.map +1 -1
- package/dist/shields/exhaustion/rea-budget-matrix.d.ts +8 -2
- package/dist/shields/exhaustion/rea-budget-matrix.d.ts.map +1 -1
- package/dist/shields/exhaustion/rea-budget-matrix.js +139 -16
- package/dist/shields/exhaustion/rea-budget-matrix.js.map +1 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.d.ts.map +1 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.js +2 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.js.map +1 -1
- package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts +7 -4
- package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts.map +1 -1
- package/dist/shields/exhaustion/wasm-interface-exhaustion.js +16 -7
- package/dist/shields/exhaustion/wasm-interface-exhaustion.js.map +1 -1
- package/dist/shields/formats/android-dex-xref.d.ts +19 -0
- package/dist/shields/formats/android-dex-xref.d.ts.map +1 -0
- package/dist/shields/formats/android-dex-xref.js +427 -0
- package/dist/shields/formats/android-dex-xref.js.map +1 -0
- package/dist/shields/formats/android-manifest.d.ts +44 -0
- package/dist/shields/formats/android-manifest.d.ts.map +1 -0
- package/dist/shields/formats/android-manifest.js +240 -0
- package/dist/shields/formats/android-manifest.js.map +1 -0
- package/dist/shields/formats/android-r8.d.ts +44 -0
- package/dist/shields/formats/android-r8.d.ts.map +1 -0
- package/dist/shields/formats/android-r8.js +246 -0
- package/dist/shields/formats/android-r8.js.map +1 -0
- package/dist/shields/formats/apple-plist.d.ts +15 -0
- package/dist/shields/formats/apple-plist.d.ts.map +1 -1
- package/dist/shields/formats/apple-plist.js +59 -1
- package/dist/shields/formats/apple-plist.js.map +1 -1
- package/dist/shields/formats/archive.d.ts +27 -6
- package/dist/shields/formats/archive.d.ts.map +1 -1
- package/dist/shields/formats/archive.js +247 -45
- package/dist/shields/formats/archive.js.map +1 -1
- package/dist/shields/formats/asar.d.ts +50 -10
- package/dist/shields/formats/asar.d.ts.map +1 -1
- package/dist/shields/formats/asar.js +265 -39
- package/dist/shields/formats/asar.js.map +1 -1
- package/dist/shields/formats/bun-standalone.d.ts +78 -0
- package/dist/shields/formats/bun-standalone.d.ts.map +1 -0
- package/dist/shields/formats/bun-standalone.js +272 -0
- package/dist/shields/formats/bun-standalone.js.map +1 -0
- package/dist/shields/formats/dotnet-managed.d.ts +9 -0
- package/dist/shields/formats/dotnet-managed.d.ts.map +1 -1
- package/dist/shields/formats/dotnet-managed.js +26 -1
- package/dist/shields/formats/dotnet-managed.js.map +1 -1
- package/dist/shields/formats/electron-fuses.d.ts +63 -8
- package/dist/shields/formats/electron-fuses.d.ts.map +1 -1
- package/dist/shields/formats/electron-fuses.js +297 -65
- package/dist/shields/formats/electron-fuses.js.map +1 -1
- package/dist/shields/formats/erlang-beam.d.ts +34 -0
- package/dist/shields/formats/erlang-beam.d.ts.map +1 -0
- package/dist/shields/formats/erlang-beam.js +319 -0
- package/dist/shields/formats/erlang-beam.js.map +1 -0
- package/dist/shields/formats/evm-bytecode.d.ts +28 -0
- package/dist/shields/formats/evm-bytecode.d.ts.map +1 -0
- package/dist/shields/formats/evm-bytecode.js +124 -0
- package/dist/shields/formats/evm-bytecode.js.map +1 -0
- package/dist/shields/formats/go-flutter-exhaustion.d.ts +55 -0
- package/dist/shields/formats/go-flutter-exhaustion.d.ts.map +1 -0
- package/dist/shields/formats/go-flutter-exhaustion.js +346 -0
- package/dist/shields/formats/go-flutter-exhaustion.js.map +1 -0
- package/dist/shields/formats/gpu-ptx.d.ts +40 -0
- package/dist/shields/formats/gpu-ptx.d.ts.map +1 -0
- package/dist/shields/formats/gpu-ptx.js +62 -0
- package/dist/shields/formats/gpu-ptx.js.map +1 -0
- package/dist/shields/formats/headers.d.ts.map +1 -1
- package/dist/shields/formats/headers.js +54 -14
- package/dist/shields/formats/headers.js.map +1 -1
- package/dist/shields/formats/jvm-bytecode.d.ts +20 -0
- package/dist/shields/formats/jvm-bytecode.d.ts.map +1 -0
- package/dist/shields/formats/jvm-bytecode.js +134 -0
- package/dist/shields/formats/jvm-bytecode.js.map +1 -0
- package/dist/shields/formats/mobile-game.d.ts +4 -0
- package/dist/shields/formats/mobile-game.d.ts.map +1 -1
- package/dist/shields/formats/mobile-game.js +16 -0
- package/dist/shields/formats/mobile-game.js.map +1 -1
- package/dist/shields/formats/model.d.ts +22 -8
- package/dist/shields/formats/model.d.ts.map +1 -1
- package/dist/shields/formats/model.js +231 -59
- package/dist/shields/formats/model.js.map +1 -1
- package/dist/shields/formats/native.d.ts +74 -11
- package/dist/shields/formats/native.d.ts.map +1 -1
- package/dist/shields/formats/native.js +557 -109
- package/dist/shields/formats/native.js.map +1 -1
- package/dist/shields/formats/pcap-capture.d.ts +27 -0
- package/dist/shields/formats/pcap-capture.d.ts.map +1 -0
- package/dist/shields/formats/pcap-capture.js +201 -0
- package/dist/shields/formats/pcap-capture.js.map +1 -0
- package/dist/shields/formats/python.d.ts +22 -1
- package/dist/shields/formats/python.d.ts.map +1 -1
- package/dist/shields/formats/python.js +568 -27
- package/dist/shields/formats/python.js.map +1 -1
- package/dist/shields/formats/sourcemap.d.ts.map +1 -1
- package/dist/shields/formats/sourcemap.js +2 -0
- package/dist/shields/formats/sourcemap.js.map +1 -1
- package/dist/shields/formats/sqlite.d.ts +87 -15
- package/dist/shields/formats/sqlite.d.ts.map +1 -1
- package/dist/shields/formats/sqlite.js +377 -42
- package/dist/shields/formats/sqlite.js.map +1 -1
- package/dist/shields/formats/wasm.d.ts +6 -0
- package/dist/shields/formats/wasm.d.ts.map +1 -1
- package/dist/shields/formats/wasm.js +118 -3
- package/dist/shields/formats/wasm.js.map +1 -1
- package/dist/shields/javascript/ast-shield.d.ts +26 -5
- package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
- package/dist/shields/javascript/ast-shield.js +748 -104
- package/dist/shields/javascript/ast-shield.js.map +1 -1
- package/dist/shields/runtime/memory-diff-shield.d.ts +56 -0
- package/dist/shields/runtime/memory-diff-shield.d.ts.map +1 -0
- package/dist/shields/runtime/memory-diff-shield.js +170 -0
- package/dist/shields/runtime/memory-diff-shield.js.map +1 -0
- package/dist/shields/runtime/runtime-shield.d.ts +12 -16
- package/dist/shields/runtime/runtime-shield.d.ts.map +1 -1
- package/dist/shields/runtime/runtime-shield.js +30 -24
- package/dist/shields/runtime/runtime-shield.js.map +1 -1
- package/dist/shields/tarpit/opaque-predicates.d.ts.map +1 -1
- package/dist/shields/tarpit/opaque-predicates.js +3 -3
- package/dist/shields/tarpit/opaque-predicates.js.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.d.ts +9 -4
- package/dist/shields/tarpit/tarpit-generator.d.ts.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.js +30 -23
- package/dist/shields/tarpit/tarpit-generator.js.map +1 -1
- package/package.json +13 -6
package/dist/bundler/index.d.ts
CHANGED
|
@@ -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
|
|
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:
|
|
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;
|
|
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"}
|
package/dist/bundler/index.js
CHANGED
|
@@ -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
|
|
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
|
|
161
|
+
loader,
|
|
119
162
|
};
|
|
120
163
|
});
|
|
121
164
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundler/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,
|
|
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":";
|
|
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
|
|
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>
|
|
42
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
233
|
-
emitManifest:
|
|
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.
|
|
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
|
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
251
345
|
console.log(formatAuditReport(report));
|
|
346
|
+
}
|
|
252
347
|
return 0;
|
|
253
348
|
}
|
|
254
349
|
case "protect": {
|
|
255
|
-
const
|
|
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
|
|
359
|
+
...((parsed.output ?? loaded.config.output) !== undefined
|
|
360
|
+
? { outputPath: (parsed.output ?? loaded.config.output) }
|
|
361
|
+
: {}),
|
|
263
362
|
inPlace: parsed.inPlace,
|
|
264
|
-
intensity:
|
|
265
|
-
|
|
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"}
|