¿Qué es BLA (Blind LLM Agents)?
BLA protege el software que distribuyes frente a la ingeniería inversa automatizada hecha por agentes de IA, con REA (Reverse Engineer Anything) como objetivo declarado. Funciona en tres capas: planta señuelos con formato válido y credenciales canario que parecen pruebas reales, infla el artefacto por encima de los límites de recursos que documenta REA (tamaños de cabecera, profundidad de anidamiento, número de exportaciones) para que el analizador falle o se trunque, y añade una protección en tiempo de ejecución que devuelve datos sintéticos cuando detecta un inspector como Chrome DevTools Protocol o Frida. La idea es que tus usuarios vean el mismo comportamiento mientras un agente quema tiempo y tokens.
Cubre bundles de JavaScript y TypeScript, archivos .asar y fuses de Electron, WebAssembly, Python y .pyc, SQLite, archivos de modelo Safetensors y GGUF, Go, Erlang BEAM, bytecode EVM, PCAP y varios formatos que define como diseñados para ello pero sin probar. Un solo comando, bla harden, encuentra las salidas de compilación y ejecuta auditoría, protección y verificación.
Tiene licencia MIT, está escrito en TypeScript, se publica en npm como bla-agents (3.1.0 el 7 de noviembre de 2026) y se instala como servidor MCP y skill para Claude Code, Codex, Cursor, Gemini CLI y otros. El repositorio se creó el 25 de octubre de 2026; la web es bla.tools.
¿Merece la pena BLA (Blind LLM Agents)?
BLA se entiende mejor como el contrapeso de un programa concreto. Sus mejores resultados vienen de llevar los archivos más allá de límites que documenta el propio REA, y el README es cuidadoso con hasta dónde llegan esos resultados. Con 2.676 estrellas en menos de dos semanas, ha tocado una fibra sensible entre desarrolladores preocupados por agentes capaces de leer el código que distribuyen.
La parte medida es estrecha y real. Al ejecutar el REA real contra muestras protegidas en Node v24.22.1, el proyecto registra 12 formatos en los que REA devolvió un error de capacidad o de presupuesto, con los mensajes de error reales: una cabecera .asar de Electron llevada más allá de su tope de 16 MiB, metadatos de Safetensors y GGUF por encima de 32 niveles de anidamiento, información de compilación de Go por encima de 1 MiB. El README aclara que "verificado empíricamente" solo significa que la ruta del analizador de REA falló en ese entorno, y enumera lo que no se probó: descompilación con Ghidra, sesiones en vivo con Frida, LLDB y Rizin, JADX sobre APK completos de Android, firmware y objetos de GPU. El soporte de Python y .pyc figura como diseñado para ello, no verificado.
El benchmark principal es otro tipo de cifra. La demostración con 14 objetivos da un total de unas 639,5 veces más tokens y 304,4 veces más coste para un agente atacante, pero el README etiqueta las columnas de tokens y dólares como estimaciones internas derivadas del propio catálogo de límites de REA que mantiene BLA, no como mediciones. El resultado de 14/14 en tiempo de ejecución comprueba que entradas y salidas coinciden con la build sin proteger. La penalización de velocidad no está publicada más allá de la afirmación de que las protecciones son comprobaciones de tiempo constante.
La pega: tamaño y duración. El agotamiento funciona haciendo los archivos mucho más grandes; en las propias muestras del proyecto, un .asar de 607 bytes pasó a 16,9 MiB y un módulo WebAssembly de 54 bytes a 6,56 MiB, y eso lo envías a cada usuario. Como apunta a los límites actuales de REA, una versión futura de REA que los amplíe o los gestione puede anular el efecto. La protección en tiempo de ejecución también devuelve datos sintéticos cada vez que se conecta un inspector, incluido el de tu propio equipo. Y el descargo de responsabilidad dice claramente que ningún esquema del lado del cliente puede garantizar el secreto frente a un analista humano dedicado con tiempo y un depurador; recomienda guardar los secretos de verdad en un servidor. Además, ha habido 27 versiones etiquetadas y dos saltos de versión mayor en los 13 días desde que se creó el repositorio.
Nuestra opinión: la ofuscación encarece mirar, no cierra la puerta. BLA es una capa adicional razonable para una aplicación Electron o WebAssembly cuyos autores temen sobre todo el análisis automatizado y barato con agentes, y no sustituye a mantener las comprobaciones de licencia y las claves fuera del cliente.
Dónde se gana su sitio
Un desarrollador independiente que vende una aplicación de notas de pago hecha con Electron
Poner difícil que alguien apunte un agente de IA a la aplicación y copie una función distintiva
Ejecuta npx bla-agents harden . sobre el .asar compilado y revisa el informe de verificación antes de publicar. El paquete es gratis; cuenta con un .asar mucho más grande y deja la comprobación de licencia en tu servidor.
Un equipo pequeño que distribuye un núcleo de procesamiento de imágenes en WebAssembly
Frenar la recuperación automatizada de la interfaz exportada
BLA añade exportaciones señuelo para que la decodificación de interfaz de REA basada en Wabt supere su presupuesto y devuelva un resultado parcial; la muestra del proyecto pasó de 54 B a 6,56 MiB, así que mide el tiempo de carga en tu propia aplicación.
Una ingeniera de seguridad en una empresa SaaS mediana
Evaluar cuánto expone nuestro cliente de escritorio a la ingeniería inversa con agentes
Ejecuta bla audit para obtener el informe de exposición de 16 vectores y luego npm run redteam:rea contra una copia protegida para ver qué rutas de REA fallan de verdad. Toma las cifras de coste en tokens como estimaciones.
Antes de decidirte
- Puesta en marcha
- npx bla-agents setup registra el servidor MCP y la skill en tu agente; npx bla-agents harden . ejecuta auditoría, protección y verificación. Necesita Node.js ^22.23.4 o 24+.
- Integraciones
- Claude Code, Cursor, Codex, Gemini CLI, Windsurf, Google Antigravity, OpenCode, VS Code y GitHub Copilot CLI; Wabt y tshark opcionales para las pruebas de red team.
- Datos y privacidad
- Se ejecuta en local sobre tus propias salidas de compilación; escribe una semilla aleatoria por proyecto en .blarc o bla.config.json; el .bla-manifest.json opcional va sin firmar salvo que añadas una clave ed25519.
- Coste a escala
- Gratis; el coste real son descargas más grandes y el tiempo de verificar cada versión, porque el agotamiento añade megabytes a cada artefacto protegido.
- Límites
- Verificado solo contra las rutas del analizador del propio REA; Ghidra, Frida, JADX, firmware y objetos de GPU sin probar; no admite volver a firmar APK; la penalización de velocidad no está publicada.
Lo bueno
- Resultados medidos contra el REA real, con mensajes de error
- El README separa lo verificado, lo diseñado y lo estimado
- Protección con un solo comando y comprobación de equivalencia en ejecución
- El texto arriesgado de cebo para LLM viene desactivado por defecto
- Configuración como MCP y skill para la mayoría de los agentes de programación
Lo malo
- Los multiplicadores de tokens y coste son estimaciones internas
- Infla en megabytes los artefactos que distribuyes
- Ajustado a los límites de REA, que pueden cambiar en cualquier versión de REA
- No detiene a un analista humano decidido
- Muy nuevo, con versiones mayores que cambian deprisa
Ideal para
Desarrolladores que distribuyen productos en Electron, JavaScript o WebAssembly y quieren encarecer la ingeniería inversa automatizada con agentes, aceptando builds más grandes.
BLA (Blind LLM Agents): preguntas frecuentes
- ¿Merece la pena BLA (Blind LLM Agents)?
- BLA es una respuesta ingeniosa y poco habitualmente sincera a una herramienta concreta, REA, y tus builds de lanzamiento lo pagan en megabytes mientras un analista humano decidido todavía puede pasar. Le damos un 3.3 sobre 5.
- ¿Cuánto cuesta BLA (Blind LLM Agents)?
- Gratis bajo la licencia MIT. No hay nivel de pago; Wabt y tshark, opcionales, solo hacen falta para repetir las pruebas de red team.
- ¿Qué inconvenientes tiene BLA (Blind LLM Agents)?
- Los multiplicadores de tokens y coste son estimaciones internas; infla en megabytes los artefactos que distribuyes; ajustado a los límites de REA, que pueden cambiar en cualquier versión de REA; no detiene a un analista humano decidido; muy nuevo, con versiones mayores que cambian deprisa.
- ¿Para quién es BLA (Blind LLM Agents)?
- Desarrolladores que distribuyen productos en Electron, JavaScript o WebAssembly y quieren encarecer la ingeniería inversa automatizada con agentes, aceptando builds más grandes.
- ¿Cuánto cuesta BLA (Blind LLM Agents) para un equipo o en producción?
- Gratis; el coste real son descargas más grandes y el tiempo de verificar cada versión, porque el agotamiento añade megabytes a cada artefacto protegido.
- ¿Es BLA (Blind LLM Agents) seguro para los datos de la empresa?
- Se ejecuta en local sobre tus propias salidas de compilación; escribe una semilla aleatoria por proyecto en .blarc o bla.config.json; el .bla-manifest.json opcional va sin firmar salvo que añadas una clave ed25519.
Respuestas comprobadas el 7 nov 2026.