🧠 Las especializaciones de Lagune son módulos acotados de conocimiento de seguridad, independientes del lenguaje, que se cargan solo bajo demanda, nunca por defecto. No son comandos. El catálogo de tu proyecto es el conjunto que usa: las especializaciones integradas de sus categorías más las suyas propias. Las fases detect y verify recurren a ellas mientras se ejecutan, y tú puedes cargar una directamente cuando quieras.
- Resumen
- Cómo funciona
Control de acceso
Garantiza que cada persona solo vea y haga lo que tiene permitido, para que nadie pueda llegar a los datos de otro usuario ni a acciones reservadas a los administradores con solo cambiar un enlace o un ID.
npx lagune read catalog access-controlEndpoint de API
Revisa las puertas que tu aplicación abre al exterior, para que las peticiones de desconocidos no puedan sacar datos privados ni lanzar acciones que no les corresponden.
npx lagune read catalog api-endpointNavegador
Protege lo que se ejecuta en el navegador de tus visitantes, para que un atacante no pueda inyectar código que robe sus datos de inicio de sesión o secuestre lo que tus usuarios ven y pulsan.
npx lagune read catalog browserC / C++
Detecta errores de memoria de bajo nivel que permiten a los atacantes tumbar el programa o ejecutar su propio código en tu servidor.
npx lagune read catalog c-cppContenedor
Revisa cómo se empaqueta y se despliega tu aplicación, para que una intrusión quede contenida en lugar de entregarle a un atacante la máquina entera.
npx lagune read catalog containerEndpoint de credenciales
Protege los flujos de inicio de sesión, registro y restablecimiento de contraseña, para que los atacantes no puedan adivinar contraseñas, apoderarse de cuentas ni restablecer la contraseña de otra persona.
npx lagune read catalog credential-endpointCriptografía
Garantiza que los datos sensibles se cifren correctamente, para que las contraseñas, los tokens y la información personal no se puedan leer aunque se filtren.
npx lagune read catalog cryptoCSV
Refuerza la seguridad de las hojas de cálculo exportadas, para que sea mucho menos probable que, al abrir un archivo descargado, se ejecute en silencio un comando dañino en el ordenador de alguien.
npx lagune read catalog csv.NET
Cubre las trampas de seguridad específicas de las aplicaciones .NET que pueden permitir a un atacante ejecutar su propio código en tu servidor.
npx lagune read catalog dotnetFederación
Refuerza la seguridad del "iniciar sesión con Google, Microsoft, etc.", para que a un atacante le cueste mucho más suplantar a un usuario o colarse en una cuenta que no es suya.
npx lagune read catalog federationGo
Cubre las trampas de seguridad específicas de las aplicaciones Go, sobre todo los fallos sutiles que aparecen con tráfico real.
npx lagune read catalog goPetición HTTP
Inspecciona los datos que llegan con cada petición web, para que una entrada oculta o maliciosa no pueda forzar a tu aplicación a hacer lo que no debe.
npx lagune read catalog http-requestInfraestructura
Revisa los archivos que construyen y despliegan tu aplicación, como los Dockerfiles, Terraform y los flujos de trabajo de CI, para que un solo ajuste demasiado laxo no deje expuesto todo el entorno.
npx lagune read catalog infraIntérprete
Impide que la entrada del usuario se ejecute como si fueran comandos, para que un campo de formulario o una subida de archivos no pueda hacer que tu servidor obedezca las órdenes de un atacante.
npx lagune read catalog interpreterJava
Cubre las trampas de seguridad específicas de las aplicaciones Java que pueden permitir a un atacante ejecutar su propio código en tu servidor.
npx lagune read catalog javaJavaScript
Cubre las trampas de seguridad específicas de las aplicaciones JavaScript y Node, desde ejecutar código no fiable hasta leer archivos que no debería.
npx lagune read catalog javascriptLLM
Protege las funcionalidades basadas en modelos de IA, para que un mensaje redactado con astucia no engañe a la IA y la lleve a filtrar datos o a hacer un mal uso de las herramientas conectadas.
npx lagune read catalog llmRed
Revisa cómo se comunica tu aplicación con otros servicios, para que nadie pueda engañarla y hacer que pida o dé por bueno algo que controla un atacante.
npx lagune read catalog networkRuta
Impide que los atacantes se paseen por los archivos de tu servidor, para que no puedan leer archivos privados ni sobrescribir otros importantes manipulando un nombre de archivo.
npx lagune read catalog pathPagos
Refuerza la seguridad del proceso de compra y la facturación, para que sea mucho más difícil manipular los precios, eludir el pago o repetir un cobro.
npx lagune read catalog paymentPHP
Cubre las trampas de seguridad específicas de las aplicaciones PHP que pueden permitir a un atacante ejecutar su propio código o saltarse un inicio de sesión.
npx lagune read catalog phpPython
Cubre las trampas de seguridad específicas de las aplicaciones Python, sobre todo la carga de datos no fiables, que puede ejecutar el código de un atacante.
npx lagune read catalog pythonExpresiones regulares
Refuerza la seguridad de las comprobaciones de texto para que sigan siendo eficientes, de modo que sea mucho más difícil que una entrada maliciosa cuelgue tu aplicación al sobrecargarla.
npx lagune read catalog regexRuby
Cubre las trampas de seguridad específicas de las aplicaciones Ruby, sobre todo la carga de datos no fiables, que puede ejecutar el código de un atacante.
npx lagune read catalog rubyRust
Cubre las trampas de seguridad específicas de las aplicaciones Rust, sobre todo el código unsafe, que puede corromper la memoria o tumbar el programa.
npx lagune read catalog rustSecretos
Mantiene las contraseñas, las claves de API y los tokens fuera de tu código fuente, para que un repositorio compartido o una compilación filtrada nunca se los entregue a un atacante.
npx lagune read catalog secretsServerless
Revisa las funciones en la nube y sus permisos, para que nadie pueda abusar de una sola función y llegar mucho más allá de lo que le corresponde.
npx lagune read catalog serverlessSQL
Protege cómo se comunica tu aplicación con su base de datos, para que una entrada manipulada no pueda leer, cambiar ni borrar datos que nunca debió tocar.
npx lagune read catalog sqlSupabase
Blinda tu backend de Supabase, para que las reglas de tu base de datos se cumplan de verdad y las claves secretas no acaben expuestas al público.
npx lagune read catalog supabaseTransporte
Refuerza la seguridad del transporte para que los datos viajen por una conexión cifrada, de modo que sea mucho más difícil leerlos o alterarlos por el camino entre tus usuarios y tu aplicación.
npx lagune read catalog transportSubida de archivos
Refuerza la seguridad de la subida de archivos, de modo que a cualquiera le resulte mucho más difícil subir un archivo camuflado que ejecute código, sobrescriba datos o llene tu almacenamiento.
npx lagune read catalog uploadXML
Refuerza la seguridad de la forma en que tu aplicación lee datos XML, para que un archivo manipulado tenga muchas menos posibilidades de filtrar archivos del servidor o dejar tu aplicación fuera de servicio.
npx lagune read catalog xmlÚsala por tu cuenta
Para usar una especialización directamente, pide a tu agente que la cargue con read catalog <name> y escribe la tarea en el mismo prompt. El conocimiento actúa entonces sobre lo que has pedido. Funciona en cualquier prompt, incluso en uno que no tenga nada que ver con el flujo de Lagune.
Por ejemplo, un prompt directo y libre para generar una colección segura de RegExp con Python:
Carga la especialización regex con `npx lagune read catalog regex` y después crea en @src/utils/regex.py una colección de expresiones regulares para validar correos electrónicos y nombres de usuario.
Esto usa un hook determinista para comprobar cada RegExp frente a ReDoS, se queda con las seguras y genera algo como esto:
import re
EMAIL = re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
USERNAME = re.compile(r"^[a-zA-Z0-9_]{3,20}$")
def is_email(value: str) -> bool:
return EMAIL.match(value) is not None
def is_username(value: str) -> bool:
return USERNAME.match(value) is not None
Comprueba tú mismo un patrón en devina.io/redos-checker.
Las especializaciones integradas
Las especializaciones integradas se agrupan en categorías. Este es el conjunto que incluye Lagune:
| Especialización | Categoría | Enfoque |
|---|---|---|
regex | owasp | ReDoS: patrones que se disparan con entradas manipuladas. |
network | owasp | SSRF y redirecciones: destinos de peticiones o redirecciones que aporta el usuario. |
interpreter | owasp, lovable | Inyección de código: eval, inclusión dinámica, despacho por nombre. |
sql | owasp | Bases de datos relacionales: inyección, llamadas en crudo al ORM, privilegios, alcance del motor. |
path | owasp | Rutas del sistema de archivos: recorrido de directorios, byte nulo, flujos de NTFS, plantado de archivos. |
upload | owasp | Subida de archivos: tipo/firma, contenido malicioso, almacenamiento, límites. |
access-control | owasp, lovable | Autenticación, autorización y sesión: IDOR, asignación masiva, tenants, sesiones. |
credential-endpoint | owasp, lovable | Adivinación de credenciales y bots: fuerza bruta, password spraying, credential stuffing, limitación de intentos. |
federation | owasp | Confianza en tokens: OAuth/OIDC, SAML, validación de JWT, inicio de sesión con QR. |
http-request | owasp | Origen de las peticiones: CSRF, CORS mal configurado, IP de cliente suplantada. |
transport | owasp | Seguridad del canal: configuración de TLS, HTTPS/texto en claro, HSTS, pinning. |
crypto | owasp, lovable | Criptografía en reposo: algoritmos débiles o propios, CSPRNG, gestión de claves. |
secrets | owasp, lovable | Credenciales incrustadas: claves, tokens y contraseñas escritos tal cual en el código fuente. |
api-endpoint | owasp | Superficies no REST: GraphQL, gRPC, autorización en WebSocket, DoS, esquema. |
payment | owasp, lovable | Flujo de pago: verificar la pasarela en el servidor, callbacks firmados, idempotencia. |
xml | owasp | Procesamiento de XML: XXE, entidades externas, expansión billion laughs. |
csv | owasp | Inyección de fórmulas: celdas de hoja de cálculo que empiezan por =/+/-/@. |
container | owasp, infra | Configuración de contenedores: root, capabilities, montaje del socket, bastionado de la imagen. |
infra | infra | Infraestructura como código: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | Funciones FaaS: IAM de mínimo privilegio, entrada de eventos, contexto, secretos. |
llm | ai, lovable | Riesgos de IA y LLM: inyección de prompts, agencia, RAG, MCP, salida. |
supabase | lovable | Backend de Supabase: RLS desactivado por defecto, políticas mal generadas por IA, modelo de claves. |
browser | javascript, lovable | Riesgos en el cliente: XSS, CSP, framing, almacenamiento, etc. |
javascript | javascript | Riesgos del lenguaje: RCE, contaminación de prototipos, etc. |
python | python | Riesgos del lenguaje: RCE con pickle, contaminación de clases, -O, etc. |
rust | rust | Solidez de unsafe: UB alcanzable desde código seguro, transmute, desbordamiento. |
java | java | Deserialización y código móvil: cadenas de readObject, secuestro de objetos. |
ruby | ruby | Deserialización y open: reconstrucción de objetos con Marshal/YAML, la peculiaridad de las tuberías. |
php | php | Type juggling y unserialize: hashes mágicos, cadenas POP. |
go | go | Typed nil y carreras de datos: nil != nil, goroutines con memoria compartida. |
c-cpp | c-cpp | Cadenas de formato: printf(user_input), escritura arbitraria (write-what-where) con %n. |
dotnet | dotnet | Riesgos de la plataforma: RCE con BinaryFormatter, @Html.Raw, huecos en los enum. |
La mayor parte del conocimiento integrado procede de OWASP. Consulta Fuentes de OWASP para ver la correspondencia completa entre cada especialización y sus páginas canónicas de ataques y de Cheat Sheets de OWASP. Unos pocos módulos específicos de un stack se basan, en cambio, en la guía del propio fabricante: supabase, por ejemplo, procede de la documentación de Supabase y de CVE-2025-48757.
Tus propias especializaciones
Las integradas crecen añadiendo un archivo de conocimiento más una fila en el índice, nunca un comando nuevo. Las tuyas se añaden igual, con /lagune-specialize: indícale un artículo o un tema y condensará una nueva especialización en tu proyecto, con el archivo en .lagune/catalog/ y su entrada en .lagune/configs.json. Las tuyas siempre están en el catálogo, sean cuales sean sus categorías, y una tuya prevalece sobre una integrada con el mismo nombre.
Cuando la fase detect o verify se encuentra con un contexto que cubre una especialización, la carga ella misma con read catalog <name>. Ocurre automáticamente, como parte de la fase. No tienes que hacer nada a mano para que funcione.
Descubre qué hay disponible
Para listar el catálogo de tu proyecto desde el terminal, con una especialización por línea y sus etiquetas:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
Una especialización [required] se aplica siempre, sea cual sea el trabajo. Qué integradas aparecen en la lista depende de las categorías de tu proyecto.
Se incorpora el conocimiento pertinente para lo que el proyecto es en realidad, en lugar de ejecutar todas las comprobaciones por defecto.
Preguntas frecuentes
Un módulo acotado de conocimiento de seguridad, independiente del lenguaje, que se carga solo bajo demanda, nunca por defecto. No es un comando como las skills del agente.
Las especializaciones que usa el proyecto: las integradas de sus categorías más las suyas propias. Mientras no haya ninguna categoría registrada, usa solo OWASP.
No. Solo se cargan bajo demanda, según lo que el proyecto es en realidad.
En el mismo prompt de la tarea, pide a tu agente que ejecute npx lagune read catalog <name>.
