⚖️ Comprove que cada correção aplicada se sustenta, lendo o código e confrontando-o com o que o harden registrou, e encerre as que passarem.
Como usar
- Verifique tudo
- Aponte caminhos
- Por prioridade
/lagune-verify
/lagune-verify src/routes/upload.ts
/lagune-verify só as de prioridade crítica e alta
Como funciona
Ele lê o código em cada ponto que o harden registrou e confirma que ele realmente corresponde ao que foi afirmado. A prova é esse confronto, o código contra o registro. Cada controle recebe um destes três vereditos:
| Veredito | Significado |
|---|---|
| ✅ Risk closed | O código faz exatamente o que o registro afirma. |
| ❌ Risk not closed | O controle continua em aberto. O verify manda você de volta ao harden. |
| ❓ Cannot tell from the code | A evidência não é visível apenas pelo código. |
Um risco comprovadamente eliminado é então encerrado e sai da cadeia, com a sua confirmação. Por exemplo:
- Upload de arquivos (Veredito: ✅ Risk closed)
- Como foi comprovado: leu o handler de upload e viu que ele detecta o tipo real do arquivo pelo conteúdo, impõe um limite de tamanho e recusa todo o resto, exatamente como o registro afirma.
- Evidência: a função
handleUpload, que detecta o tipo real do arquivo pelo conteúdo.
Se o risco não foi eliminado, o verify diz isso com clareza e manda você de volta ao /lagune-harden, já que a correção continua em aberto.
- Ele se apoia inteiramente no registro do hardening.
- Ele só lê o seu código para julgá-lo e nunca afrouxa um controle nem reescreve o código para fazer um veredito passar.
- Rodar de novo reconcilia os vereditos: os desatualizados saem, e um risco que deixou de estar eliminado volta a ser sinalizado.
- Quando um risco é comprovadamente eliminado, ele pergunta uma vez e então remove esse achado de toda a cadeia (detect, plan, harden e rastreamento).
- Ele não grava nenhum relatório próprio: cada veredito fica no bloco do controle correspondente em
.lagune/memory/harden.md, onde o harden o lê na próxima execução.
O verify se apoia no /lagune-harden.
O ciclo se fecha
Quando tudo o que está no escopo é encerrado, o ciclo entra em repouso. Ele só reabre quando o código muda. A segurança pode ser concluída, então o fluxo tem um estado final, e não um loop infinito.
Perguntas frequentes
O /lagune-verify lê o código e o confronta com o que o harden registrou, devolvendo um destes três vereditos: Risk closed (risco eliminado), Risk not closed (risco não eliminado) ou Cannot tell from the code (não dá para saber pelo código).
Quando o verify comprova que um risco foi eliminado, o achado é encerrado: sai de toda a cadeia, com a sua confirmação, e deixa de ser reprocessado.
Sim. O SDH pode ser concluído: um achado comprovadamente eliminado é encerrado, então o fluxo tem um estado final, e não um loop infinito.
