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.
- 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-plan.d.ts +68 -0
- package/dist/core/release-plan.d.ts.map +1 -0
- package/dist/core/release-plan.js +235 -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 +91 -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 +251 -8
- 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 +292 -0
- package/dist/engine/harden.js.map +1 -0
- package/dist/engine/protector.d.ts.map +1 -1
- package/dist/engine/protector.js +162 -21
- 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 +1 -1
- 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 +17 -5
- package/dist/shields/exhaustion/obligation-flooder.d.ts.map +1 -1
- package/dist/shields/exhaustion/obligation-flooder.js +20 -8
- 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 +65 -11
- package/dist/shields/formats/native.d.ts.map +1 -1
- package/dist/shields/formats/native.js +413 -108
- 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 +25 -5
- package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
- package/dist/shields/javascript/ast-shield.js +428 -58
- 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
|
@@ -21,10 +21,15 @@ const DECOY_DOMAIN_PREFIXES = [
|
|
|
21
21
|
* Generates an interconnected JavaScript Algorithmic Tarpit & REA Semantic Budget Breaker block.
|
|
22
22
|
*
|
|
23
23
|
* Specifically engineered against `morluto/rea`:
|
|
24
|
-
* 1. Triggers `alias-selections` (
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* 1. Triggers `alias-selections` (REA default 512) via a 28-step inert optional-chaining selector pyramid
|
|
25
|
+
* (~2^28 path states — orders of magnitude past any plausible bumped limit short of removing the guardrail)
|
|
26
|
+
* 2. Triggers `primitive-candidates` (REA default 256) via a 16-term conditional string product ($2^{16} = 65536$)
|
|
27
|
+
* 3. Triggers `primitive-bytes` (REA default 1 MiB) via a 20-step inert string doubling chain ($2^{20}$ chars >> 1 MiB)
|
|
28
|
+
* 4. Triggers `getter-expansion` (REA default 512) via a recursive getter class with 16 self-ref fields
|
|
29
|
+
*
|
|
30
|
+
* DEFENSE PROPERTY: payloads scale ORDERS OF MAGNITUDE past published defaults across orthogonal
|
|
31
|
+
* dimensions. Bumping a single REA const with `sed` does not restore analysis; the attacker must
|
|
32
|
+
* remove the safety limit entirely (defeating their own guardrails).
|
|
28
33
|
* 5. Triggers `returned-reference-widening` via a cyclic cursor reference walker
|
|
29
34
|
* 6. Builds a dense call-graph labyrinth of realistic decoy functions with mutual cross-references (Fake XRefs)
|
|
30
35
|
*/
|
|
@@ -39,43 +44,43 @@ export function generateJsTarpitAndBudgetBreaker(prng, intensity, chaffPayloads)
|
|
|
39
44
|
const decoyNames = [];
|
|
40
45
|
for (let i = 0; i < decoyCount; i++) {
|
|
41
46
|
const base = DECOY_DOMAIN_PREFIXES[i % DECOY_DOMAIN_PREFIXES.length];
|
|
42
|
-
decoyNames.push(
|
|
47
|
+
decoyNames.push(prng.identifier({ style: "privateCamel", hint: base, entropy: 4 }));
|
|
43
48
|
}
|
|
44
49
|
const lines = [];
|
|
45
|
-
const stateVar =
|
|
46
|
-
lines.push(
|
|
50
|
+
const stateVar = prng.identifier({ style: "privateCamel", hint: "runtimeState", entropy: 4 });
|
|
51
|
+
lines.push(`/* runtime attestation boundary */`);
|
|
47
52
|
lines.push(`const ${stateVar} = (typeof process !== "undefined" && process.pid ? (process.pid & 0xff) : 42) | 1;`);
|
|
48
53
|
// 1. REA Semantic Budget Breaker #1: `alias-selections` + `returned-reference-widening`
|
|
49
54
|
// Directly modeled on REA's `javascriptAliasSelectionBudget.ts` and `javascriptReturnedReferenceCoverage.test.ts`!
|
|
50
|
-
const aliasFn =
|
|
55
|
+
const aliasFn = prng.identifier({ style: "privateCamel", hint: "resolveEnclaveBinding", entropy: 4 });
|
|
51
56
|
lines.push(`function ${aliasFn}(_flag, _patch) {`);
|
|
52
57
|
lines.push(` const a0 = {};`);
|
|
53
|
-
for (let i = 1; i <=
|
|
58
|
+
for (let i = 1; i <= 28; i++) {
|
|
54
59
|
lines.push(` const a${i} = _flag ? a${i - 1}?.x : a${i - 1}?.y;`);
|
|
55
60
|
}
|
|
56
61
|
lines.push(` if (${generateJsOpaqueFalseExpression(prng, stateVar)}) {`);
|
|
57
|
-
lines.push(`
|
|
62
|
+
lines.push(` a28?.require("./enclave-hardware-bridge.cjs");`);
|
|
58
63
|
lines.push(` }`);
|
|
59
64
|
lines.push(` function _exposeProto() { return Map.prototype; }`);
|
|
60
65
|
lines.push(` let _cursor = { target: _exposeProto, next: null };`);
|
|
61
66
|
lines.push(` while (_flag && ${generateJsOpaqueFalseExpression(prng, stateVar)}) { _cursor = _cursor.next; }`);
|
|
62
67
|
lines.push(` if (_patch && ${generateJsOpaqueFalseExpression(prng, stateVar)}) { _patch(_cursor.target()); }`);
|
|
63
|
-
lines.push(` return
|
|
68
|
+
lines.push(` return a28 ?? 0;`);
|
|
64
69
|
lines.push(`}`);
|
|
65
70
|
// 2. REA Semantic Budget Breaker #2: `primitive-candidates` (>256) & `primitive-bytes` (>1MiB) & `getter-expansion` (>512)
|
|
66
|
-
const budgetFn =
|
|
67
|
-
const cTerms = Array.from({ length:
|
|
71
|
+
const budgetFn = prng.identifier({ style: "privateCamel", hint: "verifySemanticEnvelope", entropy: 4 });
|
|
72
|
+
const cTerms = Array.from({ length: 16 }, (_, idx) => `(_c ? "${prng.hex(2)}" : "${idx.toString(16)}")`).join(" + ");
|
|
68
73
|
lines.push(`function ${budgetFn}(_c, _k) {`);
|
|
69
74
|
lines.push(` const _cand = ${cTerms};`);
|
|
70
75
|
lines.push(` if (${generateJsOpaqueFalseExpression(prng, stateVar)}) {`);
|
|
71
76
|
lines.push(` const s0 = "enclave_frame_";`);
|
|
72
|
-
for (let i = 1; i <=
|
|
77
|
+
for (let i = 1; i <= 20; i++) {
|
|
73
78
|
lines.push(` const s${i} = s${i - 1} + s${i - 1};`);
|
|
74
79
|
}
|
|
75
|
-
lines.push(` const _shared = { x:
|
|
80
|
+
lines.push(` const _shared = { x: s20 };`);
|
|
76
81
|
lines.push(` class _EnclaveRequest {`);
|
|
77
82
|
lines.push(` slot = _shared;`);
|
|
78
|
-
for (let g = 0; g <
|
|
83
|
+
for (let g = 0; g < 16; g++) {
|
|
79
84
|
lines.push(` get field${g}() { return this[_k].field${g}; }`);
|
|
80
85
|
}
|
|
81
86
|
lines.push(` get grow() { return this.grow.more; }`);
|
|
@@ -86,7 +91,7 @@ export function generateJsTarpitAndBudgetBreaker(prng, intensity, chaffPayloads)
|
|
|
86
91
|
lines.push(` return _cand.length ^ ${stateVar};`);
|
|
87
92
|
lines.push(`}`);
|
|
88
93
|
// 3. Embed Architectural Chaff & Honey-Context Constants
|
|
89
|
-
const chaffTableVar =
|
|
94
|
+
const chaffTableVar = prng.identifier({ style: "privateCamel", hint: "enclaveManifests", entropy: 4 });
|
|
90
95
|
lines.push(`const ${chaffTableVar} = Object.freeze([`);
|
|
91
96
|
for (const payload of chaffPayloads) {
|
|
92
97
|
lines.push(` ${JSON.stringify(payload.rawText)},`);
|
|
@@ -118,14 +123,15 @@ export function generateJsTarpitAndBudgetBreaker(prng, intensity, chaffPayloads)
|
|
|
118
123
|
lines.push(`}`);
|
|
119
124
|
}
|
|
120
125
|
// Master dispatcher anchored to global/module scope so tree-shakers & static analyzers keep all decoy nodes alive
|
|
121
|
-
const anchorName =
|
|
122
|
-
lines.push(`
|
|
126
|
+
const anchorName = prng.identifier({ style: "privateCamel", hint: "shieldAnchor", entropy: 4 });
|
|
127
|
+
lines.push(`function ${anchorName}(_seed = 0) {`);
|
|
123
128
|
lines.push(` if (${generateJsOpaqueFalseExpression(prng, stateVar)}) {`);
|
|
124
129
|
const calls = decoyNames.slice(0, Math.min(8, decoyNames.length)).map((n, idx) => `${n}(_seed + ${idx}, 3)`).join(" ^ ");
|
|
125
130
|
lines.push(` return (${calls}) ^ ${aliasFn}(false, null) ^ ${budgetFn}(false, "slot");`);
|
|
126
131
|
lines.push(` }`);
|
|
127
132
|
lines.push(` return ${chaffTableVar}.length ^ _seed;`);
|
|
128
133
|
lines.push(`}`);
|
|
134
|
+
lines.push(`void ${anchorName};`);
|
|
129
135
|
return {
|
|
130
136
|
code: lines.join("\n"),
|
|
131
137
|
decoyFunctionNames: [aliasFn, budgetFn, anchorName, ...decoyNames],
|
|
@@ -147,13 +153,14 @@ export function generatePythonTarpit(prng, intensity, chaffPayloads) {
|
|
|
147
153
|
const decoyNames = [];
|
|
148
154
|
for (let i = 0; i < decoyCount; i++) {
|
|
149
155
|
const base = DECOY_DOMAIN_PREFIXES[i % DECOY_DOMAIN_PREFIXES.length];
|
|
150
|
-
decoyNames.push(
|
|
156
|
+
decoyNames.push(prng.identifier({ style: "snake", hint: base, entropy: 4 }));
|
|
151
157
|
}
|
|
152
158
|
const lines = [];
|
|
153
|
-
const stateVar =
|
|
154
|
-
lines.push(`#
|
|
159
|
+
const stateVar = prng.identifier({ style: "snake", hint: "enclaveState", entropy: 4 }).toUpperCase();
|
|
160
|
+
lines.push(`# BLA-SHIELD runtime attestation boundary`);
|
|
155
161
|
lines.push(`${stateVar} = 0x${prng.hex(6)} | 1`);
|
|
156
|
-
|
|
162
|
+
const manifestsVar = prng.identifier({ style: "snake", hint: "enclaveManifests", entropy: 4 }).toUpperCase();
|
|
163
|
+
lines.push(`${manifestsVar} = (`);
|
|
157
164
|
for (const payload of chaffPayloads) {
|
|
158
165
|
lines.push(` ${JSON.stringify(payload.rawText)},`);
|
|
159
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarpit-generator.js","sourceRoot":"","sources":["../../../src/shields/tarpit/tarpit-generator.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAShC,MAAM,qBAAqB,GAAsB;IAC/C,0BAA0B;IAC1B,2BAA2B;IAC3B,uBAAuB;IACvB,4BAA4B;IAC5B,+BAA+B;IAC/B,6BAA6B;IAC7B,uBAAuB;IACvB,0BAA0B;IAC1B,4BAA4B;IAC5B,kCAAkC;IAClC,6BAA6B;IAC7B,8BAA8B;IAC9B,iCAAiC;IACjC,4BAA4B;IAC5B,2BAA2B;IAC3B,8BAA8B;CAC/B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"tarpit-generator.js","sourceRoot":"","sources":["../../../src/shields/tarpit/tarpit-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bla-agents",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "BLA (Blind LLM Agents
|
|
3
|
+
"version": "1.5.3",
|
|
4
|
+
"description": "BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, WebAssembly, SQLite, AI Models, and Android DEX/IL2CPP against AI reverse-engineering agents like REA.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"reverse-engineering-defense",
|
|
7
7
|
"anti-rea",
|
|
@@ -55,23 +55,30 @@
|
|
|
55
55
|
"DISCLAIMER.md"
|
|
56
56
|
],
|
|
57
57
|
"engines": {
|
|
58
|
-
"node": "^22.
|
|
58
|
+
"node": "^22.23.4 || >=24.0.0"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
|
-
"build": "tsc -p tsconfig.build.json && chmod +x dist/cli.js",
|
|
61
|
+
"build": "node scripts/sync-version.mjs && tsc -p tsconfig.build.json && chmod +x dist/cli.js",
|
|
62
62
|
"dev": "tsx src/cli.ts",
|
|
63
63
|
"test": "vitest run",
|
|
64
64
|
"test:watch": "vitest",
|
|
65
65
|
"typecheck": "tsc --noEmit",
|
|
66
66
|
"benchmark": "node dist/cli.js benchmark",
|
|
67
|
-
"
|
|
67
|
+
"version": "node scripts/sync-version.mjs && git add src/identity.ts",
|
|
68
|
+
"sync:site": "node scripts/sync-site.mjs",
|
|
69
|
+
"release:patch": "npm version patch -m 'chore(release): bla-agents v%s' && git push --follow-tags",
|
|
70
|
+
"release:minor": "npm version minor -m 'chore(release): bla-agents v%s' && git push --follow-tags",
|
|
71
|
+
"prepublishOnly": "npm run build && npm test",
|
|
72
|
+
"verify:rea": "node scripts/verify-rea-constants.mjs",
|
|
73
|
+
"redteam:rea": "node scripts/redteam/run.mjs",
|
|
74
|
+
"verify:rea:drift": "node scripts/verify-rea-constants.mjs"
|
|
68
75
|
},
|
|
69
76
|
"dependencies": {
|
|
70
77
|
"@babel/generator": "^7.26.0",
|
|
71
78
|
"@babel/parser": "^7.26.0",
|
|
72
79
|
"@babel/traverse": "^7.26.0",
|
|
73
80
|
"@babel/types": "^7.26.0",
|
|
74
|
-
"zod": "^
|
|
81
|
+
"zod": "^4.6.7"
|
|
75
82
|
},
|
|
76
83
|
"devDependencies": {
|
|
77
84
|
"@types/babel__generator": "^7.6.8",
|