# semgrep

Запускает статический анализ Semgrep и помогает писать YAML-правила под свой проект. Пригодится, когда нужно найти уязвимости или зафиксировать внутренние стандарты кода.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2200 установок · ★ 332
- Автор: semgrep
- Лицензия: LicenseRef-Unknown · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/semgrep/skills/tree/HEAD/skills/semgrep/SKILL.md
- Обновлён: 2026-07-28
- HTML: https://affpapa.org/nevibecode/skills/semgrep-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, — иначе скиллу нечего будет вызывать.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add semgrep/skills --skill semgrep -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/semgrep/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/semgrep/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add semgrep/skills --skill semgrep -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/semgrep/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add semgrep/skills --skill semgrep -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/semgrep/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install semgrep/skills semgrep
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/semgrep/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add semgrep/skills --skill semgrep -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/semgrep/skills --path skills/semgrep
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/semgrep/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add semgrep/skills --skill semgrep -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/semgrep/skills/tree/HEAD/skills/semgrep/SKILL.md

## Когда брать
- прогнать быстрый скан безопасности по репозиторию
- написать своё YAML-правило под паттерн бага в проекте
- найти утечку пользовательского ввода в опасный вызов
- заглушить ложное срабатывание, не отключая правило целиком
- выгрузить результаты скана в SARIF для CI

## Примеры запросов агенту
- просканируй проект на уязвимости через semgrep
- напиши правило semgrep, которое ловит хардкод паролей в Python
- проверь этот файл правилом из rule.yaml и покажи совпадения

## Похожие
- [semgrep-rule-creator](https://affpapa.org/nevibecode/skills/semgrep-rule-creator.md) — скилл · 5800 установок
- [semgrep-rule-variant-creator](https://affpapa.org/nevibecode/skills/semgrep-rule-variant-creator.md) — скилл · 5300 установок
- [security-reviewer](https://affpapa.org/nevibecode/skills/security-reviewer.md) — скилл · 6000 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок
- [find-bugs](https://affpapa.org/nevibecode/skills/find-bugs.md) — скилл · 944 установки
- [bug-hunter](https://affpapa.org/nevibecode/skills/bug-hunter.md) — скилл · 783 установки

## Другие версии с тем же именем
- [semgrep · trailofbits](https://affpapa.org/nevibecode/skills/semgrep.md) — 9500 установок

Из того же набора: [semgrep/skills](https://affpapa.org/nevibecode/by/semgrep/skills.md) — 3 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
