Создатель вариантов правил 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.
AItrailofbits
official
Разработка
Что делает навык
Создаёт языковые варианты существующих правил Semgrep, портируя их на указанные целевые языки. Используется для переноса готового правила с сохранением логики обнаружения уязвимостей в новые языки программирования.
Когда применять
- Перенос существующего правила Semgrep на другой язык (например, с Python на Go или Java)
- Автоматизация создания тестов и правил для нескольких языков одновременно
- Анализ применимости паттерна обнаружения к целевому языку перед написанием кода
- Валидация портированного правила через запуск тестов Semgrep
Как работает
- Запустить workflow /semgrep-rule-variant-creator:port-rule-to-languages с указанием пути к правилу, целевых языков и директории с эталонными файлами (referencesDir)
- Выполнить анализ применимости (Applicability analysis) для каждого языка, определив, существует ли класс уязвимостей и эквивалентные конструкции в целевом языке
- Создать тестовый файл (Test creation) на целевом языке, включающий как случаи обнаружения (ruleid), так и безопасные варианты (ok)
- Перевести правило (Rule translation), используя AST целевого языка для точного соответствия структуры паттерна, и обновить метаданные
- Провести валидацию (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 и совместимые) подхватывает его по описанию и следует шагам.