semgrep · semgrep — скилл для Claude Code: сканы кода и свои правила
Запускает статический анализ Semgrep и помогает писать YAML-правила под свой проект. Пригодится, когда нужно найти уязвимости или зафиксировать внутренние стандарты кода.
npx skills add semgrep/skills --skill semgrep -a claude-codeЧто делает semgrep
Скилл учит агента работать с Semgrep: запускать сканы по готовым наборам правил и сочинять собственные детекторы. Если в окружении есть MCP-инструменты Semgrep, агент предпочтёт их — semgrep_scan, semgrep_scan_with_custom_rule, semgrep_findings, semgrep_rule_schema и get_supported_languages. Без них он опускается до CLI.
Для поиска уязвимостей вида инъекций скилл советует taint-режим: он отслеживает путь данных от источника до опасного стока. Простое сопоставление шаблонов тут слабее, потому что не отличает eval(user_input) от eval("safe_literal"). Правила пишутся на YAML, а проверяются на тестовых файлах с пометками ruleid: и ok: — тесты идут первыми, и без них правило не считается готовым.
Сканы запускаются по наборам вроде p/security-audit, p/owasp-top-ten или p/cwe-top-25, вывод можно сохранить в SARIF или JSON. Ложные срабатывания глушатся комментарием nosemgrep, а лишние каталоги вроде vendor/ и node_modules/ убираются через .semgrepignore. Учтите: сам Semgrep ставится отдельно — через python3 -m pip install semgrep, Homebrew или Docker, — иначе скиллу нечего будет вызывать.
Какие задачи решает
- прогнать быстрый скан безопасности по репозиторию
- написать своё YAML-правило под паттерн бага в проекте
- найти утечку пользовательского ввода в опасный вызов
- заглушить ложное срабатывание, не отключая правило целиком
- выгрузить результаты скана в SARIF для CI
Примеры запросов агенту
- просканируй проект на уязвимости через semgrep
- напиши правило semgrep, которое ловит хардкод паролей в Python
- проверь этот файл правилом из rule.yaml и покажи совпадения
Как установить semgrep
1Через Skills CLI (Vercel)
npx skills add semgrep/skills --skill semgrep -a claude-code2Вручную: положить файлы
~/.claude/skills/semgrep/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/semgrep/
1Через Skills CLI (Vercel)
npx skills add semgrep/skills --skill semgrep -a codex2Вручную: положить файлы
.agents/skills/semgrep/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add semgrep/skills --skill semgrep -a cursor2Вручную: положить файлы
.cursor/skills/semgrep/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install semgrep/skills semgrep2Вручную: положить файлы
.github/skills/semgrep/SKILL.md1Через Skills CLI (Vercel)
npx skills add semgrep/skills --skill semgrep -a gemini-cli2Командой платформы
gemini skills install https://github.com/semgrep/skills --path skills/semgrepВручную: положить файлы
.devin/skills/semgrep/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add semgrep/skills --skill semgrep -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о semgrep
Как установить semgrep в Claude?
Выполните npx skills add semgrep/skills --skill semgrep -a claude-code. После этого файл скилла окажется по пути ~/.claude/skills/semgrep/SKILL.md.
Что делает скилл semgrep?
Запускает статический анализ кода и помогает создавать собственные правила обнаружения. Агент сам выбирает между MCP-инструментами Semgrep и командной строкой.
Нужен ли установленный Semgrep для работы скилла?
Да, для CLI-режима нужен сам Semgrep: python3 -m pip install semgrep, Homebrew или Docker. Если доступны MCP-инструменты Semgrep, сканы идут через них.
Похожие скиллы
Всё по теме «Безопасность» →Сначала — semgrep от других авторов.