Работа со ScanSuite

Собственные правила

Свои правила Semgrep и Nuclei: редактор, проверка, черновики от ИИ, импорт и синхронизация с Git, а также правила подавления из разбора.

Вместе со сканерами ScanSuite запускает и ваши собственные правила: правила Semgrep — при статическом анализе, шаблоны Nuclei — при сканировании веб-приложений и инфраструктуры. Они собраны на странице Правила в боковом меню, там же хранятся правила подавления, которые появляются при разборе уязвимостей. На странице три вкладки: Свои правила, Подавления и Источники Git.

Просматривать правила может любой участник команды. Чтобы создавать, изменять, импортировать и удалять их, нужно право настраивать сканирования (оно есть у администраторов и операторов команды). Чтобы разово запустить правило, нужно право запускать сканирования.

Создание правила

Нажмите Новое правило и выберите, с чего начать:

ВариантЧто делает
Правило SemgrepИщет шаблон в исходном коде. Запускается при SAST-сканировании.
Шаблон NucleiПроверяет работающее приложение или узел. Запускается при DAST- и инфраструктурном сканировании.
Сгенерировать с ИИЧерновик по примеру уязвимого кода или по HTTP-запросу и ответу.
Импортировать файлыФайлы .yaml или .yml либо архив .zip с ними.
Синхронизация из GitПравила берутся из репозитория и обновляются вместе с ним.
Создание собственного правила
Создание собственного правила

Правило пишется в редакторе на YAML. В строке Начать с: есть готовые заготовки. Движок проверяет правило прямо во время ввода, поэтому ошибку видно ещё до сохранения. Остальные параметры задаются на вкладке Подробнее:

ПолеНазначение
Класс уязвимостиЭтот класс получат уязвимости, найденные правилом. Разбор и подавления работают с ними так же, как с любыми другими уязвимостями этого класса.
Где запускаетсяТолько для Nuclei: DAST-сканирование (веб-приложения), Infra-сканирование (хосты) или оба.
Применяется кВсе продукты или только выбранные.
НаборыНазвания через запятую. При запуске сканирования можно выбрать только правила из нужных наборов.
Заметка для командыПроизвольный текст для тех, кто будет читать правило.

Нажмите Сохранить. Переключатель Запускается при сканировании определяет, участвует ли правило в сканированиях. Правило, которое движок отклонил, включить нельзя. На вкладке История хранятся все сохранённые версии: их можно сравнить или загрузить обратно в редактор.

Проверка правила

На вкладке Тест к правилу прикладываются примеры с пометкой Должно сработать или Не должно сработать. Для Semgrep пример — фрагмент кода, и примеры прогоняются при каждом сохранении. Для Nuclei пример — сохранённый HTTP-ответ: шаблон запускается на его локальной копии и к настоящему узлу не обращается. Кнопка Запустить тесты прогоняет примеры по запросу.

На вкладке Запуск правило можно один раз выполнить без сканирования, ничего не сохраняя: правило Semgrep — на репозитории продукта, шаблон Nuclei — на указанном URL. Шаблон Nuclei отправляет настоящие запросы, поэтому запустить его можно только на цели, которую команде разрешено сканировать.

Генерация правила с помощью ИИ

На вкладке Помощь ИИ можно написать новое правило или изменить то, что уже в редакторе. Опишите, что правило должно находить или что в нём изменить, и приложите исходные данные:

  • для шаблона Nuclei — HTTP-запрос и HTTP-ответ, по которым видна уязвимость;
  • для правила Semgrep — Язык, Уязвимый код и, если нужно, Безопасный код, который нельзя отмечать.

Нажмите Сгенерировать. Черновик проверяется движком и прогоняется на примерах ещё до того, как вы его увидите, а HTTP-ответ или уязвимый код становится тестовым примером. Нажмите Перенести в редактор, проверьте правило и сохраните его.

Генерация правила с помощью ИИ
Черновик правила, составленный ИИ

Всегда проверяйте сгенерированные правила перед сохранением. Слишком широкое правило будет шуметь в каждом сканировании, а правило, которое никогда не срабатывает, бесполезно, и вы об этом даже не узнаете.

Для генерации нужен настроенный AI-провайдер — см. Поставщики ИИ и стоимость.

Список правил

На вкладке Свои правила для каждого правила видны переключатель, движок, критичность, продукты, к которым оно применяется, открытые уязвимости и дата изменения. Фильтр Требует внимания показывает правила, которые отклонил движок, правила с непрошедшим тестовым примером и правила, которые ни разу не сработали. Если отметить несколько правил, их можно разом включить, выключить, добавить в набор, выгрузить в .zip или удалить.

Импорт, экспорт и источники Git

Кнопка Импорт принимает правила Semgrep и шаблоны Nuclei в файлах .yaml или .yml либо архив .zip с ними, размером до 10 МБ. Перед сохранением показывается, что будет импортировано. Импортированные правила по умолчанию добавляются выключенными. Кнопка Экспорт выгружает правила.

На вкладке Источники Git укажите https://-адрес репозитория с правилами и, если нужно, ветку, папку и набор. Каждый файл правила Semgrep и шаблон Nuclei в этой папке становится правилом. Кнопка Синхронизировать добавляет новые файлы, обновляет изменённые и удаляет правила, файлов которых больше нет. Синхронизированные правила редактируются в репозитории, а переключатель, область применения и наборы вы задаёте в ScanSuite.

Запуск правил

Чтобы проверить цель по своим правилам, включите сканер Мои правила на странице нужного сканирования. Он есть для статических, веб- и инфраструктурных сканирований. Под переключателем форма показывает, сколько правил запустится для выбранного продукта, и позволяет оставить только некоторые наборы. Если к продукту не относится ни одно включённое правило, сканер пропускается.

Всё, что находят ваши правила, всегда сохраняется на странице «Уязвимости» — независимо от того, выгружает ли сканирование результаты в DefectDojo. Если правило Semgrep срабатывает в файле, для этого файла создаётся одна уязвимость со списком всех совпавших строк.

Правила подавления

Правило подавления запрещает AI SAST сообщать об одном классе уязвимостей в файле, папке или во всём репозитории. Оно действует и на уязвимости, найденные своими правилами. Правило создаётся, когда вы отмечаете уязвимость как ложное срабатывание: на странице «Уязвимости» действие Ложное срабатывание… предлагает вариант Больше не сообщать об этом классе здесь — см. Управление уязвимостями. В следующих сканированиях правило срабатывает раньше, чем кандидат успеет потратить вызов модели.

Все правила собраны на вкладке Подавления:

Список правил подавления
Правила подавления, созданные при разборе ложных срабатываний
СтолбецЧто показывает
ПродуктПродукт, к которому относится правило.
КлассПодавляемый класс уязвимостей.
ГдеФайл, папка или репозиторий, с указанием, что именно из трёх.
ПричинаПричина, указанная при отметке ложного срабатывания.
СозданКогда и кем создано правило и до какой даты действует, если срок задан.
ПримененоСколько раз правило подавило кандидата; при наведении видно, когда в последний раз.

Кнопка Отключить отменяет правило, и там, где оно действовало, об этом классе снова будут сообщать. Правило с истёкшим сроком перестаёт действовать само. Правила продукта также видны на вкладке Настройки его страницы.

В ScanSuite Teams создавать и отменять правила подавления может только тот, у кого есть право настраивать сканирования.

Проверено: 2026-09-30