🧠 Specialiseringerne i Lagune er fokuserede, sprogneutrale moduler med sikkerhedsviden, der kun indlæses efter behov, aldrig som standard. De er ikke kommandoer. Dit projekts katalog er det sæt, det bruger: de indbyggede specialiseringer i dets kategorier plus dets egne. Faserne detect og verify griber efter dem, mens de kører, og du kan selv indlæse en direkte når som helst.
- Overblik
- Sådan virker det
Adgangskontrol
Sørger for, at folk kun kan se og gøre det, de har lov til, så ingen kan nå en anden brugers data eller handlinger forbeholdt administratorer blot ved at ændre et link eller et ID.
npx lagune read catalog access-controlAPI-endpoint
Tjekker de døre, din app åbner mod omverdenen, så forespørgsler fra fremmede ikke kan hente private data eller udløse handlinger, de ikke burde.
npx lagune read catalog api-endpointBrowser
Beskytter det, der kører i dine besøgendes browsere, så en angriber ikke kan indsprøjte kode, der stjæler logins eller kaprer det, dine brugere ser og klikker på.
npx lagune read catalog browserC / C++
Fanger hukommelsesfejl på lavt niveau, der lader angribere få programmet til at gå ned eller køre deres egen kode på din server.
npx lagune read catalog c-cppContainer
Gennemgår, hvordan din app pakkes og udrulles, så et indbrud forbliver inddæmmet i stedet for at give en angriber hele maskinen.
npx lagune read catalog containerEndpoint til loginoplysninger
Beskytter login, oprettelse og nulstilling af adgangskode, så angribere ikke kan gætte adgangskoder, overtage konti eller nulstille andres.
npx lagune read catalog credential-endpointKryptografi
Sørger for, at følsomme data bliver krypteret korrekt, så adgangskoder, tokens og personoplysninger ikke kan læses, selv hvis de lækker.
npx lagune read catalog cryptoCSV
Hærder eksporterede regneark, så det er langt mindre sandsynligt, at åbningen af en downloadet fil i det stille kører en skadelig kommando på nogens computer.
npx lagune read catalog csv.NET
Dækker sikkerhedsfælder, der er specifikke for .NET-apps, og som kan lade en angriber køre sin egen kode på din server.
npx lagune read catalog dotnetFederation
Hærder "log ind med Google, Microsoft osv.", så en angriber har meget sværere ved at udgive sig for at være en bruger eller snige sig ind på en andens konto.
npx lagune read catalog federationGo
Dækker sikkerhedsfælder, der er specifikke for Go-apps, især subtile fejl, der først viser sig under rigtig trafik.
npx lagune read catalog goHTTP-forespørgsel
Undersøger de data, der følger med hver webforespørgsel, så skjult eller ondsindet input ikke kan få din app til at gøre det forkerte.
npx lagune read catalog http-requestInfrastruktur
Gennemgår de filer, der bygger og udruller din app, som Dockerfiles, Terraform og CI-workflows, så én løs indstilling ikke kan blotlægge hele miljøet.
npx lagune read catalog infraInterpreter
Forhindrer, at brugerinput bliver kørt som kommandoer, så et formularfelt eller en upload ikke kan få din server til at udføre en angribers instruktioner.
npx lagune read catalog interpreterJava
Dækker sikkerhedsfælder, der er specifikke for Java-apps, og som kan lade en angriber køre sin egen kode på din server.
npx lagune read catalog javaJavaScript
Dækker sikkerhedsfælder, der er specifikke for JavaScript- og Node-apps, fra kørsel af ikke-betroet kode til læsning af filer, den ikke burde.
npx lagune read catalog javascriptLLM
Beskytter funktioner bygget på AI-modeller, så en snedigt formuleret besked ikke kan narre AI'en til at lække data eller misbruge tilsluttede værktøjer.
npx lagune read catalog llmNetværk
Tjekker, hvordan din app taler med andre tjenester, så den ikke kan narres til at hente eller stole på noget, en angriber styrer.
npx lagune read catalog networkSti
Forhindrer angribere i at strejfe rundt i din servers filer, så de ikke kan læse private filer eller overskrive vigtige ved at manipulere et filnavn.
npx lagune read catalog pathBetaling
Hærder checkout og fakturering, så det bliver langt sværere at pille ved priser, slippe for at betale eller gentage en betaling.
npx lagune read catalog paymentPHP
Dækker sikkerhedsfælder, der er specifikke for PHP-apps, og som kan lade en angriber køre sin egen kode eller omgå et login.
npx lagune read catalog phpPython
Dækker sikkerhedsfælder, der er specifikke for Python-apps, især indlæsning af ikke-betroede data, der kan køre en angribers kode.
npx lagune read catalog pythonRegex
Hærder teksttjek, så de forbliver effektive, og gør det langt sværere for et ondsindet input at fryse din app ved at overbelaste den.
npx lagune read catalog regexRuby
Dækker sikkerhedsfælder, der er specifikke for Ruby-apps, især indlæsning af ikke-betroede data, der kan køre en angribers kode.
npx lagune read catalog rubyRust
Dækker sikkerhedsfælder, der er specifikke for Rust-apps, især unsafe-kode, der kan ødelægge hukommelsen eller få programmet til at gå ned.
npx lagune read catalog rustSecrets
Holder adgangskoder, API-nøgler og tokens ude af din kildekode, så et delt repository eller et lækket build aldrig giver dem til en angriber.
npx lagune read catalog secretsServerless
Gennemgår cloudfunktioner og deres tilladelser, så en enkelt funktion ikke kan misbruges til at nå langt mere, end den burde.
npx lagune read catalog serverlessSQL
Beskytter, hvordan din app taler med sin database, så et manipuleret input ikke kan læse, ændre eller slette data, det aldrig var meningen, at det skulle røre.
npx lagune read catalog sqlSupabase
Låser din Supabase-backend af, så dine databaseregler faktisk holder, og hemmelige nøgler ikke ender med at være offentligt tilgængelige.
npx lagune read catalog supabaseTransport
Hærder transporten, så data rejser over en krypteret forbindelse, og gør det langt sværere at læse eller ændre dem på vejen mellem dine brugere og din app.
npx lagune read catalog transportFilupload
Hærder filupload, så det bliver langt sværere for nogen at uploade en forklædt fil, der kører kode, overskriver data eller fylder dit lager op.
npx lagune read catalog uploadXML
Hærder, hvordan din app læser XML-data, så en manipuleret fil har langt sværere ved at lække serverfiler eller slå din app offline.
npx lagune read catalog xmlBrug den selv
Hvis du vil bruge en specialisering direkte, så bed din agent om at indlæse den med read catalog <name>, og skriv opgaven i samme prompt. Viden virker så på det, du bad om. Det virker i enhver prompt, også en, der ikke har noget med workflowet i Lagune at gøre.
For eksempel en direkte, fri prompt, der genererer en sikker samling af RegExp med Python:
Indlæs specialiseringen regex med `npx lagune read catalog regex`, og lav derefter en samling regulære udtryk i @src/utils/regex.py, der validerer e-mailadresser og brugernavne.
Den bruger en deterministisk hook til at teste hvert RegExp mod ReDoS, beholder de sikre og producerer noget i stil med:
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
Test selv et mønster på devina.io/redos-checker.
De indbyggede specialiseringer
De indbyggede specialiseringer er grupperet i kategorier. Dette er det sæt, der følger med Lagune:
| Specialisering | Kategori | Fokus |
|---|---|---|
regex | owasp | ReDoS: mønstre, der eksploderer ved manipuleret input. |
network | owasp | SSRF og omdirigeringer: hente- eller omdirigeringsmål, som brugeren angiver. |
interpreter | owasp, lovable | Code injection: eval, dynamisk include, dispatch efter navn. |
sql | owasp | Relationelle databaser: injection, rå ORM-kald, rettigheder, databasemotorens rækkevidde. |
path | owasp | Filsystemstier: traversal, null-byte, NTFS-streams, planting. |
upload | owasp | Filupload: type/signatur, ondsindet indhold, lagring, grænser. |
access-control | owasp, lovable | Autentificering, autorisation, session: IDOR, mass assignment, tenants, sessioner. |
credential-endpoint | owasp, lovable | Gæt og bots: brute force, password spraying, credential stuffing, throttling. |
federation | owasp | Tillid til tokens: OAuth/OIDC, SAML, validering af JWT, login med QR-kode. |
http-request | owasp | Forespørgslers oprindelse: CSRF, fejlkonfigureret CORS, forfalsket klient-IP. |
transport | owasp | Kanalsikkerhed: TLS-konfiguration, HTTPS/klartekst, HSTS, pinning. |
crypto | owasp, lovable | Kryptografi for lagrede data: svage eller hjemmelavede algoritmer, CSPRNG, nøglehåndtering. |
secrets | owasp, lovable | Hardcodede loginoplysninger: nøgler, tokens, adgangskoder som literaler i kildekoden. |
api-endpoint | owasp | Flader ud over REST: GraphQL, gRPC, autorisation af WebSocket, DoS, skema. |
payment | owasp, lovable | Checkout-flow: verificér gatewayen på serveren, signerede callbacks, idempotens. |
xml | owasp | XML-parsing: XXE, eksterne entiteter, billion laughs-ekspansion. |
csv | owasp | Formula injection: regnearksceller, der starter med =/+/-/@. |
container | owasp, infra | Containerkonfiguration: root, capabilities, socket-mount, hærdning af imaget. |
infra | infra | Infrastructure as code: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | FaaS-funktioner: IAM med mindste privilegium, hændelsesinput, kontekst, secrets. |
llm | ai, lovable | AI- og LLM-risici: prompt injection, agency, RAG, MCP, output. |
supabase | lovable | Supabase-backend: RLS slået fra som standard, policies fejlgenereret af AI, nøglemodel. |
browser | javascript, lovable | Risici på klientsiden: XSS, CSP, framing, lagring osv. |
javascript | javascript | Risici på sprogniveau: RCE, prototype pollution osv. |
python | python | Risici på sprogniveau: RCE via pickle, class pollution, -O osv. |
rust | rust | Soundness i unsafe: UB fra sikre kaldere, transmute, overløb. |
java | java | Deserialisering og mobil kode: kæder via readObject, kapring af objekter. |
ruby | ruby | Deserialisering og open: genoplivning via Marshal/YAML, særheden med pipes. |
php | php | Type juggling og unserialize: magic hashes, POP-kæder. |
go | go | Typed nil og data races: nil != nil, goroutines med delt hukommelse. |
c-cpp | c-cpp | Format strings: printf(user_input), write-what-where via %n. |
dotnet | dotnet | Risici på platformsniveau: RCE via BinaryFormatter, @Html.Raw, huller i enums. |
Det meste af den indbyggede viden er destilleret fra OWASP. Se OWASP-kilder for den fulde kobling mellem hver specialisering og dens kanoniske sider om angreb og Cheat Sheets hos OWASP. Nogle få stakspecifikke moduler bygger i stedet på leverandørens egen vejledning: supabase kommer for eksempel fra dokumentationen til Supabase og CVE-2025-48757.
Dine egne specialiseringer
De indbyggede vokser ved at tilføje én vidensfil plus én indeksrække, aldrig en ny kommando. Du tilføjer dine egne på samme måde med /lagune-specialize: peg den mod en artikel eller et emne, så destillerer den en ny specialisering ind i dit projekt, filen under .lagune/catalog/ og dens post i .lagune/configs.json. Dine egne er altid i kataloget, uanset dets kategorier, og en af dine overskygger en indbygget med samme navn.
Når fasen detect eller verify rammer en kontekst, som en specialisering dækker, indlæser den selv specialiseringen med read catalog <name>. Det sker automatisk som en del af fasen. Du skal ikke gøre det manuelt, for at det virker.
Find ud af, hvad der er tilgængeligt
Sådan oplister du dit projekts katalog fra terminalen, én specialisering pr. linje med dens tags:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
En specialisering med [required] gælder altid, uanset arbejdet. Hvilke indbyggede listen indeholder, afhænger af dit projekts kategorier.
Den relevante viden hentes ind til det, projektet rent faktisk er, i stedet for at alle tjek kører som standard.
Ofte stillede spørgsmål
Et fokuseret, sprogneutralt modul med sikkerhedsviden, der kun indlæses efter behov, aldrig som standard. Det er ikke en kommando som agentens skills.
De specialiseringer, projektet bruger: de indbyggede i dets kategorier plus dets egne. Så længe der ikke er registreret nogen kategori, bruger det kun OWASP.
Nej. De indlæses kun efter behov, til det, projektet rent faktisk er.
Bed din agent om at køre npx lagune read catalog <name> i samme prompt som opgaven.
