Specializzazioni

Categorie

Le categorie di specializzazioni che un progetto Lagune può usare, da OWASP all'hardening per linguaggio di JavaScript, Python, Go e Rust, e come modificarle.

Lagune raggruppa le sue specializzazioni integrate in 13 categorie. Le categorie usate da un progetto decidono quali specializzazioni integrate entrano nel suo catalogo, e si dividono in due: ciò che fa il sistema e ciò in cui è scritto.

Finché non è registrata alcuna categoria, un progetto usa solo owasp. /lagune-charter registra ogni categoria che la sua lettura del progetto giustifica, e tu puoi modificarle in qualsiasi momento.

Ciò che fa il sistema​

CategoriaChiaveCosa mette in sicurezza
OWASPowaspI rischi di sicurezza applicativa che OWASP monitora: injection, controllo degli accessi inefficace, falle di autenticazione e di crittografia
InfrastrutturainfraLa configurazione di container, workload e serverless: Dockerfile, Compose, sicurezza dei Pod, IAM e trigger FaaS
IA / LLMaiLe integrazioni di IA e LLM, contro la prompt injection e i collegamenti non sicuri con strumenti, agenti, retrieval e MCP
LovablelovableLe app Supabase generate dall'IA (Lovable e simili): lacune nelle RLS, chiavi service_role esposte e impostazioni predefinite non sicure

Ciò in cui è scritto​

CategoriaChiaveCosa mette in sicurezza
JavaScriptjavascriptRCE tramite eval e child_process, path traversal e prototype pollution, in tutti i suoi runtime
PythonpythonRCE per deserializzazione con pickle e YAML, attraversamento tramite str.format e class pollution
RustrustAPI unsafe non corrette, uso improprio di transmute, integer overflow e comportamento indefinito al confine FFI
C / C++c-cppBug di format string, buffer overflow e scritture fuori dai limiti che permettono l'esecuzione di codice
PHPphpAggiramento dell'autenticazione per type juggling, catene di gadget di object injection e configurazioni predefinite non sicure
GogoBug di interfacce con nil tipizzato, data race tra goroutine e concorrenza non sicura nei percorsi di sicurezza
JavajavaCatene di gadget di deserializzazione con ObjectInputStream che culminano nell'esecuzione di codice remoto
RubyrubyCatene di gadget di deserializzazione con Marshal.load e YAML che portano all'esecuzione di codice remoto
.NET / C#dotnetRCE per deserializzazione con BinaryFormatter e gli aggiramenti degli encoder che portano a XSS
suggerimento

Lagune è indipendente dal linguaggio: l'intero flusso legge qualunque linguaggio usi il tuo progetto, e queste categorie aggiungono solo profondità sulle insidie tipiche di un linguaggio.

Aggiungi e rimuovi quando vuoi​

Una categoria è un punto di partenza, non un impegno. Usa ciò che si adatta al progetto adesso e cambialo in qualsiasi momento per chiave, con write add e write remove. --categories senza valore apre in un terminale un selettore interattivo (spazio per selezionare, invio per confermare, vuoto per saltare). Fuori da un terminale, passa le categorie dopo l'opzione.

npx lagune write add --categories # interactive
npx lagune write add --categories owasp
npx lagune write add --categories owasp rust

Il primo write add o write remove parte da owasp, quindi rimuovere tutte le categorie lascia un elenco vuoto, mai quello predefinito. Ogni modifica finisce in .lagune/configs.json, così tutto il team lavora con lo stesso insieme.

Guarda cosa usa un progetto​

read list --categories mostra ogni categoria e se il progetto la usa:

npx lagune read list --categories
# Categories
# • owasp [used] Harden against the application security risks OWASP tracks
# • javascript [available] Harden JavaScript and its runtimes
# • php [available] Harden PHP against type-juggling auth bypass
# • go [available] Harden Go against typed-nil interface bugs
# ...
#
# No category is recorded yet, so this project uses the default: owasp.

Consulta il Catalogo per sapere quali specializzazioni porta ogni categoria. Le tue specializzazioni, scritte con /lagune-specialize, entrano nel catalogo qualunque siano le categorie.

Domande frequenti

Passa la chiave della categoria a --categories, per esempio npx lagune write add --categories javascript. Anche il charter registra le categorie che la sua lettura del progetto giustifica, finché non ne è registrata nessuna.

Sì. Elencale sulla stessa riga, una dopo l'altra.

Inizia con owasp, quella predefinita, poi aggiungi quella del tuo linguaggio o del tuo stack. Le specializzazioni si caricano solo su richiesta, quindi una categoria non costa nulla finché una fase non ha bisogno di una delle sue specializzazioni.