🧠 Спеціалізації Lagune є цільовими модулями знань з безпеки, незалежними від мови програмування, які завантажуються лише на вимогу, а не за замовчуванням. Це не команди. Каталог вашого проєкту є набором, який він використовує: вбудовані спеціалізації його категорій плюс власні. Фази detect і verify звертаються до них під час роботи, а ви можете завантажити будь-яку напряму будь-коли.
- Огляд
- Як це працює
Контроль доступу
Гарантує, що люди бачать і роблять лише те, що їм дозволено, щоб ніхто не дістався до даних іншого користувача чи дій лише для адміністраторів, просто змінивши посилання або ID.
npx lagune read catalog access-controlAPI-ендпоінт
Перевіряє двері, які ваш застосунок відчиняє назовні, щоб запити від сторонніх не могли витягнути приватні дані чи запустити дії, які їм не належать.
npx lagune read catalog api-endpointБраузер
Захищає те, що виконується в браузерах ваших відвідувачів, щоб зловмисник не міг впровадити код, який краде облікові дані чи перехоплює те, що бачать і натискають ваші користувачі.
npx lagune read catalog browserC / C++
Виявляє низькорівневі помилки роботи з пам'яттю, через які зловмисники можуть обвалити програму чи виконати власний код на вашому сервері.
npx lagune read catalog c-cppКонтейнер
Перевіряє, як ваш застосунок пакується й розгортається, щоб злам залишався ізольованим, а не віддавав зловмиснику весь сервер.
npx lagune read catalog containerЕндпоінт облікових даних
Захищає вхід, реєстрацію й скидання пароля, щоб зловмисники не могли вгадати паролі, захопити облікові записи чи скинути чужий пароль.
npx lagune read catalog credential-endpointКриптографія
Гарантує, що чутливі дані належно зашифровані, щоб паролі, токени й персональні дані неможливо було прочитати навіть після витоку.
npx lagune read catalog cryptoCSV
Захищає експортовані таблиці, щоб відкриття завантаженого файлу значно рідше непомітно виконувало шкідливу команду на чиємусь комп'ютері.
npx lagune read catalog csv.NET
Охоплює пастки безпеки, специфічні для застосунків .NET, через які зловмисник може виконати власний код на вашому сервері.
npx lagune read catalog dotnetФедерація
Захищає вхід через Google, Microsoft тощо, щоб зловмиснику було значно важче видати себе за користувача чи пробратися в чужий обліковий запис.
npx lagune read catalog federationGo
Охоплює пастки безпеки, специфічні для застосунків на Go, особливо тонкі помилки, що проявляються під реальним навантаженням.
npx lagune read catalog goHTTP-запит
Перевіряє дані, що надходять із кожним вебзапитом, щоб приховані чи шкідливі вхідні дані не змусили ваш застосунок зробити щось не те.
npx lagune read catalog http-requestІнфраструктура
Перевіряє файли, що збирають і розгортають ваш застосунок, як-от Dockerfile, Terraform і CI-процеси, щоб одне надто вільне налаштування не відкрило все середовище.
npx lagune read catalog infraІнтерпретатор
Не дає виконувати введення користувача як команди, щоб поле форми чи завантажений файл не змусили ваш сервер виконати інструкції зловмисника.
npx lagune read catalog interpreterJava
Охоплює пастки безпеки, специфічні для застосунків на Java, через які зловмисник може виконати власний код на вашому сервері.
npx lagune read catalog javaJavaScript
Охоплює пастки безпеки, специфічні для застосунків на JavaScript і Node, від виконання недовіреного коду до читання файлів, до яких не повинно бути доступу.
npx lagune read catalog javascriptLLM
Захищає функції, побудовані на моделях ШІ, щоб хитро сформульоване повідомлення не змусило ШІ злити дані чи зловжити підключеними інструментами.
npx lagune read catalog llmМережа
Перевіряє, як ваш застосунок спілкується з іншими сервісами, щоб його не змусили завантажити чи довіритися тому, що контролює зловмисник.
npx lagune read catalog networkШлях
Не дає зловмисникам блукати файлами вашого сервера, щоб, підмінивши ім'я файлу, вони не могли прочитати приватні файли чи перезаписати важливі.
npx lagune read catalog pathПлатежі
Захищає оформлення замовлення й оплату, щоб значно ускладнити підміну цін, ухилення від оплати чи повторне списання коштів.
npx lagune read catalog paymentPHP
Охоплює пастки безпеки, специфічні для застосунків на PHP, через які зловмисник може виконати власний код чи обійти вхід.
npx lagune read catalog phpPython
Охоплює пастки безпеки, специфічні для застосунків на Python, особливо завантаження недовірених даних, яке може виконати код зловмисника.
npx lagune read catalog pythonRegex
Захищає перевірки тексту, щоб вони залишалися ефективними і шкідливим вхідним даним було значно важче заморозити ваш застосунок перевантаженням.
npx lagune read catalog regexRuby
Охоплює пастки безпеки, специфічні для застосунків на Ruby, особливо завантаження недовірених даних, яке може виконати код зловмисника.
npx lagune read catalog rubyRust
Охоплює пастки безпеки, специфічні для застосунків на Rust, особливо unsafe-код, який може пошкодити пам'ять чи обвалити програму.
npx lagune read catalog rustСекрети
Тримає паролі, API-ключі й токени поза вашим вихідним кодом, щоб спільний репозиторій чи збірка, що витекла, ніколи не віддали їх зловмиснику.
npx lagune read catalog secretsServerless
Перевіряє хмарні функції та їхні дозволи, щоб жодну окрему функцію не можна було використати для доступу до значно більшого, ніж їй належить.
npx lagune read catalog serverlessSQL
Захищає те, як ваш застосунок спілкується з базою даних, щоб підроблені вхідні дані не могли прочитати, змінити чи видалити дані, яких ніколи не мали торкатися.
npx lagune read catalog sqlSupabase
Закриває доступ до вашого бекенду на Supabase, щоб правила бази даних справді діяли, а секретні ключі не опинилися у відкритому доступі.
npx lagune read catalog supabaseТранспорт
Захищає передавання даних, щоб вони йшли зашифрованим з'єднанням і їх було значно важче прочитати чи змінити дорогою між вашими користувачами й застосунком.
npx lagune read catalog transportЗавантаження файлів
Захищає завантаження файлів, щоб значно ускладнити завантаження замаскованого файлу, який виконує код, перезаписує дані чи заповнює ваше сховище.
npx lagune read catalog uploadXML
Захищає те, як ваш застосунок читає дані XML, щоб підроблений файл значно рідше міг злити файли сервера чи вивести застосунок з ладу.
npx lagune read catalog xmlЗапуск власноруч
Щоб скористатися спеціалізацією напряму, попросіть агента завантажити її через read catalog <name> і напишіть завдання в тому самому промпті. Тоді знання діють на те, про що ви попросили. Це працює в будь-якому промпті, навіть не пов'язаному з процесом Lagune.
Наприклад, прямий довільний промпт, щоб згенерувати безпечний набір RegExp на Python:
Завантаж спеціалізацію regex через `npx lagune read catalog regex`, а потім створи в @src/utils/regex.py набір регулярних виразів для перевірки email-адрес та імен користувачів.
Тут детермінований хук перевіряє кожен RegExp на ReDoS, залишає безпечні й видає щось на кшталт:
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
Перевірте шаблон самі на devina.io/redos-checker.
Вбудовані спеціалізації
Вбудовані спеціалізації згруповано в категорії. Ось набір, що постачається з Lagune:
| Спеціалізація | Категорія | Фокус |
|---|---|---|
regex | owasp | ReDoS: шаблони, що вибухають на підроблених вхідних даних. |
network | owasp | SSRF і перенаправлення: адреси запитів чи перенаправлень, задані користувачем. |
interpreter | owasp, lovable | Ін'єкція коду: eval, динамічне підключення, виклик за назвою. |
sql | owasp | Реляційні бази даних: ін'єкції, сирі виклики ORM, привілеї, досяжність рушія БД. |
path | owasp | Шляхи файлової системи: traversal, null-байт, потоки NTFS, підкидання файлів. |
upload | owasp | Завантаження файлів: тип і сигнатура, шкідливий вміст, зберігання, обмеження. |
access-control | owasp, lovable | Автентифікація, авторизація, сесії: IDOR, mass assignment, тенанти, сесії. |
credential-endpoint | owasp, lovable | Підбір і боти: brute force, password spraying, credential stuffing, обмеження частоти. |
federation | owasp | Довіра до токенів: OAuth/OIDC, SAML, перевірка JWT, вхід через QR-код. |
http-request | owasp | Походження запитів: CSRF, помилки конфігурації CORS, підроблена IP-адреса клієнта. |
transport | owasp | Безпека каналу: конфігурація TLS, HTTPS проти відкритого тексту, HSTS, pinning. |
crypto | owasp, lovable | Криптографія для даних у спокої: слабкі чи саморобні алгоритми, CSPRNG, керування ключами. |
secrets | owasp, lovable | Жорстко закодовані облікові дані: ключі, токени, паролі як літерали у вихідному коді. |
api-endpoint | owasp | Поверхні поза REST: GraphQL, gRPC, авторизація WebSocket, DoS, схема. |
payment | owasp, lovable | Оформлення оплати: перевірка шлюзу на сервері, підписані колбеки, ідемпотентність. |
xml | owasp | Розбір XML: XXE, зовнішні сутності, розростання billion laughs. |
csv | owasp | Ін'єкція формул: клітинки таблиць, що починаються з =/+/-/@. |
container | owasp, infra | Конфігурація контейнерів: root, capabilities, монтування сокета, захист образу. |
infra | infra | Інфраструктура як код: Terraform, Dockerfile, GitHub Actions. |
serverless | owasp, infra, lovable | Функції FaaS: IAM з мінімальними привілеями, вхідні дані подій, контекст, секрети. |
llm | ai, lovable | Ризики ШІ та LLM: prompt injection, agency, RAG, MCP, вивід. |
supabase | lovable | Бекенд на Supabase: RLS вимкнено за замовчуванням, політики, хибно згенеровані ШІ, модель ключів. |
browser | javascript, lovable | Ризики на боці клієнта: XSS, CSP, framing, сховище тощо. |
javascript | javascript | Ризики на рівні мови: RCE, prototype pollution тощо. |
python | python | Ризики на рівні мови: RCE через pickle, class pollution, -O тощо. |
rust | rust | Коректність unsafe: UB із безпечного коду, transmute, переповнення. |
java | java | Десеріалізація й мобільний код: ланцюжки readObject, перехоплення об'єктів. |
ruby | ruby | Десеріалізація й open: відновлення об'єктів через Marshal чи YAML, особливість із pipe. |
php | php | Type juggling і unserialize: magic hashes, POP-ланцюжки. |
go | go | Typed nil і data races: nil != nil, горутини зі спільною пам'яттю. |
c-cpp | c-cpp | Форматні рядки: printf(user_input), write-what-where через %n. |
dotnet | dotnet | Ризики на рівні платформи: RCE через BinaryFormatter, @Html.Raw, прогалини в enum. |
Більшість вбудованих знань стисло викладено з OWASP. Повну відповідність кожної спеціалізації її канонічним сторінкам атак і Cheat Sheet від OWASP наведено в Джерелах OWASP. Кілька модулів для конкретних стеків натомість спираються на настанови самого постачальника: supabase, наприклад, походить із документації Supabase і CVE-2025-48757.
Ваші власні спеціалізації
Вбудовані спеціалізації розростаються додаванням одного файлу знань і одного рядка в індексі, а не нової команди. Власні ви додаєте так само, через /lagune-specialize: спрямуйте її на статтю чи тему, і вона стисло викладе нову спеціалізацію у вашому проєкті, файл у .lagune/catalog/ і його запис у .lagune/configs.json. Ваші власні спеціалізації завжди є в каталозі, хоч би які в нього категорії, а ваша спеціалізація перекриває вбудовану з тією самою назвою.
Коли фаза detect чи verify натрапляє на контекст, який охоплює спеціалізація, вона сама завантажує цю спеціалізацію через read catalog <name>. Це відбувається автоматично, як частина фази. Робити це вручну, щоб усе працювало, не потрібно.
Що доступно
Щоб переглянути каталог вашого проєкту з термінала, по одній спеціалізації на рядок із тегами:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
Спеціалізація з [required] застосовується завжди, хоч би якою була робота. Які вбудовані спеціалізації є в списку, залежить від категорій вашого проєкту.
Потрібні знання підтягуються для того, чим насправді є проєкт, замість того щоб за замовчуванням запускалися всі перевірки.
Часті запитання
Цільовий модуль знань з безпеки, незалежний від мови програмування, який завантажується лише на вимогу, а не за замовчуванням. Це не команда, як навички агента.
Спеціалізації, які використовує проєкт: вбудовані спеціалізації його категорій плюс власні. Поки не записано жодної категорії, він використовує лише OWASP.
Ні. Вони завантажуються лише на вимогу, для того, чим насправді є проєкт.
У тому самому промпті, що й завдання, попросіть агента виконати npx lagune read catalog <name>.
