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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callgraph-labyrinth.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/callgraph-labyrinth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAU1E,MAAM,kBAAkB,GAAG;IACzB,sBAAsB;IACtB,qBAAqB;IACrB,mBAAmB;IACnB,yBAAyB;IACzB,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;CACjB,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,OAAO,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IACzC,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,YAAY,GAAe,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAE,CAAC;YACpF,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"callgraph-labyrinth.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/callgraph-labyrinth.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export function generateCdpShapeBudgetBreaker(prng, intensity = "balanced") {
|
|
|
19
19
|
const consoleDrainBytes = intensity === "stealth" ? 512 * 1024 : 1024 * 1024;
|
|
20
20
|
const tag = prng.hex(3);
|
|
21
21
|
const code = [
|
|
22
|
-
`function
|
|
22
|
+
`function cdpShapeBudgetGuard_${tag}() {`,
|
|
23
23
|
` const _g = typeof globalThis !== "undefined" ? globalThis : {};`,
|
|
24
24
|
` const _cdpActive = Boolean(_g.__playwright || _g.__puppeteer_evaluation_script__ || _g.navigator?.webdriver);`,
|
|
25
25
|
` if (!_cdpActive) return null;`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-shape-budget-breaker.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/cdp-shape-budget-breaker.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,SAAS,KAAK,UAAU;YACxB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,GAAG,CAAC;IACd,MAAM,iBAAiB,GACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG;QACX,
|
|
1
|
+
{"version":3,"file":"cdp-shape-budget-breaker.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/cdp-shape-budget-breaker.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,SAAS,KAAK,UAAU;YACxB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,GAAG,CAAC;IACd,MAAM,iBAAiB,GACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG;QACX,gCAAgC,GAAG,MAAM;QACzC,mEAAmE;QACnE,iHAAiH;QACjH,iCAAiC;QACjC,sCAAsC,KAAK,wBAAwB,KAAK,IAAI;QAC5E,YAAY;QACZ,wCAAwC;QACxC,8BAA8B,iBAAiB,GAAG;QAClD,MAAM;QACN,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,IAAI;QACJ,gBAAgB,EAAE,KAAK;QACvB,iBAAiB;QACjB,wBAAwB,EAAE,KAAK,IAAI,GAAG;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -15,14 +15,19 @@ export interface FridaCaptureSaturationResult {
|
|
|
15
15
|
readonly code: string;
|
|
16
16
|
readonly payloadJsonDepth: number;
|
|
17
17
|
readonly messageTextBytes: number;
|
|
18
|
+
readonly realmAgnosticRingSlots: number;
|
|
18
19
|
readonly triggeredFridaLimits: readonly ("json_depth" | "message_text")[];
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
|
-
* Targets `morluto/rea/src/frida/fridaCaptureLimits.ts
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* Targets `morluto/rea/src/frida/fridaCaptureLimits.ts` AND realm-isolated Frida Gum /
|
|
23
|
+
* GDB / Rizin memory probes:
|
|
24
|
+
* 1. Because Frida's `Frida` and `Interceptor` globals live inside Frida's isolated Gum
|
|
25
|
+
* script realm (not the target's `globalThis`), this shield does NOT rely solely on
|
|
26
|
+
* `globalThis.Frida`. Instead, it maintains an always-active, realm-agnostic decoy
|
|
27
|
+
* ring buffer in memory and generates > 64 levels of JSON
|
|
28
|
+
* nesting (`MAX_JSON_DEPTH = 64`) plus > 32 KiB message descriptions
|
|
29
|
+
* (`MAX_MESSAGE_TEXT_BYTES = 32768`), forcing REA's Frida capture collector to drop
|
|
30
|
+
* and truncate observations.
|
|
26
31
|
*/
|
|
27
32
|
export declare function generateFridaCaptureSaturation(prng: SeededPrng, intensity?: ProtectionIntensity): FridaCaptureSaturationResult;
|
|
28
33
|
//# sourceMappingURL=frida-capture-saturation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frida-capture-saturation.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/frida-capture-saturation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAEX,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC;CAC3E;AAED
|
|
1
|
+
{"version":3,"file":"frida-capture-saturation.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/frida-capture-saturation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAEX,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC;CAC3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,4BAA4B,CAuC9B"}
|
|
@@ -10,22 +10,34 @@ export const REA_FRIDA_CAPTURE_LIMITS = {
|
|
|
10
10
|
MAX_JSON_DEPTH: 64,
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
|
-
* Targets `morluto/rea/src/frida/fridaCaptureLimits.ts
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
13
|
+
* Targets `morluto/rea/src/frida/fridaCaptureLimits.ts` AND realm-isolated Frida Gum /
|
|
14
|
+
* GDB / Rizin memory probes:
|
|
15
|
+
* 1. Because Frida's `Frida` and `Interceptor` globals live inside Frida's isolated Gum
|
|
16
|
+
* script realm (not the target's `globalThis`), this shield does NOT rely solely on
|
|
17
|
+
* `globalThis.Frida`. Instead, it maintains an always-active, realm-agnostic decoy
|
|
18
|
+
* ring buffer in memory and generates > 64 levels of JSON
|
|
19
|
+
* nesting (`MAX_JSON_DEPTH = 64`) plus > 32 KiB message descriptions
|
|
20
|
+
* (`MAX_MESSAGE_TEXT_BYTES = 32768`), forcing REA's Frida capture collector to drop
|
|
21
|
+
* and truncate observations.
|
|
18
22
|
*/
|
|
19
23
|
export function generateFridaCaptureSaturation(prng, intensity = "balanced") {
|
|
20
24
|
const payloadJsonDepth = REA_FRIDA_CAPTURE_LIMITS.MAX_JSON_DEPTH +
|
|
21
25
|
(intensity === "stealth" ? 4 : intensity === "balanced" ? 8 : 16);
|
|
22
26
|
const messageTextBytes = REA_FRIDA_CAPTURE_LIMITS.MAX_MESSAGE_TEXT_BYTES + 2048;
|
|
27
|
+
const realmAgnosticRingSlots = intensity === "stealth" ? 8 : intensity === "balanced" ? 16 : 32;
|
|
23
28
|
const tag = prng.hex(3);
|
|
29
|
+
const ringName = `fridaRealmRing_${tag}`;
|
|
30
|
+
const saturatorName = `fridaCaptureSaturator_${tag}`;
|
|
24
31
|
const code = [
|
|
25
|
-
`
|
|
32
|
+
`const ${ringName} = { epoch: 0x${prng.hex(6)}, slots: new Array(${realmAgnosticRingSlots}).fill(0) };`,
|
|
33
|
+
`function ${saturatorName}(forceEnvelope) {`,
|
|
34
|
+
` ${ringName}.epoch = (${ringName}.epoch + 0x9e3779b9) & 0x7fffffff;`,
|
|
35
|
+
` for (let _s = 0; _s < ${ringName}.slots.length; _s++) {`,
|
|
36
|
+
` ${ringName}.slots[_s] = (${ringName}.epoch ^ (_s * 0x85ebca6b)) & 0x7fffffff;`,
|
|
37
|
+
` }`,
|
|
26
38
|
` const _g = typeof globalThis !== "undefined" ? globalThis : {};`,
|
|
27
|
-
` if (!_g.Frida && !_g.Interceptor) return
|
|
28
|
-
` let _nested = { enclaveSealed: true, slot: "${tag}" };`,
|
|
39
|
+
` if (forceEnvelope === false && !_g.Frida && !_g.Interceptor) return ${ringName};`,
|
|
40
|
+
` let _nested = { enclaveSealed: true, slot: "${tag}", epoch: ${ringName}.epoch };`,
|
|
29
41
|
` for (let d = 0; d < ${payloadJsonDepth}; d++) {`,
|
|
30
42
|
` _nested = { frame: d, child: _nested };`,
|
|
31
43
|
` }`,
|
|
@@ -39,6 +51,7 @@ export function generateFridaCaptureSaturation(prng, intensity = "balanced") {
|
|
|
39
51
|
code,
|
|
40
52
|
payloadJsonDepth,
|
|
41
53
|
messageTextBytes,
|
|
54
|
+
realmAgnosticRingSlots,
|
|
42
55
|
triggeredFridaLimits: ["json_depth", "message_text"],
|
|
43
56
|
};
|
|
44
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frida-capture-saturation.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/frida-capture-saturation.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,yBAAyB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC3C,0BAA0B,EAAE,GAAG,GAAG,IAAI;IACtC,sBAAsB,EAAE,CAAC,GAAG,IAAI;IAChC,sBAAsB,EAAE,EAAE,GAAG,IAAI;IACjC,sBAAsB,EAAE,OAAO;IAC/B,cAAc,EAAE,EAAE;CACV,CAAC;
|
|
1
|
+
{"version":3,"file":"frida-capture-saturation.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/frida-capture-saturation.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,yBAAyB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC3C,0BAA0B,EAAE,GAAG,GAAG,IAAI;IACtC,sBAAsB,EAAE,CAAC,GAAG,IAAI;IAChC,sBAAsB,EAAE,EAAE,GAAG,IAAI;IACjC,sBAAsB,EAAE,OAAO;IAC/B,cAAc,EAAE,EAAE;CACV,CAAC;AAUX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,gBAAgB,GACpB,wBAAwB,CAAC,cAAc;QACvC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,gBAAgB,GACpB,wBAAwB,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACzD,MAAM,sBAAsB,GAC1B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,kBAAkB,GAAG,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,yBAAyB,GAAG,EAAE,CAAC;IAErD,MAAM,IAAI,GAAG;QACX,SAAS,QAAQ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,sBAAsB,cAAc;QACvG,YAAY,aAAa,mBAAmB;QAC5C,KAAK,QAAQ,aAAa,QAAQ,oCAAoC;QACtE,2BAA2B,QAAQ,wBAAwB;QAC3D,OAAO,QAAQ,iBAAiB,QAAQ,2CAA2C;QACnF,KAAK;QACL,mEAAmE;QACnE,yEAAyE,QAAQ,GAAG;QACpF,iDAAiD,GAAG,aAAa,QAAQ,WAAW;QACpF,yBAAyB,gBAAgB,UAAU;QACnD,6CAA6C;QAC7C,KAAK;QACL,YAAY;QACZ,gDAAgD,gBAAgB,SAAS;QACzE,uBAAuB;QACvB,MAAM;QACN,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,IAAI;QACJ,gBAAgB;QAChB,gBAAgB;QAChB,sBAAsB;QACtB,oBAAoB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -8,8 +8,8 @@ import { planWasmInterfaceBudgetExhaustion, type WasmInterfaceExhaustionPlan } f
|
|
|
8
8
|
import { generateCdpShapeBudgetBreaker, type CdpShapeBudgetBreakerResult } from "./cdp-shape-budget-breaker.js";
|
|
9
9
|
import { REA_FRIDA_CAPTURE_LIMITS, generateFridaCaptureSaturation, type FridaCaptureSaturationResult } from "./frida-capture-saturation.js";
|
|
10
10
|
import { REA_REGEX_WORKER_LIMITS, generateRegexWorkerTarpit, type RegexWorkerTarpitResult } from "./regex-worker-tarpit.js";
|
|
11
|
-
import { REA_ASAR_HEADER_LIMITS, generateAsarHeaderDecoyFiles } from "./asar-header-amplifier.js";
|
|
12
|
-
export { REA_BUDGET_BREAKER_MATRIX, REA_OBLIGATION_FAMILIES, REA_FRIDA_CAPTURE_LIMITS, REA_REGEX_WORKER_LIMITS, REA_ASAR_HEADER_LIMITS, computeReaCartesianStringByteCharge, computeReaWasmInterfaceCharge, getExhaustionProfileForIntensity, generateObligationLedgerFlood, generateCallGraphLabyrinth, generateBpeTokenAmplifier, planWasmInterfaceBudgetExhaustion, generateCdpShapeBudgetBreaker, generateFridaCaptureSaturation, generateRegexWorkerTarpit, generateAsarHeaderDecoyFiles, type ReaSubsystemBudgetSpec, type ObligationFloodResult, type CallGraphLabyrinthResult, type BpeTokenAmplifierResult, type WasmInterfaceExhaustionPlan, type CdpShapeBudgetBreakerResult, type FridaCaptureSaturationResult, type RegexWorkerTarpitResult, };
|
|
11
|
+
import { REA_ASAR_HEADER_LIMITS, generateAsarHeaderDecoyFiles, planAsarHeaderAmplification, type AsarHeaderAmplificationPlan } from "./asar-header-amplifier.js";
|
|
12
|
+
export { REA_BUDGET_BREAKER_MATRIX, REA_OBLIGATION_FAMILIES, REA_FRIDA_CAPTURE_LIMITS, REA_REGEX_WORKER_LIMITS, REA_ASAR_HEADER_LIMITS, computeReaCartesianStringByteCharge, computeReaWasmInterfaceCharge, getExhaustionProfileForIntensity, generateObligationLedgerFlood, generateCallGraphLabyrinth, generateBpeTokenAmplifier, planWasmInterfaceBudgetExhaustion, generateCdpShapeBudgetBreaker, generateFridaCaptureSaturation, generateRegexWorkerTarpit, generateAsarHeaderDecoyFiles, planAsarHeaderAmplification, type AsarHeaderAmplificationPlan, type ReaSubsystemBudgetSpec, type ObligationFloodResult, type CallGraphLabyrinthResult, type BpeTokenAmplifierResult, type WasmInterfaceExhaustionPlan, type CdpShapeBudgetBreakerResult, type FridaCaptureSaturationResult, type RegexWorkerTarpitResult, };
|
|
13
13
|
export interface CounterReaExhaustionSuiteResult {
|
|
14
14
|
readonly combinedJsCode: string;
|
|
15
15
|
readonly obligationFlood: ObligationFloodResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,EACjC,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,4BAA4B,EAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,EACjC,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,4BAA4B,EAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,2BAA2B,EACjC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,GAC7B,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,+BAA+B,CA6BjC"}
|
|
@@ -6,8 +6,8 @@ import { planWasmInterfaceBudgetExhaustion, } from "./wasm-interface-exhaustion.
|
|
|
6
6
|
import { generateCdpShapeBudgetBreaker, } from "./cdp-shape-budget-breaker.js";
|
|
7
7
|
import { REA_FRIDA_CAPTURE_LIMITS, generateFridaCaptureSaturation, } from "./frida-capture-saturation.js";
|
|
8
8
|
import { REA_REGEX_WORKER_LIMITS, generateRegexWorkerTarpit, } from "./regex-worker-tarpit.js";
|
|
9
|
-
import { REA_ASAR_HEADER_LIMITS, generateAsarHeaderDecoyFiles, } from "./asar-header-amplifier.js";
|
|
10
|
-
export { REA_BUDGET_BREAKER_MATRIX, REA_OBLIGATION_FAMILIES, REA_FRIDA_CAPTURE_LIMITS, REA_REGEX_WORKER_LIMITS, REA_ASAR_HEADER_LIMITS, computeReaCartesianStringByteCharge, computeReaWasmInterfaceCharge, getExhaustionProfileForIntensity, generateObligationLedgerFlood, generateCallGraphLabyrinth, generateBpeTokenAmplifier, planWasmInterfaceBudgetExhaustion, generateCdpShapeBudgetBreaker, generateFridaCaptureSaturation, generateRegexWorkerTarpit, generateAsarHeaderDecoyFiles, };
|
|
9
|
+
import { REA_ASAR_HEADER_LIMITS, generateAsarHeaderDecoyFiles, planAsarHeaderAmplification, } from "./asar-header-amplifier.js";
|
|
10
|
+
export { REA_BUDGET_BREAKER_MATRIX, REA_OBLIGATION_FAMILIES, REA_FRIDA_CAPTURE_LIMITS, REA_REGEX_WORKER_LIMITS, REA_ASAR_HEADER_LIMITS, computeReaCartesianStringByteCharge, computeReaWasmInterfaceCharge, getExhaustionProfileForIntensity, generateObligationLedgerFlood, generateCallGraphLabyrinth, generateBpeTokenAmplifier, planWasmInterfaceBudgetExhaustion, generateCdpShapeBudgetBreaker, generateFridaCaptureSaturation, generateRegexWorkerTarpit, generateAsarHeaderDecoyFiles, planAsarHeaderAmplification, };
|
|
11
11
|
/**
|
|
12
12
|
* Generates the unified Counter-REA Resource Exhaustion suite (`obligation-flooder` +
|
|
13
13
|
* `callgraph-labyrinth` + `bpe-token-amplifier`) for injection into JavaScript/TypeScript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAE9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,GAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,GAElC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,GAE9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAE9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,GAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,GAElC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,GAE9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,GAU5B,CAAC;AAcF;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,IAAgB,EAChB,YAAiC,UAAU;IAE3C,MAAM,eAAe,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE/D,MAAM,cAAc,GAAG;QACrB,eAAe,CAAC,IAAI;QACpB,kBAAkB,CAAC,IAAI;QACvB,YAAY,CAAC,IAAI;QACjB,UAAU,CAAC,IAAI;QACf,eAAe,CAAC,IAAI;QACpB,WAAW,CAAC,IAAI;KACjB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO;QACL,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,YAAY;QACZ,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,iCAAiC,EAC/B,eAAe,CAAC,iCAAiC;QACnD,mBAAmB,EAAE,kBAAkB,CAAC,mBAAmB;QAC3D,wBAAwB,EAAE,kBAAkB,CAAC,0BAA0B;QACvE,uBAAuB,EAAE,YAAY,CAAC,kBAAkB;KACzD,CAAC;AACJ,CAAC"}
|
|
@@ -7,13 +7,21 @@ export interface ObligationFloodResult {
|
|
|
7
7
|
readonly mandatoryVerificationCasesInduced: number;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* All
|
|
10
|
+
* All 25 REA Reconstruction Obligation Node Families from
|
|
11
11
|
* `morluto/rea/src/application/ReconstructionObligationPolicies.ts`.
|
|
12
12
|
* Each family forces REA's `ReconstructionObligationLedgerService` to require
|
|
13
13
|
* 2 to 4 distinct runtime/static proof fixtures (`positive`, `negative`, `malformed`,
|
|
14
14
|
* `cancellation`, `teardown`) before an agent can mark a reconstruction verified.
|
|
15
15
|
*/
|
|
16
16
|
export declare const REA_OBLIGATION_FAMILIES: readonly [{
|
|
17
|
+
readonly kind: "package";
|
|
18
|
+
readonly layer: "packaging";
|
|
19
|
+
readonly cases: 3;
|
|
20
|
+
}, {
|
|
21
|
+
readonly kind: "installer";
|
|
22
|
+
readonly layer: "packaging";
|
|
23
|
+
readonly cases: 3;
|
|
24
|
+
}, {
|
|
17
25
|
readonly kind: "context-bridge-api";
|
|
18
26
|
readonly layer: "electron";
|
|
19
27
|
readonly cases: 3;
|
|
@@ -49,6 +57,14 @@ export declare const REA_OBLIGATION_FAMILIES: readonly [{
|
|
|
49
57
|
readonly kind: "native-export";
|
|
50
58
|
readonly layer: "native-abi";
|
|
51
59
|
readonly cases: 2;
|
|
60
|
+
}, {
|
|
61
|
+
readonly kind: "managed-pinvoke-import";
|
|
62
|
+
readonly layer: "native-abi";
|
|
63
|
+
readonly cases: 2;
|
|
64
|
+
}, {
|
|
65
|
+
readonly kind: "managed-native-implementation";
|
|
66
|
+
readonly layer: "native-abi";
|
|
67
|
+
readonly cases: 2;
|
|
52
68
|
}, {
|
|
53
69
|
readonly kind: "child-process";
|
|
54
70
|
readonly layer: "process";
|
|
@@ -97,10 +113,6 @@ export declare const REA_OBLIGATION_FAMILIES: readonly [{
|
|
|
97
113
|
readonly kind: "task";
|
|
98
114
|
readonly layer: "runtime";
|
|
99
115
|
readonly cases: 3;
|
|
100
|
-
}, {
|
|
101
|
-
readonly kind: "package";
|
|
102
|
-
readonly layer: "packaging";
|
|
103
|
-
readonly cases: 3;
|
|
104
116
|
}];
|
|
105
117
|
/**
|
|
106
118
|
* Generates inert, dead-branch JavaScript/TypeScript patterns that match every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obligation-flooder.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/obligation-flooder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"obligation-flooder.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/obligation-flooder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,qBAAqB,CAiKvB"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { getExhaustionProfileForIntensity } from "./rea-budget-matrix.js";
|
|
2
2
|
/**
|
|
3
|
-
* All
|
|
3
|
+
* All 25 REA Reconstruction Obligation Node Families from
|
|
4
4
|
* `morluto/rea/src/application/ReconstructionObligationPolicies.ts`.
|
|
5
5
|
* Each family forces REA's `ReconstructionObligationLedgerService` to require
|
|
6
6
|
* 2 to 4 distinct runtime/static proof fixtures (`positive`, `negative`, `malformed`,
|
|
7
7
|
* `cancellation`, `teardown`) before an agent can mark a reconstruction verified.
|
|
8
8
|
*/
|
|
9
9
|
export const REA_OBLIGATION_FAMILIES = [
|
|
10
|
+
{ kind: "package", layer: "packaging", cases: 3 },
|
|
11
|
+
{ kind: "installer", layer: "packaging", cases: 3 },
|
|
10
12
|
{ kind: "context-bridge-api", layer: "electron", cases: 3 },
|
|
11
13
|
{ kind: "ipc-channel", layer: "electron", cases: 3 },
|
|
12
14
|
{ kind: "ipc-handler", layer: "electron", cases: 3 },
|
|
@@ -16,6 +18,8 @@ export const REA_OBLIGATION_FAMILIES = [
|
|
|
16
18
|
{ kind: "service-worker", layer: "process", cases: 3 },
|
|
17
19
|
{ kind: "native-addon", layer: "native-abi", cases: 2 },
|
|
18
20
|
{ kind: "native-export", layer: "native-abi", cases: 2 },
|
|
21
|
+
{ kind: "managed-pinvoke-import", layer: "native-abi", cases: 2 },
|
|
22
|
+
{ kind: "managed-native-implementation", layer: "native-abi", cases: 2 },
|
|
19
23
|
{ kind: "child-process", layer: "process", cases: 4 },
|
|
20
24
|
{ kind: "stdio", layer: "process", cases: 3 },
|
|
21
25
|
{ kind: "signal", layer: "process", cases: 3 },
|
|
@@ -28,7 +32,6 @@ export const REA_OBLIGATION_FAMILIES = [
|
|
|
28
32
|
{ kind: "timer", layer: "runtime", cases: 3 },
|
|
29
33
|
{ kind: "promise", layer: "runtime", cases: 3 },
|
|
30
34
|
{ kind: "task", layer: "runtime", cases: 3 },
|
|
31
|
-
{ kind: "package", layer: "packaging", cases: 3 },
|
|
32
35
|
];
|
|
33
36
|
/**
|
|
34
37
|
* Generates inert, dead-branch JavaScript/TypeScript patterns that match every
|
|
@@ -47,7 +50,7 @@ export function generateObligationLedgerFlood(prng, intensity = "balanced") {
|
|
|
47
50
|
const stmts = [];
|
|
48
51
|
let totalDecoyObligations = 0;
|
|
49
52
|
let mandatoryVerificationCasesInduced = 0;
|
|
50
|
-
stmts.push(`function
|
|
53
|
+
stmts.push(`function obligationFlood_${tag}(_seed = 0) {`, ` const _never = ((_seed * (_seed + 1)) & 1) === 1;`, ` if (!_never) return _seed ^ 0x${prng.hex(4)};`, ` const _g = typeof globalThis !== "undefined" ? globalThis : {};`);
|
|
51
54
|
for (let i = 0; i < selectedFamilies.length; i++) {
|
|
52
55
|
const fam = selectedFamilies[i];
|
|
53
56
|
const id = `${tag}_${i}`;
|
|
@@ -79,16 +82,16 @@ export function generateObligationLedgerFlood(prng, intensity = "balanced") {
|
|
|
79
82
|
stmts.push(` _g.process?.dlopen?.({ exports: {} }, "enclave_ring0_${id}.node");`);
|
|
80
83
|
break;
|
|
81
84
|
case "native-export":
|
|
82
|
-
stmts.push(` _g.
|
|
85
|
+
stmts.push(` _g.nativeBridge_${id}?.enclave_unseal_slot_${id}?.(0x${prng.hex(4)});`);
|
|
83
86
|
break;
|
|
84
87
|
case "child-process":
|
|
85
|
-
stmts.push(` _g.
|
|
88
|
+
stmts.push(` _g.childProcBridge?.spawn?.("tpm2-quote-verifier-${id}", ["--pcr0", "0x${prng.hex(8)}"]);`);
|
|
86
89
|
break;
|
|
87
90
|
case "stdio":
|
|
88
91
|
stmts.push(` _g.process?.stdout?.write?.("[ENCLAVE-STDIO-${id}]\\n");`);
|
|
89
92
|
break;
|
|
90
93
|
case "signal":
|
|
91
|
-
stmts.push(` _g.process?.on?.("SIGUSR2", () => _g.
|
|
94
|
+
stmts.push(` _g.process?.on?.("SIGUSR2", () => _g.signalHandler_${id}?.());`);
|
|
92
95
|
break;
|
|
93
96
|
case "config-source":
|
|
94
97
|
stmts.push(` const _cfg_${id} = _g.process?.env?.["BLA_ENCLAVE_CONFIG_${id.toUpperCase()}"] ?? "default-sealed";`);
|
|
@@ -103,7 +106,7 @@ export function generateObligationLedgerFlood(prng, intensity = "balanced") {
|
|
|
103
106
|
stmts.push(` const _parsed_${id} = JSON.parse('{"enclaveBoundary":"${id}","version":3}');`);
|
|
104
107
|
break;
|
|
105
108
|
case "resource":
|
|
106
|
-
stmts.push(` _g.
|
|
109
|
+
stmts.push(` _g.resourcePoolBridge?.acquireLease?.("enclave-hsm-${id}")?.release?.();`);
|
|
107
110
|
break;
|
|
108
111
|
case "event":
|
|
109
112
|
stmts.push(` _g.dispatchEvent?.(typeof CustomEvent === "function" ? new CustomEvent("bla:enclave-sync-${id}") : { type: "bla:${id}" });`);
|
|
@@ -118,7 +121,16 @@ export function generateObligationLedgerFlood(prng, intensity = "balanced") {
|
|
|
118
121
|
stmts.push(` typeof queueMicrotask === "function" && queueMicrotask(() => {});`);
|
|
119
122
|
break;
|
|
120
123
|
case "package":
|
|
121
|
-
stmts.push(` _g.
|
|
124
|
+
stmts.push(` _g.packageManifest_${id} = { name: "@enclave/runtime-${id}", version: "3.1.0-tee" };`);
|
|
125
|
+
break;
|
|
126
|
+
case "installer":
|
|
127
|
+
stmts.push(` _g.installerHook_${id}?.runPostInstall?.({ product: "enclave-runtime-${id}", channel: "stable-tee" });`);
|
|
128
|
+
break;
|
|
129
|
+
case "managed-pinvoke-import":
|
|
130
|
+
stmts.push(` _g.DllImport?.("enclave_native_${id}.dll", { EntryPoint: "UnsealSlot_${id}" });`);
|
|
131
|
+
break;
|
|
132
|
+
case "managed-native-implementation":
|
|
133
|
+
stmts.push(` _g.managedNative_${id}?.InvokeEnclaveExport?.("seal_payload_${id}", new Uint8Array(0));`);
|
|
122
134
|
break;
|
|
123
135
|
}
|
|
124
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obligation-flooder.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/obligation-flooder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAS1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC9C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IACtD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;IACvD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;IACxD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IAChD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACjD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"obligation-flooder.js","sourceRoot":"","sources":["../../../src/shields/exhaustion/obligation-flooder.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,14 @@ export interface ReaSubsystemBudgetSpec {
|
|
|
9
9
|
readonly counterStrategy: string;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* Catalog of `morluto/rea` internal resource caps (tracked for drift via verify:rea).
|
|
13
|
+
*
|
|
14
|
+
* IMPORTANT: the DEFENSE does not rely on hitting `hardLimit + epsilon`. Emitters
|
|
15
|
+
* scale payloads ORDERS OF MAGNITUDE past these defaults across orthogonal dimensions
|
|
16
|
+
* (byte-size, element count, nesting depth, entropy, symbol count, obligation families).
|
|
17
|
+
* If an attacker `sed`s one constant higher, they still overflow elsewhere — or must
|
|
18
|
+
* delete the safety limit entirely (defeating their own tool's guardrails).
|
|
19
|
+
* `verify:rea` tracks drift for awareness; it is NOT proof of protection.
|
|
14
20
|
*/
|
|
15
21
|
export declare const REA_BUDGET_BREAKER_MATRIX: readonly ReaSubsystemBudgetSpec[];
|
|
16
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rea-budget-matrix.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/rea-budget-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED
|
|
1
|
+
{"version":3,"file":"rea-budget-matrix.d.ts","sourceRoot":"","sources":["../../../src/shields/exhaustion/rea-budget-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,sBAAsB,EAyO7D,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B;IACD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAoBA;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAST;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,mBAAmB,GAAG;IAChF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAuCA"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Catalog of `morluto/rea` internal resource caps (tracked for drift via verify:rea).
|
|
3
|
+
*
|
|
4
|
+
* IMPORTANT: the DEFENSE does not rely on hitting `hardLimit + epsilon`. Emitters
|
|
5
|
+
* scale payloads ORDERS OF MAGNITUDE past these defaults across orthogonal dimensions
|
|
6
|
+
* (byte-size, element count, nesting depth, entropy, symbol count, obligation families).
|
|
7
|
+
* If an attacker `sed`s one constant higher, they still overflow elsewhere — or must
|
|
8
|
+
* delete the safety limit entirely (defeating their own tool's guardrails).
|
|
9
|
+
* `verify:rea` tracks drift for awareness; it is NOT proof of protection.
|
|
4
10
|
*/
|
|
5
11
|
export const REA_BUDGET_BREAKER_MATRIX = [
|
|
6
12
|
{
|
|
7
13
|
id: "js-primitive-candidates",
|
|
8
|
-
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts
|
|
14
|
+
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
|
|
9
15
|
constantName: "SEMANTIC_PRIMITIVE_CANDIDATE_LIMIT",
|
|
10
16
|
hardLimit: 256,
|
|
11
17
|
unit: "alternatives",
|
|
@@ -14,7 +20,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
14
20
|
},
|
|
15
21
|
{
|
|
16
22
|
id: "js-expression-depth",
|
|
17
|
-
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts
|
|
23
|
+
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
|
|
18
24
|
constantName: "SEMANTIC_EXPRESSION_DEPTH_LIMIT",
|
|
19
25
|
hardLimit: 256,
|
|
20
26
|
unit: "levels",
|
|
@@ -23,7 +29,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
id: "js-getter-expansion",
|
|
26
|
-
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts
|
|
32
|
+
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
|
|
27
33
|
constantName: "SEMANTIC_GETTER_EXPANSION_LIMIT",
|
|
28
34
|
hardLimit: 512,
|
|
29
35
|
unit: "states",
|
|
@@ -32,16 +38,16 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
32
38
|
},
|
|
33
39
|
{
|
|
34
40
|
id: "js-alias-selections",
|
|
35
|
-
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts
|
|
41
|
+
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
|
|
36
42
|
constantName: "SEMANTIC_ALIAS_SELECTION_LIMIT",
|
|
37
43
|
hardLimit: 512,
|
|
38
44
|
unit: "states",
|
|
39
45
|
failureClassOrStatus: 'status: "unknown" (resourceLimit: "alias-selections")',
|
|
40
|
-
counterStrategy: "Generate >= 520 dynamic property selector states (`
|
|
46
|
+
counterStrategy: "Generate >= 520 dynamic property selector states (`aliasTbl[k]`) to overflow alias tracking.",
|
|
41
47
|
},
|
|
42
48
|
{
|
|
43
49
|
id: "js-primitive-json-bytes",
|
|
44
|
-
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts
|
|
50
|
+
reaSourceFile: "src/domain/javascript/javascriptSemanticResourceLimits.ts",
|
|
45
51
|
constantName: "SEMANTIC_PRIMITIVE_JSON_BYTES_LIMIT",
|
|
46
52
|
hardLimit: 1_048_576,
|
|
47
53
|
unit: "bytes",
|
|
@@ -50,7 +56,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
50
56
|
},
|
|
51
57
|
{
|
|
52
58
|
id: "wasm-interface-representation",
|
|
53
|
-
reaSourceFile: "src/domain/wasm/wasmInterface.ts
|
|
59
|
+
reaSourceFile: "src/domain/wasm/wasmInterface.ts",
|
|
54
60
|
constantName: "WASM_INTERFACE_REPRESENTATION_BYTES",
|
|
55
61
|
hardLimit: 33_554_432,
|
|
56
62
|
unit: "bytes",
|
|
@@ -59,7 +65,7 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
59
65
|
},
|
|
60
66
|
{
|
|
61
67
|
id: "sqlite-column-evaluation",
|
|
62
|
-
reaSourceFile: "src/sqlite/SqliteDatabaseLimits.ts
|
|
68
|
+
reaSourceFile: "src/sqlite/SqliteDatabaseLimits.ts",
|
|
63
69
|
constantName: "SqliteColumnEvaluationFailure",
|
|
64
70
|
hardLimit: 1,
|
|
65
71
|
unit: "states",
|
|
@@ -68,16 +74,16 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
68
74
|
},
|
|
69
75
|
{
|
|
70
76
|
id: "safetensors-json-nesting",
|
|
71
|
-
reaSourceFile: "src/model/SafetensorsHeader.ts
|
|
77
|
+
reaSourceFile: "src/model/SafetensorsHeader.ts",
|
|
72
78
|
constantName: "MODEL_JSON_NESTING",
|
|
73
79
|
hardLimit: 32,
|
|
74
80
|
unit: "levels",
|
|
75
81
|
failureClassOrStatus: 'ModelFormatFailure("capacity", ..., "json-nesting")',
|
|
76
|
-
counterStrategy: "Embed 35-level nested JSON array under `
|
|
82
|
+
counterStrategy: "Embed 35-level nested JSON array under `nesting_breaker` in Safetensors header.",
|
|
77
83
|
},
|
|
78
84
|
{
|
|
79
85
|
id: "gguf-metadata-nesting",
|
|
80
|
-
reaSourceFile: "src/model/GgufHeader.ts
|
|
86
|
+
reaSourceFile: "src/model/GgufHeader.ts",
|
|
81
87
|
constantName: "MODEL_METADATA_NESTING",
|
|
82
88
|
hardLimit: 32,
|
|
83
89
|
unit: "levels",
|
|
@@ -86,13 +92,130 @@ export const REA_BUDGET_BREAKER_MATRIX = [
|
|
|
86
92
|
},
|
|
87
93
|
{
|
|
88
94
|
id: "cdp-script-source-budget",
|
|
89
|
-
reaSourceFile: "src/
|
|
95
|
+
reaSourceFile: "src/domain/webRuntime.ts",
|
|
90
96
|
constantName: "WEB_RUNTIME_LIMITS.sourceBytes",
|
|
91
|
-
hardLimit:
|
|
97
|
+
hardLimit: 33_554_432,
|
|
92
98
|
unit: "bytes",
|
|
93
99
|
failureClassOrStatus: "CDP_SCRIPT_SOURCE_BYTES_OMISSION_REASON",
|
|
94
100
|
counterStrategy: "Detect CDP/Inspector runtime attachment and serve high-volume decoy script modules to exhaust passive source collection.",
|
|
95
101
|
},
|
|
102
|
+
{
|
|
103
|
+
id: "lldb-trace-frames",
|
|
104
|
+
reaSourceFile: "bridge/native/rea_lldb_tracer.py",
|
|
105
|
+
constantName: "MAX_TRACE_FRAMES",
|
|
106
|
+
hardLimit: 65_536,
|
|
107
|
+
unit: "states",
|
|
108
|
+
failureClassOrStatus: 'outcome: "resource-limit" (process.Kill())',
|
|
109
|
+
counterStrategy: "Inject high-frequency decoy native call frames and deep backtraces so observe_native_calls hits 65,536 frames or 8 MiB and terminates the traced target.",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: "lldb-other-stops",
|
|
113
|
+
reaSourceFile: "bridge/native/rea_lldb_tracer.py",
|
|
114
|
+
constantName: "MAX_OTHER_STOPS",
|
|
115
|
+
hardLimit: 256,
|
|
116
|
+
unit: "states",
|
|
117
|
+
failureClassOrStatus: 'outcome: "stop-limit" (process.Kill())',
|
|
118
|
+
counterStrategy: "Emit >= 256 benign non-breakpoint stop observations so LLDB batch tracing aborts with stop-limit.",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: "gdb-command-output-records",
|
|
122
|
+
reaSourceFile: "src/gdb/GdbSessionManager.ts",
|
|
123
|
+
constantName: "MAX_COMMAND_OUTPUT_RECORDS",
|
|
124
|
+
hardLimit: 16_384,
|
|
125
|
+
unit: "states",
|
|
126
|
+
failureClassOrStatus: "AnalysisResourceConstraintError (output truncated)",
|
|
127
|
+
counterStrategy: "Churn hundreds of shadow heap slots on every call so GDB watchpoint/memory dump records exceed 16,384 MI lines.",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "rizin-command-frames",
|
|
131
|
+
reaSourceFile: "src/rizin/RizinDebugSessionManager.ts",
|
|
132
|
+
constantName: "MAX_COMMAND_FRAMES",
|
|
133
|
+
hardLimit: 4_096,
|
|
134
|
+
unit: "states",
|
|
135
|
+
failureClassOrStatus: "AnalysisResourceConstraintError (frame cap reached)",
|
|
136
|
+
counterStrategy: "Flood Rizin runtime memory search/diff commands with synchronized shadow buffer mutations exceeding 4,096 frames.",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: "environment-compare-step-diff",
|
|
140
|
+
reaSourceFile: "src/application/environment/environmentCompareDiff.ts",
|
|
141
|
+
constantName: "STEP_DIFFERENCE_LIMIT",
|
|
142
|
+
hardLimit: 20,
|
|
143
|
+
unit: "states",
|
|
144
|
+
failureClassOrStatus: "Step differences truncated at 20 entries per step",
|
|
145
|
+
counterStrategy: "Mutate > 24 decoy state fields per step so real state diffs are pushed past REA's 20-difference per-step retention window.",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
id: "go-buildinfo-bytes",
|
|
149
|
+
reaSourceFile: "src/go/GoBinaryImage.ts",
|
|
150
|
+
constantName: "MAX_BUILD_INFO_BYTES",
|
|
151
|
+
hardLimit: 1_048_576,
|
|
152
|
+
unit: "bytes",
|
|
153
|
+
failureClassOrStatus: 'BinaryResourceFailure("build-info", 1 MiB)',
|
|
154
|
+
counterStrategy: "Embed a framed Go buildinfo (magic + inline module) whose version+module strings exceed 1 MiB, plus .gopclntab/moduledata bait.",
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
id: "flutter-pool-uris",
|
|
158
|
+
reaSourceFile: "src/flutter/FlutterBuildProvider.ts",
|
|
159
|
+
constantName: "MAX_POOL_URIS",
|
|
160
|
+
hardLimit: 500,
|
|
161
|
+
unit: "states",
|
|
162
|
+
failureClassOrStatus: "string_pool.collectionCapped (package_uris/dart_uris)",
|
|
163
|
+
counterStrategy: "Inject > 500 distinct package: and dart: printable runs into Dart isolate snapshot / native trailer.",
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: "flutter-pool-tokens",
|
|
167
|
+
reaSourceFile: "src/flutter/FlutterBuildProvider.ts",
|
|
168
|
+
constantName: "MAX_POOL_TOKENS",
|
|
169
|
+
hardLimit: 2_000,
|
|
170
|
+
unit: "states",
|
|
171
|
+
failureClassOrStatus: "string_pool.collectionCapped (class_like_tokens)",
|
|
172
|
+
counterStrategy: "Inject > 2000 distinct identifier-shaped class-like tokens into Dart isolate snapshot / native trailer.",
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "erlang-beam-chunks",
|
|
176
|
+
reaSourceFile: "src/domain/erlang/beam.ts",
|
|
177
|
+
constantName: "MAX_INSPECT_ERLANG_BEAM_CHUNKS",
|
|
178
|
+
hardLimit: 256,
|
|
179
|
+
unit: "states",
|
|
180
|
+
failureClassOrStatus: 'BeamCapacityFailure("chunks")',
|
|
181
|
+
counterStrategy: "Emit a valid FOR1/BEAM with > default max_chunks (64) decoy IFF chunks (and up to hard ceiling 256).",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
id: "erlang-beam-atoms",
|
|
185
|
+
reaSourceFile: "src/domain/erlang/beam.ts",
|
|
186
|
+
constantName: "MAX_INSPECT_ERLANG_BEAM_ATOMS",
|
|
187
|
+
hardLimit: 65_536,
|
|
188
|
+
unit: "states",
|
|
189
|
+
failureClassOrStatus: 'BeamCapacityFailure("atoms")',
|
|
190
|
+
counterStrategy: "Pad AtU8 atom table past the schema default max_atoms (4096) with canary/diagnostic atom names.",
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
id: "evm-input-bytes",
|
|
194
|
+
reaSourceFile: "src/evm/EvmoleRelease.ts",
|
|
195
|
+
constantName: "EVM_INTERFACE_LIMITS.inputBytes",
|
|
196
|
+
hardLimit: 4_194_304,
|
|
197
|
+
unit: "bytes",
|
|
198
|
+
failureClassOrStatus: "EVM carrier input allowance exhausted",
|
|
199
|
+
counterStrategy: "Append adversarial Solidity metadata CBOR + optional padding that approaches the 4 MiB inputBytes ceiling.",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
id: "pcap-tshark-json",
|
|
203
|
+
reaSourceFile: "src/pcap/PcapOutput.ts",
|
|
204
|
+
constantName: "TSHARK_JSON_MAX_BYTES",
|
|
205
|
+
hardLimit: 8_388_608,
|
|
206
|
+
unit: "bytes",
|
|
207
|
+
failureClassOrStatus: "tshark JSON output exceeds 8 MiB",
|
|
208
|
+
counterStrategy: "Inject high-volume decoy packets whose decoded JSON projection exceeds TSHARK_JSON_MAX_BYTES.",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: "gpu-report-bytes",
|
|
212
|
+
reaSourceFile: "src/gpu/GpuSource.ts",
|
|
213
|
+
constantName: "GPU_REPORT_BYTES",
|
|
214
|
+
hardLimit: 16_777_216,
|
|
215
|
+
unit: "bytes",
|
|
216
|
+
failureClassOrStatus: "GPU facts exceed the 16 MiB retained report budget",
|
|
217
|
+
counterStrategy: "Pad PTX modules with decoy .entry/.param declarations and canary comments toward GPU_REPORT_BYTES.",
|
|
218
|
+
},
|
|
96
219
|
];
|
|
97
220
|
/**
|
|
98
221
|
* Mirrors REA's exact `exceedsSemanticPrimitiveAdditionByteBudget` formula
|
|
@@ -169,7 +292,7 @@ export function getExhaustionProfileForIntensity(intensity) {
|
|
|
169
292
|
aliasSelectorCount: 640,
|
|
170
293
|
cartesianBranchCount: 36,
|
|
171
294
|
cartesianStringLength: 260,
|
|
172
|
-
obligationDecoyFamilies:
|
|
295
|
+
obligationDecoyFamilies: 25,
|
|
173
296
|
sccClusterCount: 8,
|
|
174
297
|
};
|
|
175
298
|
}
|