
يقوّي الملفات الثنائية، وElectron ASAR، وJS، وWASM، وPython، وملفات النماذج ضد وكلاء الهندسة العكسية بالذكاء الاصطناعي باستخدام بيانات وصفية خادعة، واستنزاف الميزانية، ودروع مكافئة لبيئة التشغيل.
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Türkçe · Русский · Tiếng Việt · ไทย · Deutsch · Español · Français · Українська · Polski · Português (Brasil) · العربية · فارسی · Bahasa Indonesia · Italiano · Ελληνικά · മലയാളം · Roman Urdu · Română
وجّه BLA نحو البنية التي تُصدرها. عندما يفتحها وكيل هندسة عكسية بالذكاء الاصطناعي (REA)، يصطدم المحلّل بميزانيات الموارد، ويتبع الفخاخ، ويحرق الرموز — بينما يحصل مستخدموك على نفس سلوك التشغيل.
الموقع الإلكتروني · الأدلة · العروض التوضيحية · إخلاء المسؤولية
البدء السريع · النتائج التجريبية · تغطية الصيغ · المعايير القياسية · الأسئلة الشائعة
bla harden .
# or tell your agent: "Harden my software against REA"
[!IMPORTANT] BLA أداة دفاعية لحماية برمجياتك الخاصة. راجع DISCLAIMER.md. احصل على BLA من qybaihe/bla أو npm
bla-agents.
تقوم REA بهندسة عكسية لأثر الإصدار بأمر واحد. BLA هي النصف المضاد لـ REA من هذه القصة:
| الطبقة | ما يحدث |
|---|---|
| التسميم | زرع كناريّات صالحة التنسيق، وبيانات وصفية عسلية، وتدفق تحكم خادع تبدو كأدلة حقيقية. |
| الاستنزاف | دفع الأثر إلى ما يتجاوز ميزانيات الموارد الموثقة لدى REA (الترويسات، التداخل، جرد الواجهات، PCAP JSON، حراس fuse، …). |
| التهيئة | ترك المحلل مع جرد مبتور، وإخفاقات تنقيح، ومتاهات غامضة — بينما يبقى وقت التشغيل مكافئًا. |
جملة واحدة تغطي الحالة الشائعة (تكتشف تلقائيًا dist/ / build/ / .asar / .wasm / .sqlite / النماذج / … وتشغّل تدقيق → حماية → تحقق):
npx bla-agents harden .
# MCP / agent: bla_harden · "Harden my software against REA"
نفس خط المعالجة المستخدم في bla defend / bla_defend عندما تعرف المسار مسبقًا؛ harden هو تجربة المستخدم الافتراضية بأمر واحد.
# Node.js ^22.23.4 or 24.x recommended (REA red-team needs zlib.zstd on 22.23+)
npx bla-agents setup # register MCP + skill with your coding agent
npx bla-agents harden . # one-command Counter-REA pass on the current project
npx bla-agents benchmark # 14-target showcase (local estimates + runtime checks)
اسأل وكيلك بعد الإعداد:
Harden my software against REA
أو شغّل المراحل صراحةً: audit · protect · verify · defend — راجع CLI and MCP.
تأتي هذه الأرقام من تشغيل REA الحقيقي على عينات مقوّاة بـ BLA على عتاد عادي (npm run redteam:rea). التقرير الكامل القابل للقراءة آليًا: docs/redteam/empirical-rea-validation.md / .json.
كيف تقرأ هذا: تعني عبارة «تم التحقق تجريبيًا» أن مسار محلل REA أعاد فعليًا فشل الميزانية / السعة / الحجب المذكور في هذه البيئة. وهي ليست ادعاءً بشأن جلسات Ghidra/Frida/LLDB/Rizin/JADX التي لم نشغّلها هنا.
مسجّلة تحت Node v24.22.1 مع Wabt 1.0.42 + tshark 4.4 الاختياريين عند الإشارة إليهما. تُبقي التخطيات اللينة Node 22 / CI أخضر عندما تكون الأدوات غائبة.
| التنسيق | قبل → بعد | نتيجة REA بعد BLA | الميزانية / الخطأ |
|---|---|---|---|
| Go buildinfo | 50 KiB → 1.16 MiB | خطأ سعة | MAX_BUILD_INFO_BYTES (1 MiB) — يتجاوز طول سلسلة معلومات بناء Go حد 1 MiB |
| Erlang BEAM | 84 B → 262 KiB | خطأ سعة | max_chunks — يتجاوز نموذج BEAM ميزانية 64 قطعة |
| EVM bytecode | 16 B → 4.00 MiB | يقترب من الحد الأقصى الكامل للمدخلات | EVM_INTERFACE_LIMITS.inputBytes (4 MiB) |
| PCAP | 24 B → 1.29 MiB | رُفضت الميزانية | TSHARK_JSON_MAX_BYTES (>8 MiB) → AnalysisResourceConstraintError (tshark موجود) |
| Electron ASAR | 607 B → 16.9 MiB | خطأ سعة | DEFAULT_ASAR_MAX_HEADER_BYTES (16 MiB) |
| WASM + Wabt | 54 B → 6.56 MiB · 251 تصديرًا | ifaceState=partial | WASM_INTERFACE_REPRESENTATION_BYTES — يتجاوز فك ترميز واجهة WASM المُنمّطة ميزانية تمثيل مخرجات WABT |
| SQLite (Node 24) | 12 KiB → 56 KiB | حجب / تقييم أعمدة | SqliteColumnEvaluationFailure — دالة enclave_unseal_payload() غير معروفة على أعمدة الفخاخ العسلية |
| JavaScript | 761 B → 116 KiB | رُفضت الميزانية | alias-selections + getter-expansion + primitive-bytes + primitive-candidates (resourceLimits في REA الحقيقي) |
| Safetensors | 128 B → 10.1 KiB | خطأ سعة | MODEL_JSON_NESTING — يتجاوز تداخل JSON في Safetensors 32 مستوى (قابل للتحميل عبر HF؛ بايتات التنسور دون تغيير) |
| GGUF | 24 B → 7.7 KiB | خطأ سعة | MODEL_METADATA_NESTING — يتجاوز تداخل بيانات GGUF الوصفية 32 إطار مصفوفة |
| Electron fuses | 50 KiB → 1.16 MiB | رُفضت الميزانية | ELECTRON_FUSE_LIMITS.maximumSentinelsPerSlice (>32) |
| Flutter pool | 50 KiB → 1.16 MiB | حد أقصى متوقع | MAX_POOL_URIS / MAX_POOL_TOKENS (سيقتطع REA بعبارة «at least N») |
لإعادة الإنتاج: