🧠 Die Spezialisierungen von Lagune sind fokussierte, sprachunabhängige Module mit Sicherheitswissen, die nur bei Bedarf geladen werden, nie standardmäßig. Sie sind keine Befehle. Der Katalog deines Projekts ist die Auswahl, die es nutzt: die integrierten Spezialisierungen seiner Kategorien plus seine eigenen. Die Phasen detect und verify ziehen sie während ihres Laufs heran, und du kannst jederzeit direkt eine laden.
- Überblick
- So funktioniert es
Zugriffskontrolle
Sorgt dafür, dass alle nur sehen und tun können, was sie dürfen, damit niemand durch das bloße Ändern eines Links oder einer ID an die Daten anderer Nutzer oder an Aktionen nur für Admins gelangt.
npx lagune read catalog access-controlAPI-Endpunkt
Prüft die Türen, die deine App nach außen öffnet, damit Anfragen von Fremden keine privaten Daten abgreifen oder Aktionen auslösen können, die ihnen nicht zustehen.
npx lagune read catalog api-endpointBrowser
Schützt, was im Browser deiner Besucher läuft, damit ein Angreifer keinen Code einschleusen kann, der Anmeldedaten stiehlt oder kapert, was deine Nutzer sehen und anklicken.
npx lagune read catalog browserC / C++
Findet Speicherfehler auf niedriger Ebene, durch die Angreifer das Programm zum Absturz bringen oder eigenen Code auf deinem Server ausführen können.
npx lagune read catalog c-cppContainer
Prüft, wie deine App verpackt und bereitgestellt wird, damit ein Einbruch begrenzt bleibt, statt einem Angreifer gleich den ganzen Rechner auszuliefern.
npx lagune read catalog containerEndpunkt für Zugangsdaten
Schützt Anmeldung, Registrierung und das Zurücksetzen von Passwörtern, damit Angreifer keine Passwörter erraten, keine Konten übernehmen und nicht das Passwort anderer zurücksetzen können.
npx lagune read catalog credential-endpointKryptografie
Sorgt dafür, dass sensible Daten richtig verschlüsselt werden, damit Passwörter, Tokens und persönliche Daten selbst nach einem Leak unlesbar bleiben.
npx lagune read catalog cryptoCSV
Härtet exportierte Tabellen, damit das Öffnen einer heruntergeladenen Datei weit seltener unbemerkt einen schädlichen Befehl auf jemandes Rechner ausführt.
npx lagune read catalog csv.NET
Deckt Sicherheitsfallen ab, die speziell .NET-Apps betreffen und einem Angreifer erlauben können, eigenen Code auf deinem Server auszuführen.
npx lagune read catalog dotnetFöderation
Härtet "Mit Google, Microsoft usw. anmelden", damit es ein Angreifer viel schwerer hat, sich als Nutzer auszugeben oder in ein fremdes Konto zu schlüpfen.
npx lagune read catalog federationGo
Deckt Sicherheitsfallen ab, die speziell Go-Apps betreffen, vor allem subtile Fehler, die erst bei echtem Traffic auftreten.
npx lagune read catalog goHTTP-Anfrage
Prüft die Daten, die mit jeder Webanfrage ankommen, damit versteckte oder bösartige Eingaben deine App nicht dazu bringen können, das Falsche zu tun.
npx lagune read catalog http-requestInfrastruktur
Prüft die Dateien, die deine App bauen und bereitstellen, etwa Dockerfiles, Terraform und CI-Workflows, damit eine einzige zu lockere Einstellung nicht die ganze Umgebung offenlegt.
npx lagune read catalog infraInterpreter
Verhindert, dass Nutzereingaben als Befehle ausgeführt werden, damit ein Formularfeld oder ein Upload deinen Server nicht dazu bringen kann, die Anweisungen eines Angreifers auszuführen.
npx lagune read catalog interpreterJava
Deckt Sicherheitsfallen ab, die speziell Java-Apps betreffen und einem Angreifer erlauben können, eigenen Code auf deinem Server auszuführen.
npx lagune read catalog javaJavaScript
Deckt Sicherheitsfallen ab, die speziell JavaScript- und Node-Apps betreffen, vom Ausführen nicht vertrauenswürdigen Codes bis zum Lesen von Dateien, auf die sie keinen Zugriff haben sollten.
npx lagune read catalog javascriptLLM
Schützt Funktionen, die auf KI-Modellen aufbauen, damit eine geschickt formulierte Nachricht die KI nicht dazu bringen kann, Daten preiszugeben oder angebundene Tools zu missbrauchen.
npx lagune read catalog llmNetzwerk
Prüft, wie deine App mit anderen Diensten kommuniziert, damit sie sich nicht dazu verleiten lässt, etwas abzurufen oder etwas zu vertrauen, das ein Angreifer kontrolliert.
npx lagune read catalog networkPfad
Verhindert, dass Angreifer durch die Dateien deines Servers streifen, damit sie über einen manipulierten Dateinamen weder private Dateien lesen noch wichtige überschreiben können.
npx lagune read catalog pathZahlungen
Härtet Checkout und Abrechnung, damit es weit schwerer wird, Preise zu manipulieren, die Zahlung zu umgehen oder eine Abbuchung zu wiederholen.
npx lagune read catalog paymentPHP
Deckt Sicherheitsfallen ab, die speziell PHP-Apps betreffen und einem Angreifer erlauben können, eigenen Code auszuführen oder eine Anmeldung zu umgehen.
npx lagune read catalog phpPython
Deckt Sicherheitsfallen ab, die speziell Python-Apps betreffen, vor allem das Laden nicht vertrauenswürdiger Daten, das den Code eines Angreifers ausführen kann.
npx lagune read catalog pythonRegex
Härtet Textprüfungen, damit sie effizient bleiben und eine bösartige Eingabe deine App weit schwerer durch Überlastung lahmlegen kann.
npx lagune read catalog regexRuby
Deckt Sicherheitsfallen ab, die speziell Ruby-Apps betreffen, vor allem das Laden nicht vertrauenswürdiger Daten, das den Code eines Angreifers ausführen kann.
npx lagune read catalog rubyRust
Deckt Sicherheitsfallen ab, die speziell Rust-Apps betreffen, vor allem unsafe-Code, der den Speicher beschädigen oder das Programm abstürzen lassen kann.
npx lagune read catalog rustSecrets
Hält Passwörter, API-Schlüssel und Tokens aus deinem Quellcode heraus, damit ein geteiltes Repository oder ein geleakter Build sie nie einem Angreifer in die Hände spielt.
npx lagune read catalog secretsServerless
Prüft Cloud-Funktionen und ihre Berechtigungen, damit sich keine einzelne Funktion missbrauchen lässt, um weit mehr zu erreichen, als sie sollte.
npx lagune read catalog serverlessSQL
Schützt, wie deine App mit ihrer Datenbank spricht, damit eine manipulierte Eingabe keine Daten lesen, ändern oder löschen kann, die sie nie anrühren sollte.
npx lagune read catalog sqlSupabase
Sichert dein Supabase-Backend ab, damit deine Datenbankregeln wirklich greifen und geheime Schlüssel nicht öffentlich einsehbar werden.
npx lagune read catalog supabaseTransport
Härtet den Transport, damit Daten über eine verschlüsselte Verbindung laufen und auf dem Weg zwischen deinen Nutzern und deiner App weit schwerer mitgelesen oder verändert werden können.
npx lagune read catalog transportDatei-Upload
Härtet Datei-Uploads, damit es weit schwerer wird, eine getarnte Datei hochzuladen, die Code ausführt, Daten überschreibt oder deinen Speicher füllt.
npx lagune read catalog uploadXML
Härtet, wie deine App XML-Daten liest, damit eine manipulierte Datei weit weniger leicht Serverdateien preisgeben oder deine App lahmlegen kann.
npx lagune read catalog xmlSelbst nutzen
Um eine Spezialisierung direkt zu nutzen, bitte deinen Agenten, sie mit read catalog <name> zu laden, und schreibe die Aufgabe in denselben Prompt. Das Wissen wirkt dann auf das, worum du gebeten hast. Das funktioniert in jedem Prompt, auch in einem, der nichts mit dem Workflow von Lagune zu tun hat.
Zum Beispiel ein direkter, frei formulierter Prompt, der eine sichere Sammlung von RegExp in Python erzeugt:
Lade die Spezialisierung regex mit `npx lagune read catalog regex` und erstelle dann in @src/utils/regex.py eine Sammlung regulärer Ausdrücke, um E-Mail-Adressen und Benutzernamen zu validieren.
Das nutzt einen deterministischen Hook, um jede RegExp auf ReDoS zu testen, behält die sicheren und erzeugt etwa Folgendes:
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 selbst ein Muster unter devina.io/redos-checker.
Die integrierten Spezialisierungen
Die integrierten Spezialisierungen sind in Kategorien gruppiert. Das ist die Auswahl, die mit Lagune ausgeliefert wird:
| Spezialisierung | Kategorie | Schwerpunkt |
|---|---|---|
regex | owasp | ReDoS: Muster, deren Laufzeit bei manipulierten Eingaben explodiert. |
network | owasp | SSRF & Weiterleitungen: vom Nutzer vorgegebene Abruf- oder Weiterleitungsziele. |
interpreter | owasp, lovable | Code-Injection: eval, dynamisches Einbinden, Dispatch über Namen. |
sql | owasp | Relationale Datenbanken: Injection, rohe ORM-Aufrufe, Berechtigungen, Reichweite der Datenbank-Engine. |
path | owasp | Dateisystempfade: Traversal, Null-Byte, NTFS-Streams, Planting. |
upload | owasp | Datei-Uploads: Typ/Signatur, schädliche Inhalte, Speicherung, Limits. |
access-control | owasp, lovable | Authentifizierung, Autorisierung, Sitzung: IDOR, Mass Assignment, Mandanten, Sitzungen. |
credential-endpoint | owasp, lovable | Erraten von Zugangsdaten & Bots: Brute Force, Password Spraying, Credential Stuffing, Drosselung. |
federation | owasp | Vertrauen in Tokens: OAuth/OIDC, SAML, JWT-Validierung, Anmeldung per QR-Code. |
http-request | owasp | Herkunft von Anfragen: CSRF, CORS-Fehlkonfiguration, gefälschte Client-IP. |
transport | owasp | Kanalsicherheit: TLS-Konfiguration, HTTPS/Klartext, HSTS, Pinning. |
crypto | owasp, lovable | Kryptografie für ruhende Daten: schwache oder selbst gebaute Algorithmen, CSPRNG, Schlüsselverwaltung. |
secrets | owasp, lovable | Fest im Code hinterlegte Zugangsdaten: Schlüssel, Tokens, Passwörter als Literale im Quellcode. |
api-endpoint | owasp | Schnittstellen jenseits von REST: GraphQL, gRPC, WebSocket-Autorisierung, DoS, Schema. |
payment | owasp, lovable | Checkout-Ablauf: Gateway serverseitig prüfen, signierte Callbacks, Idempotenz. |
xml | owasp | XML-Parsing: XXE, externe Entitäten, Billion-Laughs-Expansion. |
csv | owasp | Formel-Injection: Tabellenzellen, die mit =/+/-/@ beginnen. |
container | owasp, infra | Container-Konfiguration: Root, Capabilities, Socket-Mount, Härtung des Images. |
infra | infra | Infrastructure as Code: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | FaaS-Funktionen: IAM nach dem Prinzip der minimalen Rechte, Event-Eingaben, Kontext, Secrets. |
llm | ai, lovable | KI- und LLM-Risiken: Prompt Injection, Agency, RAG, MCP, Ausgabe. |
supabase | lovable | Backend mit Supabase: RLS standardmäßig aus, von KI fehlerhaft generierte Policies, Schlüsselmodell. |
browser | javascript, lovable | Clientseitige Risiken: XSS, CSP, Framing, Speicherung usw. |
javascript | javascript | Risiken auf Sprachebene: RCE, Prototype Pollution usw. |
python | python | Risiken auf Sprachebene: RCE über pickle, Class Pollution, -O usw. |
rust | rust | Soundness von unsafe: UB, ausgelöst von sicherem Code, transmute, Überläufe. |
java | java | Deserialisierung & Mobile Code: Ketten über readObject, Übernahme von Objekten. |
ruby | ruby | Deserialisierung & open: Wiederherstellung von Objekten über Marshal/YAML, Pipe-Eigenheit. |
php | php | Type Juggling & unserialize: Magic Hashes, POP-Ketten. |
go | go | Typed nil & Data Races: nil != nil, Goroutines mit gemeinsamem Speicher. |
c-cpp | c-cpp | Formatstrings: printf(user_input), Write-what-where über %n. |
dotnet | dotnet | Risiken auf Plattformebene: RCE über BinaryFormatter, @Html.Raw, Lücken bei Enums. |
Das meiste integrierte Wissen ist aus OWASP verdichtet. Unter OWASP-Quellen findest du die vollständige Zuordnung jeder Spezialisierung zu ihren maßgeblichen Seiten zu Angriffen und Cheat Sheets von OWASP. Einige wenige stackspezifische Module stützen sich stattdessen auf die Empfehlungen des jeweiligen Anbieters: supabase etwa stammt aus der Dokumentation von Supabase und CVE-2025-48757.
Deine eigenen Spezialisierungen
Die integrierten wachsen um je eine Wissensdatei plus eine Indexzeile, nie um einen neuen Befehl. Deine eigenen fügst du genauso hinzu, mit /lagune-specialize: Gib dem Befehl einen Artikel oder ein Thema, und er verdichtet daraus eine neue Spezialisierung in deinem Projekt, die Datei unter .lagune/catalog/ und ihren Eintrag in .lagune/configs.json. Deine eigenen sind immer im Katalog, unabhängig von seinen Kategorien, und eine eigene überdeckt eine integrierte mit demselben Namen.
Stößt die Phase detect oder verify auf einen Kontext, den eine Spezialisierung abdeckt, lädt sie diese Spezialisierung selbst mit read catalog <name>. Das geschieht automatisch als Teil der Phase. Damit das funktioniert, musst du nichts von Hand tun.
Herausfinden, was verfügbar ist
So listest du den Katalog deines Projekts im Terminal auf, eine Spezialisierung pro Zeile mit ihren Tags:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
Eine Spezialisierung mit [required] gilt immer, unabhängig von der Arbeit. Welche integrierten die Liste enthält, hängt von den Kategorien deines Projekts ab.
Das relevante Wissen wird für das herangezogen, was das Projekt tatsächlich ist, statt jede Prüfung standardmäßig auszuführen.
Häufige Fragen
Ein fokussiertes, sprachunabhängiges Modul mit Sicherheitswissen, das nur bei Bedarf geladen wird, nie standardmäßig. Es ist kein Befehl wie die Skills des Agenten.
Die Spezialisierungen, die das Projekt nutzt: die integrierten seiner Kategorien plus seine eigenen. Solange keine Kategorie eingetragen ist, nutzt es nur OWASP.
Nein. Sie werden nur bei Bedarf geladen, passend zu dem, was das Projekt tatsächlich ist.
Bitte deinen Agenten im selben Prompt wie die Aufgabe, npx lagune read catalog <name> auszuführen.
