AIKraft/Skills/Создатель вариантов правил Semgrep

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

Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.

trailofbits official Разработка

Что делает навык

Создаёт языковые варианты существующих правил Semgrep, портируя их на указанные целевые языки. Используется для переноса готового правила с сохранением логики обнаружения уязвимостей в новые языки программирования.

Когда применять

  • Перенос существующего правила Semgrep на другой язык (например, с Python на Go или Java)
  • Автоматизация создания тестов и правил для нескольких языков одновременно
  • Анализ применимости паттерна обнаружения к целевому языку перед написанием кода
  • Валидация портированного правила через запуск тестов Semgrep

Как работает

  1. Запустить workflow /semgrep-rule-variant-creator:port-rule-to-languages с указанием пути к правилу, целевых языков и директории с эталонными файлами (referencesDir)
  2. Выполнить анализ применимости (Applicability analysis) для каждого языка, определив, существует ли класс уязвимостей и эквивалентные конструкции в целевом языке
  3. Создать тестовый файл (Test creation) на целевом языке, включающий как случаи обнаружения (ruleid), так и безопасные варианты (ok)
  4. Перевести правило (Rule translation), используя AST целевого языка для точного соответствия структуры паттерна, и обновить метаданные
  5. Провести валидацию (Validation), запустив semgrep --test, и исправить правило до тех пор, пока все тесты не пройдут успешно

Примеры запросов агенту

Портируй правило из файла /rules/python-injection.yaml на языки Go и Java, используя директорию /refs/semgrep-references
Создай варианты правила Semgrep для языка Rust, указав путь к исходному правилу и эталонным файлам
Запусти процесс портирования правила на C++, чтобы получить независимые директории с правилом и тестами

Что понадобится

  • Доступ к файловой системе для чтения правила и записи результатов
  • Наличие переменной окружения или пути к директории с эталонными файлами (referencesDir)
  • Установленный Semgrep для выполнения тестов и анализа

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «semgrep-rule-variant-creator» из репозитория: # https://github.com/trailofbits/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r semgrep-rule-variant-creator/ ~/.claude/skills/semgrep-rule-variant-creator/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.