You are currently viewing BLA làm nhiễu artifact để AI reverse-engineering đốt token vô ích

BLA làm nhiễu artifact để AI reverse-engineering đốt token vô ích

Bạn build ra file binary, đóng gói Electron app, bundle JS, ship WASM hay model GGUF. Vài tháng sau có người mở nó bằng một AI agent và hỏi “phân tích cho tao cái này làm gì”. Agent đọc header, bung archive, liệt kê interface, tóm tắt logic. Xong. Code của bạn thành tài liệu.

BLA (Blind LLM Agents) là câu trả lời cho đúng cái kịch bản đó. Repo của qybaihe viết bằng TypeScript, license MIT, hiện có 656 sao. Mô tả ngắn gọn: “Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.”

Nó làm gì cụ thể

BLA can thiệp vào artifact bạn ship, không phải vào source. Ba lớp:

  • Poison: cấy canary đúng format, metadata giả (honey metadata), control flow giả trông như bằng chứng thật.
  • Exhaust: đẩy artifact vượt qua ngân sách tài nguyên mà REA công bố (số header, độ lồng nesting, danh sách interface, PCAP JSON, fuse sentinels…).
  • Hallucinate: để analyzer nhận về inventory bị cắt cụt, redaction fail, hoặc lạc vào hố thỏ mơ hồ. Trong khi runtime vẫn giữ nguyên hành vi.

Điểm mấu chốt là “runtime stays equivalent”. BLA không làm hỏng app của bạn. Nó chỉ làm cho việc đọc hiểu artifact trở nên đắt đỏ với agent.

Vì sao đang hot

Repo tạo ngày 2026-10-25, cập nhật 2026-10-29. Bốn ngày có 656 sao. Con số đó nói lên nhu cầu: dev đang bắt đầu thấy AI agent reverse-engineer phần mềm của họ, và không có nhiều công cụ phòng thủ tuyến này.

Điểm khác biệt nằm ở chỗ BLA không phải obfuscator theo nghĩa truyền thống. Nó nhắm vào ngân sách tài nguyên của analyzer. Ví dụ trong README: file Go buildinfo từ 50 KiB phình lên 1.16 MiB, vượt MAX_BUILD_INFO_BYTES (1 MiB) và REA trả lỗi capacity. Electron ASAR từ 607 B lên 16.9 MiB, đụng DEFAULT_ASAR_MAX_HEADER_BYTES (16 MiB). WASM với Wabt từ 54 B lên 6.56 MiB với 251 export, khiến ifaceState=partial.

Cách tiếp cận “làm agent chết vì budget” thú vị hơn “làm code khó đọc”. Vì agent không đọc như người, nó tiêu tài nguyên. Cắt tài nguyên là cắt đường.

Cài và chạy thử

Yêu cầu Node.js ^22.23.4 hoặc 24.x (bản red-team REA cần zlib.zstd trên 22.23+).

bla harden .
# or tell your agent: "Harden my software against REA"

Hoặc dùng npx trực tiếp:

# 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)

Sau setup, bạn có thể nói với agent trong editor: Harden my software against REA. Lệnh harden tự tìm dist/, build/, .asar, .wasm, .sqlite, model… rồi chạy audit, protect, verify. Muốn chạy từng bước thì dùng audit, protect, verify, defend.

Muốn tự kiểm chứng hiệu quả:

# Prefer Node 22.23.4+ or 24.x; set Wabt/tshark for full coverage
export REA_WABT_BIN_DIRECTORY=$HOME/opt/wabt-1.0.42/bin # optional
npm run build && npm run redteam:rea

Ai nên dùng

Dev ship app Electron mà không muốn người ta bung .asar ra đọc. Team làm SDK thương mại đóng gói bằng JS bundle. Ai phân phối model GGUF/Safetensors và không muốn metadata bị trích xuất dễ dàng. Người build WASM module cho client. Cả những ai ship binary Go, Erlang BEAM, EVM bytecode.

README liệt kê kết quả đã kiểm chứng trên 12 định dạng với REA thật, gồm Go buildinfo, Erlang BEAM, EVM bytecode, PCAP, Electron ASAR, WASM+Wabt, SQLite, JavaScript, Safetensors, GGUF, Electron fuses, Flutter pool. Có cả bảng “designed-for but not empirically verified” cho Ghidra, Frida, JADX, firmware, GPU object. Việc tách bạch hai bảng này là điểm cộng về tính trung thực.

Ưu và nhược

Ưu: MIT license, thoáng. Có MCP server nên cắm thẳng vào Claude Code, Cursor hay agent khác được. Pipeline audit/protect/verify rõ ràng, không phải chạy mù. Benchmark 14 target có sẵn. Tài liệu trên bla.tools kèm disclaimer rõ ràng rằng đây là công cụ phòng thủ cho phần mềm của chính bạn.

Nhược: Repo mới 4 ngày, độ trưởng thành chưa kiểm chứng được qua thời gian. Nhiều shield trong tree mới dừng ở unit test, chưa có E2E với tooling native như Ghidra hay Frida. Phần firmware, SPIR-V, CUDA fatbinary bị skip vì thiếu decoder native. Nếu bạn làm Android APK thì pipeline JADX đầy đủ chưa chạy được (APK resigning chưa hỗ trợ).

Một điều cần cân nhắc: BLA làm phình artifact. ASAR từ 607 B lên 16.9 MiB, EVM bytecode lên 4 MiB. Với app phân phối qua CDN hay mobile, đây là chi phí thật. Không có bữa trưa miễn phí.

Và đây là công cụ phòng thủ, không phải công cụ tấn công. Dùng nó để che giấu malware thì không phải mục đích của repo. README có DISCLAIMER.md riêng.

Kết

656 sao trong 4 ngày cho một repo về adversarial defense, đủ để thấy dev đang lo thật. Nếu bạn ship artifact và từng thấy ai đó hỏi agent “code này làm gì” thay vì đọc, thử npx bla-agents harden . xem nó đẩy được budget của analyzer tới đâu. Repo ở đây: qybaihe/bla.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 30/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.