🧠 As especializações do Lagune são módulos de conhecimento de segurança focados e independentes de linguagem, que carregam apenas sob demanda, nunca por padrão. Elas não são comandos. O catálogo do seu projeto é o conjunto que ele usa: as especializações nativas das suas categorias, mais as próprias. As fases detect e verify recorrem a elas enquanto rodam, e você pode carregar uma diretamente a qualquer momento.
- Visão geral
- Como funciona
Controle de acesso
Garante que cada pessoa só veja e faça o que tem permissão, para que ninguém alcance os dados de outro usuário ou ações exclusivas de administradores só trocando um link ou um ID.
npx lagune read catalog access-controlEndpoint de API
Verifica as portas que o seu app expõe para o mundo, para que requisições de estranhos não consigam extrair dados privados nem disparar ações que não deveriam.
npx lagune read catalog api-endpointNavegador
Protege o que roda no navegador dos seus visitantes, para que um atacante não consiga injetar código que roube logins ou sequestre o que seus usuários veem e clicam.
npx lagune read catalog browserC / C++
Detecta erros de memória de baixo nível que permitem a atacantes derrubar o programa ou executar o próprio código no seu servidor.
npx lagune read catalog c-cppContêiner
Revisa como o seu app é empacotado e implantado, para que uma invasão fique contida em vez de entregar a máquina inteira a um atacante.
npx lagune read catalog containerEndpoint de credenciais
Protege os fluxos de login, cadastro e redefinição de senha, para que atacantes não consigam adivinhar senhas, tomar contas ou redefinir a senha de outra pessoa.
npx lagune read catalog credential-endpointCriptografia
Garante que dados sensíveis sejam embaralhados do jeito certo, para que senhas, tokens e informações pessoais não possam ser lidos mesmo se vazarem.
npx lagune read catalog cryptoCSV
Protege planilhas exportadas, para que abrir um arquivo baixado tenha muito menos chance de executar, sem ninguém perceber, um comando nocivo no computador de alguém.
npx lagune read catalog csv.NET
Cobre armadilhas de segurança específicas de apps .NET que podem permitir que um atacante execute o próprio código no seu servidor.
npx lagune read catalog dotnetFederação
Protege o "entrar com Google, Microsoft etc.", para que um atacante tenha muito mais dificuldade em se passar por um usuário ou entrar em uma conta que não é dele.
npx lagune read catalog federationGo
Cobre armadilhas de segurança específicas de apps Go, principalmente bugs sutis que aparecem com tráfego real.
npx lagune read catalog goRequisição HTTP
Inspeciona os dados que chegam com cada requisição web, para que uma entrada oculta ou maliciosa não consiga levar o seu app a fazer a coisa errada.
npx lagune read catalog http-requestInfraestrutura
Revisa os arquivos que constroem e implantam o seu app, como Dockerfiles, Terraform e workflows de CI, para que uma única configuração frouxa não exponha o ambiente inteiro.
npx lagune read catalog infraInterpretador
Impede que a entrada do usuário seja executada como comando, para que um campo de formulário ou um upload não faça o seu servidor executar as instruções de um atacante.
npx lagune read catalog interpreterJava
Cobre armadilhas de segurança específicas de apps Java que podem permitir que um atacante execute o próprio código no seu servidor.
npx lagune read catalog javaJavaScript
Cobre armadilhas de segurança específicas de apps JavaScript e Node, desde executar código não confiável até ler arquivos que não deveria.
npx lagune read catalog javascriptLLM
Protege funcionalidades construídas sobre modelos de IA, para que uma mensagem habilmente escrita não engane a IA e a leve a vazar dados ou a usar mal as ferramentas conectadas.
npx lagune read catalog llmRede
Verifica como o seu app conversa com outros serviços, para que ele não seja enganado a buscar ou a confiar em algo que um atacante controla.
npx lagune read catalog networkCaminho
Impede que atacantes passeiem pelos arquivos do seu servidor, para que não consigam ler arquivos privados nem sobrescrever arquivos importantes manipulando um nome de arquivo.
npx lagune read catalog pathPagamento
Protege o checkout e a cobrança, tornando muito mais difícil adulterar preços, escapar do pagamento ou repetir uma cobrança.
npx lagune read catalog paymentPHP
Cobre armadilhas de segurança específicas de apps PHP que podem permitir que um atacante execute o próprio código ou contorne um login.
npx lagune read catalog phpPython
Cobre armadilhas de segurança específicas de apps Python, principalmente o carregamento de dados não confiáveis que pode executar o código de um atacante.
npx lagune read catalog pythonRegex
Protege as validações de texto para que continuem eficientes, tornando muito mais difícil que uma entrada maliciosa trave o seu app por sobrecarga.
npx lagune read catalog regexRuby
Cobre armadilhas de segurança específicas de apps Ruby, principalmente o carregamento de dados não confiáveis que pode executar o código de um atacante.
npx lagune read catalog rubyRust
Cobre armadilhas de segurança específicas de apps Rust, principalmente código unsafe que pode corromper a memória ou derrubar o programa.
npx lagune read catalog rustSegredos
Mantém senhas, chaves de API e tokens fora do seu código-fonte, para que um repositório compartilhado ou um build vazado nunca os entregue a um atacante.
npx lagune read catalog secretsServerless
Revisa funções na nuvem e as permissões delas, para que uma única função não possa ser explorada para alcançar muito mais do que deveria.
npx lagune read catalog serverlessSQL
Protege a forma como o seu app conversa com o banco de dados, para que uma entrada manipulada não consiga ler, alterar ou apagar dados que nunca deveria tocar.
npx lagune read catalog sqlSupabase
Tranca o seu backend Supabase, para que as regras do banco de dados realmente se sustentem e as chaves secretas não acabem expostas ao público.
npx lagune read catalog supabaseTransporte
Protege o transporte para que os dados trafeguem por uma conexão criptografada, tornando muito mais difícil lê-los ou alterá-los no caminho entre os seus usuários e o seu app.
npx lagune read catalog transportUpload
Protege o upload de arquivos, tornando muito mais difícil que alguém envie um arquivo disfarçado que execute código, sobrescreva dados ou lote o seu armazenamento.
npx lagune read catalog uploadXML
Protege a forma como o seu app lê dados XML, para que um arquivo manipulado tenha muito menos chance de vazar arquivos do servidor ou derrubar o seu app.
npx lagune read catalog xmlUse você mesmo
Para usar uma especialização diretamente, peça ao seu agente para carregá-la com read catalog <name> e escreva a tarefa no mesmo prompt. O conhecimento então atua sobre o que você pediu. Isso funciona em qualquer prompt, mesmo em um que não tenha relação com o fluxo do Lagune.
Por exemplo, um prompt direto e livre para gerar uma coleção segura de RegExp em Python:
Carregue a especialização regex com `npx lagune read catalog regex` e depois crie uma coleção de expressões regulares em @src/utils/regex.py para validar e-mails e nomes de usuário.
Isso usa um hook determinístico para testar cada RegExp contra ReDoS, mantém as seguras e produz algo como:
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
Teste um padrão você mesmo em devina.io/redos-checker.
As especializações nativas
As especializações nativas são agrupadas em categorias. Este é o conjunto que vem com o Lagune:
| Especialização | Categoria | Foco |
|---|---|---|
regex | owasp | ReDoS: padrões que explodem com uma entrada manipulada. |
network | owasp | SSRF e redirecionamentos: destinos de requisição ou de redirecionamento fornecidos pelo usuário. |
interpreter | owasp, lovable | Injeção de código: eval, include dinâmico, despacho por nome. |
sql | owasp | Bancos de dados relacionais: injection, chamadas brutas ao ORM, privilégios, alcance do engine. |
path | owasp | Caminhos no sistema de arquivos: traversal, byte nulo, streams NTFS, plantio de arquivos. |
upload | owasp | Upload de arquivos: tipo e assinatura, conteúdo malicioso, armazenamento, limites. |
access-control | owasp, lovable | Autenticação, autorização e sessão: IDOR, mass assignment, tenants, sessões. |
credential-endpoint | owasp, lovable | Adivinhação e bots: força bruta, spraying, stuffing, throttling. |
federation | owasp | Confiança em tokens: OAuth e OIDC, SAML, validação de JWT, login por QR code. |
http-request | owasp | Origem da requisição: CSRF, CORS mal configurado, IP de cliente falsificado. |
transport | owasp | Segurança do canal: configuração de TLS, HTTPS e texto puro, HSTS, pinning. |
crypto | owasp, lovable | Criptografia em repouso: algoritmos fracos ou caseiros, CSPRNG, gestão de chaves. |
secrets | owasp, lovable | Credenciais hardcoded: chaves, tokens e senhas escritos no código-fonte. |
api-endpoint | owasp | Superfícies além do REST: GraphQL, gRPC, autorização em WebSocket, DoS, schema. |
payment | owasp, lovable | Fluxo de checkout: verificação do gateway no servidor, callbacks assinados, idempotência. |
xml | owasp | Parsing de XML: XXE, entidades externas, expansão billion laughs. |
csv | owasp | Formula injection: células de planilha que começam com =/+/-/@. |
container | owasp, infra | Configuração de contêineres: root, capabilities, montagem do socket, hardening da imagem. |
infra | infra | Infraestrutura como código: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | Funções FaaS: IAM de menor privilégio, entrada de eventos, contexto, segredos. |
llm | ai, lovable | Riscos de IA e LLM: prompt injection, agência, RAG, MCP, saída. |
supabase | lovable | Backend Supabase: RLS desligado por padrão, políticas mal geradas por IA, modelo de chaves. |
browser | javascript, lovable | Riscos no cliente: XSS, CSP, framing, armazenamento etc. |
javascript | javascript | Riscos da linguagem: RCE, prototype pollution etc. |
python | python | Riscos da linguagem: RCE por pickle, class pollution, -O etc. |
rust | rust | Solidez do unsafe: UB a partir de chamadores seguros, transmute, overflow. |
java | java | Desserialização e código móvel: cadeias de readObject, sequestro de objetos. |
ruby | ruby | Desserialização e open: revivência por Marshal e YAML, a peculiaridade do pipe. |
php | php | Type juggling e unserialize: magic hashes, POP chains. |
go | go | Nil tipado e data races: nil != nil, goroutines com memória compartilhada. |
c-cpp | c-cpp | Format strings: printf(user_input), write-what-where com %n. |
dotnet | dotnet | Riscos da plataforma: RCE por BinaryFormatter, @Html.Raw, brechas em enums. |
A maior parte do conhecimento nativo é destilada da OWASP. Veja as Fontes OWASP para o mapeamento completo de cada especialização às páginas canônicas de ataque e de Cheat Sheet da OWASP. Alguns módulos específicos de uma stack se baseiam nas orientações do próprio fornecedor: o supabase, por exemplo, vem da documentação do Supabase e da CVE-2025-48757.
As suas próprias especializações
As nativas crescem com a adição de um arquivo de conhecimento e de uma linha no índice, nunca de um novo comando. Você adiciona as suas do mesmo jeito, com o /lagune-specialize: aponte para um artigo ou um tema e ele destila uma nova especialização no seu projeto, com o arquivo em .lagune/catalog/ e a entrada dele em .lagune/configs.json. As suas sempre estão no catálogo, sejam quais forem as categorias dele, e uma especialização sua se sobrepõe a uma nativa de mesmo nome.
Quando a fase detect ou verify encontra um contexto que uma especialização cobre, ela mesma carrega essa especialização com read catalog <name>. Isso acontece automaticamente, como parte da fase. Você não precisa fazer nada à mão para que funcione.
Descubra o que está disponível
Para listar o catálogo do seu projeto no terminal, uma especialização por linha, com as tags dela:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
Uma especialização [required] sempre se aplica, seja qual for o trabalho. Quais nativas entram na lista depende das categorias do seu projeto.
O conhecimento relevante é trazido para o que o projeto realmente é, em vez de todas as verificações rodarem por padrão.
Perguntas frequentes
Um módulo de conhecimento de segurança focado e independente de linguagem, que carrega apenas sob demanda, nunca por padrão. Não é um comando como as skills do agente.
As especializações que o projeto usa: as nativas das categorias dele, mais as próprias. Enquanto nenhuma categoria está registrada, ele usa apenas o OWASP.
Não. Elas carregam apenas sob demanda, para o que o projeto realmente é.
No mesmo prompt da tarefa, peça ao seu agente para executar npx lagune read catalog <name>.
