# Каталог: спеціалізації з безпеки на вимогу

> Як завантажуються спеціалізації з каталогу вашого проєкту, фазою на вимогу і вами напряму.

Канонічна URL-адреса: https://lagune.ai/uk-UA/docs/catalog
Мова: uk-UA
Оригінал: https://lagune.ai/docs/catalog
Останнє оновлення: 2026-11-03

🧠 Спеціалізації **Lagune** є цільовими модулями знань з безпеки, незалежними від мови програмування, які завантажуються лише на вимогу, а не за замовчуванням. Це не команди. Каталог вашого проєкту є набором, який він використовує: вбудовані спеціалізації його [категорій](https://lagune.ai/uk-UA/docs/categories) плюс власні. Фази detect і verify звертаються до них під час роботи, а ви можете завантажити будь-яку напряму будь-коли.

**Огляд**

*Інтерактивний огляд каталогу є на вебсторінці. Усі вбудовані спеціалізації наведено в таблиці нижче.*

**Як це працює**

## Запуск власноруч

Щоб скористатися спеціалізацією напряму, попросіть агента завантажити її через `read catalog <name>` і напишіть завдання в тому самому промпті. Тоді знання діють на те, про що ви попросили. Це працює в будь-якому промпті, навіть не пов'язаному з процесом **Lagune**.

Наприклад, прямий довільний промпт, щоб згенерувати безпечний набір **RegExp** на **Python**:

```prompt
Завантаж спеціалізацію regex через `npx lagune read catalog regex`, а потім створи в @src/utils/regex.py набір регулярних виразів для перевірки email-адрес та імен користувачів.
```

Тут детермінований хук перевіряє кожен **RegExp** на **ReDoS**, залишає безпечні й видає щось на кшталт:

```python
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
```

**Спробуйте перевірку ReDoS**

Перевірте шаблон самі на [**devina.io/redos-checker**](https://devina.io/redos-checker).

## Вбудовані спеціалізації

Вбудовані спеціалізації згруповано в [**категорії**](https://lagune.ai/uk-UA/docs/categories). Ось набір, що постачається з **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**](https://lagune.ai/uk-UA/docs/references/owasp-sources). Кілька модулів для конкретних стеків натомість спираються на настанови самого постачальника: `supabase`, наприклад, походить із документації Supabase і CVE-2025-48757.

## Ваші власні спеціалізації

Вбудовані спеціалізації розростаються додаванням одного файлу знань і одного рядка в індексі, а не нової команди. Власні ви додаєте так само, через [`/lagune-specialize`](https://lagune.ai/uk-UA/docs/commands/specialize): спрямуйте її на статтю чи тему, і вона стисло викладе нову спеціалізацію у вашому проєкті, файл у `.lagune/catalog/` і його запис у `.lagune/configs.json`. Ваші власні спеціалізації завжди є в каталозі, хоч би які в нього категорії, а ваша спеціалізація перекриває вбудовану з тією самою назвою.

**Усередині Lagune завантажує спеціалізації автоматично, на вимогу**

Коли фаза detect чи verify натрапляє на контекст, який охоплює спеціалізація, вона сама завантажує цю спеціалізацію через `read catalog <name>`. Це відбувається автоматично, як частина фази. Робити це вручну, щоб усе працювало, не потрібно.

## Що доступно

Щоб переглянути каталог вашого проєкту з термінала, по одній спеціалізації на рядок із тегами:

```bash
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
```

Спеціалізація з `[required]` застосовується завжди, хоч би якою була робота. Які вбудовані спеціалізації є в списку, залежить від [**категорій**](https://lagune.ai/uk-UA/docs/categories) вашого проєкту.

**Спеціалізації не завантажуються за замовчуванням**

Потрібні знання підтягуються для того, чим насправді є проєкт, замість того щоб за замовчуванням запускалися всі перевірки.

## Часті запитання

### Що таке спеціалізація Lagune?

Цільовий модуль знань з безпеки, незалежний від мови програмування, який завантажується лише на вимогу, а не за замовчуванням. Це не команда, як навички агента.

### Що таке каталог проєкту?

Спеціалізації, які використовує проєкт: вбудовані спеціалізації його категорій плюс власні. Поки не записано жодної категорії, він використовує лише OWASP.

### Чи завантажуються спеціалізації за замовчуванням?

Ні. Вони завантажуються лише на вимогу, для того, чим насправді є проєкт.

### Як завантажити спеціалізацію напряму?

У тому самому промпті, що й завдання, попросіть агента виконати npx lagune read catalog <name>.
