🧠 Specjalizacje Lagune to skupione na jednym zagadnieniu, niezależne od języka programowania moduły wiedzy o bezpieczeństwie, ładowane tylko na żądanie, nigdy domyślnie. Nie są poleceniami. Katalog twojego projektu to zestaw, z którego projekt korzysta: wbudowane specjalizacje jego kategorii oraz jego własne. Fazy detect i verify sięgają po nie w trakcie działania, a ty możesz w każdej chwili załadować dowolną z nich bezpośrednio.
- Przegląd
- Jak to działa
Kontrola dostępu
Dba o to, by każdy widział i robił tylko to, do czego ma uprawnienia, więc nikt nie dostanie się do danych innego użytkownika ani do funkcji przeznaczonych tylko dla administratora, zmieniając po prostu link lub identyfikator.
npx lagune read catalog access-controlEndpoint API
Sprawdza drzwi, które twoja aplikacja otwiera na świat, aby żądania od obcych nie mogły wyciągnąć prywatnych danych ani uruchomić działań, do których nie mają prawa.
npx lagune read catalog api-endpointPrzeglądarka
Pilnuje tego, co działa w przeglądarkach twoich odwiedzających, aby atakujący nie mógł wstrzyknąć kodu, który kradnie dane logowania albo przejmuje kontrolę nad tym, co twoi użytkownicy widzą i klikają.
npx lagune read catalog browserC / C++
Wyłapuje niskopoziomowe błędy pamięci, przez które atakujący może doprowadzić do awarii programu albo uruchomić własny kod na twoim serwerze.
npx lagune read catalog c-cppKontener
Sprawdza, jak twoja aplikacja jest pakowana i wdrażana, aby włamanie pozostało ograniczone, zamiast oddawać atakującemu całą maszynę.
npx lagune read catalog containerEndpoint uwierzytelniania
Chroni logowanie, rejestrację i resetowanie hasła, aby atakujący nie mogli odgadywać haseł, przejmować kont ani resetować cudzych haseł.
npx lagune read catalog credential-endpointKryptografia
Dba o to, by wrażliwe dane były właściwie zaszyfrowane, więc hasła, tokeny i dane osobowe pozostaną nieczytelne nawet po wycieku.
npx lagune read catalog cryptoCSV
Utwardza eksportowane arkusze kalkulacyjne, dzięki czemu otwarcie pobranego pliku znacznie rzadziej po cichu uruchomi szkodliwe polecenie na czyimś komputerze.
npx lagune read catalog csv.NET
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji .NET, przez które atakujący może uruchomić własny kod na twoim serwerze.
npx lagune read catalog dotnetFederacja tożsamości
Utwardza logowanie typu "Zaloguj się przez Google, Microsoft itp.", dzięki czemu atakującemu znacznie trudniej podszyć się pod użytkownika albo wśliznąć się na cudze konto.
npx lagune read catalog federationGo
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w Go, zwłaszcza subtelne błędy, które wychodzą na jaw dopiero przy prawdziwym ruchu.
npx lagune read catalog goŻądanie HTTP
Sprawdza dane, które docierają z każdym żądaniem HTTP, aby ukryte lub złośliwe dane wejściowe nie mogły nakłonić twojej aplikacji do niewłaściwego działania.
npx lagune read catalog http-requestInfrastruktura
Sprawdza pliki, które budują i wdrażają twoją aplikację, takie jak pliki Dockerfile, konfiguracje Terraform i przepływy pracy CI, aby jedno zbyt luźne ustawienie nie odsłoniło całego środowiska.
npx lagune read catalog infraInterpreter
Nie pozwala, by dane od użytkownika zostały wykonane jako polecenia, więc pole formularza ani przesłany plik nie zmuszą twojego serwera do wykonania instrukcji atakującego.
npx lagune read catalog interpreterJava
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w Javie, przez które atakujący może uruchomić własny kod na twoim serwerze.
npx lagune read catalog javaJavaScript
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w JavaScripcie i Node, od uruchamiania niezaufanego kodu po odczytywanie plików, do których aplikacja nie powinna mieć dostępu.
npx lagune read catalog javascriptLLM
Chroni funkcje oparte na modelach AI, aby sprytnie sformułowana wiadomość nie nakłoniła AI do ujawnienia danych ani do nadużycia podłączonych narzędzi.
npx lagune read catalog llmSieć
Sprawdza, jak twoja aplikacja komunikuje się z innymi usługami, aby nie dało się jej podstępem skłonić, by pobrała coś, co kontroluje atakujący, albo temu zaufała.
npx lagune read catalog networkŚcieżka
Nie pozwala atakującym błądzić po plikach twojego serwera, więc manipulując nazwą pliku, nie odczytają prywatnych plików ani nie nadpiszą ważnych.
npx lagune read catalog pathPłatności
Utwardza proces zakupu i rozliczenia, przez co znacznie trudniej zmanipulować ceny, uniknąć zapłaty albo powtórzyć obciążenie.
npx lagune read catalog paymentPHP
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w PHP, przez które atakujący może uruchomić własny kod albo obejść logowanie.
npx lagune read catalog phpPython
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w Pythonie, zwłaszcza wczytywanie niezaufanych danych, które może uruchomić kod atakującego.
npx lagune read catalog pythonRegex
Utwardza sprawdzanie tekstu, aby działało wydajnie, a złośliwe dane wejściowe nie mogły łatwo zawiesić twojej aplikacji przez jej przeciążenie.
npx lagune read catalog regexRuby
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w Ruby, zwłaszcza wczytywanie niezaufanych danych, które może uruchomić kod atakującego.
npx lagune read catalog rubyRust
Obejmuje pułapki bezpieczeństwa typowe dla aplikacji w Rust, zwłaszcza kod unsafe, który może uszkodzić pamięć albo doprowadzić do awarii programu.
npx lagune read catalog rustSekrety
Trzyma hasła, klucze API i tokeny z dala od kodu źródłowego, aby udostępnione repozytorium czy wyciek builda nigdy nie oddały ich w ręce atakującego.
npx lagune read catalog secretsServerless
Sprawdza funkcje chmurowe i ich uprawnienia, aby pojedynczej funkcji nie dało się nadużyć do sięgnięcia znacznie dalej, niż powinna.
npx lagune read catalog serverlessSQL
Pilnuje tego, jak twoja aplikacja komunikuje się z bazą danych, aby spreparowane dane wejściowe nie mogły odczytać, zmienić ani usunąć danych, których nigdy nie miały dotykać.
npx lagune read catalog sqlSupabase
Zabezpiecza twój backend Supabase, aby reguły bazy danych naprawdę działały, a tajne klucze nie trafiały do publicznego dostępu.
npx lagune read catalog supabaseTransport
Utwardza transmisję, aby dane przesyłano szyfrowanym połączeniem, przez co znacznie trudniej je odczytać lub zmienić w drodze między twoimi użytkownikami a aplikacją.
npx lagune read catalog transportPrzesyłanie plików
Utwardza przesyłanie plików, przez co znacznie trudniej przesłać zamaskowany plik, który uruchamia kod, nadpisuje dane albo zapycha twoją przestrzeń dyskową.
npx lagune read catalog uploadXML
Utwardza sposób, w jaki twoja aplikacja odczytuje dane XML, dzięki czemu spreparowanemu plikowi znacznie trudniej ujawnić pliki serwera albo unieruchomić aplikację.
npx lagune read catalog xmlSamodzielne użycie
Aby użyć specjalizacji bezpośrednio, poproś agenta, żeby załadował ją poleceniem read catalog <name>, i opisz zadanie w tym samym prompcie. Agent stosuje wtedy tę wiedzę do tego, o co prosisz. Działa to w każdym prompcie, nawet niezwiązanym z przepływem pracy Lagune.
Na przykład bezpośredni prompt w dowolnej formie, który generuje bezpieczny zbiór wyrażeń RegExp w języku Python:
Załaduj specjalizację regex poleceniem `npx lagune read catalog regex`, a potem utwórz w @src/utils/regex.py zbiór wyrażeń regularnych do walidacji adresów e-mail i nazw użytkowników.
Agent korzysta przy tym z deterministycznego hooka, który testuje każde wyrażenie RegExp pod kątem ReDoS, zachowuje bezpieczne i daje mniej więcej taki wynik:
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
Przetestuj wzorzec samodzielnie na stronie devina.io/redos-checker.
Wbudowane specjalizacje
Wbudowane specjalizacje są pogrupowane w kategorie. Oto zestaw, który Lagune dostarcza w standardzie:
| Specjalizacja | Kategoria | Obszar |
|---|---|---|
regex | owasp | ReDoS: wzorce, których czas dopasowania gwałtownie rośnie przy spreparowanych danych wejściowych. |
network | owasp | SSRF i przekierowania: adresy pobierania lub przekierowań podawane przez użytkownika. |
interpreter | owasp, lovable | Wstrzykiwanie kodu: eval, dynamiczne dołączanie plików, wywoływanie po nazwie. |
sql | owasp | Relacyjne bazy danych: wstrzykiwanie SQL, surowe wywołania ORM, uprawnienia, zasięg silnika bazy. |
path | owasp | Ścieżki w systemie plików: path traversal, bajt zerowy, strumienie NTFS, podkładanie plików. |
upload | owasp | Przesyłanie plików: typ i sygnatura, złośliwa zawartość, przechowywanie, limity. |
access-control | owasp, lovable | Uwierzytelnianie, autoryzacja, sesja: IDOR, mass assignment, tenanci, sesje. |
credential-endpoint | owasp, lovable | Zgadywanie haseł i boty: brute force, password spraying, credential stuffing, ograniczanie prób. |
federation | owasp | Zaufanie do tokenów: OAuth/OIDC, SAML, walidacja JWT, logowanie kodem QR. |
http-request | owasp | Pochodzenie żądań: CSRF, błędna konfiguracja CORS, sfałszowany adres IP klienta. |
transport | owasp | Bezpieczeństwo kanału: konfiguracja TLS, HTTPS i tekst jawny, HSTS, pinning. |
crypto | owasp, lovable | Kryptografia danych w spoczynku: słabe lub własne algorytmy, CSPRNG, zarządzanie kluczami. |
secrets | owasp, lovable | Dane uwierzytelniające zapisane na sztywno w kodzie: klucze, tokeny, hasła wpisane w kod źródłowy. |
api-endpoint | owasp | Interfejsy inne niż REST: GraphQL, gRPC, autoryzacja WebSocket, DoS, schemat. |
payment | owasp, lovable | Proces płatności: weryfikacja w bramce po stronie serwera, podpisane callbacki, idempotentność. |
xml | owasp | Parsowanie XML: XXE, encje zewnętrzne, ekspansja typu billion laughs. |
csv | owasp | Wstrzykiwanie formuł: komórki arkusza zaczynające się od =/+/-/@. |
container | owasp, infra | Konfiguracja kontenerów: root, capabilities, montowanie gniazda, utwardzanie obrazu. |
infra | infra | Infrastruktura jako kod: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | Funkcje FaaS: IAM z minimalnymi uprawnieniami, dane wejściowe zdarzeń, kontekst, sekrety. |
llm | ai, lovable | Ryzyka AI i LLM: prompt injection, autonomia agenta, RAG, MCP, dane wyjściowe. |
supabase | lovable | Backend Supabase: RLS domyślnie wyłączone, błędne polityki generowane przez AI, model kluczy. |
browser | javascript, lovable | Ryzyka po stronie klienta: XSS, CSP, osadzanie w ramkach, przechowywanie danych itp. |
javascript | javascript | Ryzyka na poziomie języka: RCE, prototype pollution itp. |
python | python | Ryzyka na poziomie języka: RCE przez pickle, class pollution, -O itp. |
rust | rust | Poprawność unsafe: UB wywołane z bezpiecznego kodu, transmute, przepełnienia. |
java | java | Deserializacja i kod mobilny: łańcuchy readObject, przejmowanie obiektów. |
ruby | ruby | Deserializacja i open: odtwarzanie obiektów przez Marshal/YAML, pułapka z potokiem. |
php | php | Type juggling i unserialize: magic hashes, łańcuchy POP. |
go | go | Typed nil i data races: nil != nil, gorutyny ze współdzieloną pamięcią. |
c-cpp | c-cpp | Ciągi formatujące: printf(user_input), zapis write-what-where przez %n. |
dotnet | dotnet | Ryzyka na poziomie platformy: RCE przez BinaryFormatter, @Html.Raw, luki w enumach. |
Większość wbudowanej wiedzy jest destylowana z OWASP. Pełne przyporządkowanie każdej specjalizacji do kanonicznych stron OWASP, czyli opisów ataków i Cheat Sheets, znajdziesz w sekcji Źródła OWASP. Kilka modułów związanych z konkretnym stosem opiera się zamiast tego na wytycznych samego dostawcy: na przykład supabase pochodzi z dokumentacji Supabase i CVE-2025-48757.
Twoje własne specjalizacje
Zestaw wbudowanych specjalizacji rośnie o jeden plik z wiedzą i jeden wiersz w indeksie, nigdy o nowe polecenie. Własne dodajesz tak samo, poleceniem /lagune-specialize: wskaż mu artykuł lub temat, a wydestyluje z niego nową specjalizację w twoim projekcie, czyli plik w .lagune/catalog/ i jej wpis w .lagune/configs.json. Twoje własne specjalizacje zawsze należą do katalogu, niezależnie od jego kategorii, a twoja specjalizacja przesłania wbudowaną o tej samej nazwie.
Gdy faza detect lub verify trafia na kontekst, który obejmuje któraś specjalizacja, sama ładuje ją poleceniem read catalog <name>. Dzieje się to automatycznie, w ramach fazy. Nie musisz niczego robić ręcznie, żeby to działało.
Sprawdź, co jest dostępne
Tak wyświetlisz w terminalu katalog swojego projektu, po jednej specjalizacji na wiersz, wraz z jej tagami:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
Specjalizacja oznaczona [required] obowiązuje zawsze, niezależnie od zadania. To, które wbudowane specjalizacje znajdą się na liście, zależy od kategorii twojego projektu.
Zamiast domyślnie uruchamiać każde sprawdzenie, Lagune sięga tylko po wiedzę dopasowaną do tego, czym projekt faktycznie jest.
Najczęściej zadawane pytania
To skupiony na jednym zagadnieniu, niezależny od języka programowania moduł wiedzy o bezpieczeństwie, ładowany tylko na żądanie, nigdy domyślnie. W odróżnieniu od skilli agenta nie jest poleceniem.
To specjalizacje, z których korzysta projekt: wbudowane specjalizacje jego kategorii oraz jego własne. Dopóki nie zapisano żadnej kategorii, projekt korzysta tylko z OWASP.
Nie. Ładują się tylko na żądanie, zgodnie z tym, czym projekt faktycznie jest.
W tym samym prompcie co zadanie poproś agenta, żeby uruchomił npx lagune read catalog <name>.
