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