🧠 Специализации Lagune представляют собой профильные модули знаний о безопасности, независимые от языка, которые загружаются только по запросу и никогда по умолчанию. Это не команды. Каталог вашего проекта образует набор, который он использует: встроенные специализации его категорий плюс собственные. Фазы detect и verify обращаются к ним во время работы, а вы можете загрузить любую напрямую в любой момент.
- Обзор
- Как это работает
Контроль доступа
Следит, чтобы люди видели и делали только то, что им разрешено, и никто не мог добраться до чужих данных или действий только для администраторов, просто изменив ссылку или ID.
npx lagune read catalog access-controlЭндпоинт API
Проверяет двери, которые ваше приложение открывает внешнему миру, чтобы запросы посторонних не могли вытянуть приватные данные или запустить действия, которые им не положены.
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, нулевой байт, потоки 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, агентность, RAG, MCP, вывод. |
supabase | lovable | Бэкенд на Supabase: RLS выключен по умолчанию, политики, ошибочно сгенерированные ИИ, модель ключей. |
browser | javascript, lovable | Риски на стороне клиента: XSS, CSP, фрейминг, хранилище и т. д. |
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>.
