Spesialiseringer

Kategorier

Spesialiseringskategoriene et Lagune-prosjekt kan bruke, fra OWASP til språkspesifikk herding for JavaScript, Python, Go og Rust, og hvordan du endrer dem.

Lagune grupperer de innebygde spesialiseringene sine i 13 kategorier. Kategoriene et prosjekt bruker, avgjør hvilke innebygde som kommer med i katalogen til prosjektet, og de deler seg i to: hva systemet gjør, og hva det er skrevet i.

Så lenge ingen kategori er registrert, bruker et prosjekt bare owasp. /lagune-charter registrerer hver kategori som analysen av prosjektet støtter, og du kan når som helst endre dem selv.

Hva systemet gjør​

KategoriNøkkelHva den herder
OWASPowaspApplikasjonssikkerhetsrisikoene OWASP følger med på: injeksjon, brutt tilgangskontroll og svikt i autentisering og kryptografi
InfrastrukturinfraKonfigurasjon av containere, arbeidslaster og serverless: Dockerfile, Compose, Pod-sikkerhet, IAM og triggere for FaaS
KI / LLMaiIntegrasjoner med KI og LLM, mot prompt injection og usikker kobling av verktøy, agenter, gjenfinning og MCP
LovablelovableKI-genererte Supabase-apper (Lovable og lignende): hull i RLS, lekkede nøkler for service_role og usikre standardinnstillinger

Hva det er skrevet i​

KategoriNøkkelHva den herder
JavaScriptjavascriptRCE via eval og child_process, path traversal og prototype pollution, på tvers av kjøremiljøene
PythonpythonRCE ved deserialisering med pickle og YAML, string traversal via str.format og class pollution
RustrustUsunne API-er med unsafe, feilbruk av transmute, heltallsoverflyt og udefinert oppførsel ved FFI-grensen
C / C++c-cppFormatstrengfeil, bufferoverflyt og skriving utenfor grensene som muliggjør kodekjøring
PHPphpOmgåelse av autentisering via type juggling, gadget-kjeder for objektinjeksjon og usikre standardkonfigurasjoner
GogoTyped nil-feil i interfaces, data races mellom goroutiner og usikker samtidighet på sikkerhetskritiske stier
JavajavaGadget-kjeder ved deserialisering med ObjectInputStream som ender i fjernkjøring av kode
RubyrubyGadget-kjeder ved deserialisering med Marshal.load og YAML som når fram til fjernkjøring av kode
.NET / C#dotnetRCE ved deserialisering med BinaryFormatter og omgåelser av encoderen som fører til XSS
tip

Lagune er språkuavhengig: Hele flyten leser prosjektet ditt, uansett hva det er skrevet i, og disse kategoriene går bare dypere inn i fallgruvene som er særegne for ett språk.

Legg til og fjern når som helst​

En kategori er et utgangspunkt, ikke en forpliktelse. Bruk det som passer prosjektet nå, og endre det når som helst via nøkkelen, med write add og write remove. --categories uten verdi åpner en interaktiv velger i en terminal (mellomrom for å slå av og på, enter for å bekrefte, tomt for å hoppe over). Utenfor en terminal oppgir du kategoriene rett etter.

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

Den første write add eller write remove tar utgangspunkt i owasp, så fjerner du alle kategorier, står du igjen med en tom liste, aldri standardverdien. Hver endring havner i .lagune/configs.json, så hele teamet jobber med det samme utvalget.

Se hva et prosjekt bruker​

read list --categories viser hver kategori og om prosjektet bruker den:

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.

I Katalog ser du hvilke spesialiseringer hver kategori inneholder. Dine egne spesialiseringer, skrevet med /lagune-specialize, kommer med i katalogen uansett kategorier.

Vanlige spørsmål

Gi nøkkelen til kategorien til --categories, for eksempel npx lagune write add --categories javascript. Så lenge ingen er registrert, registrerer også charter kategoriene som analysen av prosjektet støtter.

Ja. Skriv dem på samme linje, den ene etter den andre.

Start med owasp, som er standard, og legg deretter til den for språket eller stakken din. Spesialiseringer lastes bare ved behov, så en kategori koster ingenting før en fase trenger en av spesialiseringene i den.