# write_semgrep_rule

Промпт создаёт готовые правила Semgrep в формате YAML по описанию проблемы или фрагменту небезопасного кода.

- промпт · `type=prompt` · ★ 44450
- Автор: danielmiessler
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/danielmiessler/Fabric/tree/HEAD/data/patterns/write_semgrep_rule
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/prompts/write-semgrep-rule

## Что делает

Промпт превращает описания уязвимостей в корректный синтаксис статического анализатора Semgrep. На выходе получается только файл правила без лишних пояснений.

Шаблон учитывает обязательные поля схемы: идентификатор `id`, текст `message`, уровень `severity` и массив поддерживаемых языков `languages`. Логика сопоставления строится через базовый `pattern`, объединение `patterns`, логическое ИЛИ `pattern-either` или регулярные выражения `pattern-regex`. Также поддерживаются отрицания `pattern-not`, контекстный поиск `pattern-inside` и фильтры метапеременных.

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

## Установка

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

**Вручную: положить файлы**
- Файл: `.claude/commands/write_semgrep_rule.md`

### ChatGPT

**Как использовать**
- Вставьте текст в начало диалога или в инструкции проекта

### fabric

**Команда из источника**
```bash
fabric --pattern write_semgrep_rule
```

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/danielmiessler/Fabric/tree/HEAD/data/patterns/write_semgrep_rule

## Когда брать
- Сгенерировать правило Semgrep для поиска опасных функций
- Связать условия через логические операторы `patterns` и `pattern-either`
- Ограничить область поиска через `pattern-inside` и проверки метапеременных
- Задать автоматическую замену небезопасного фрагмента через блок `fix`

## Примеры запросов агенту
- Напиши правило Semgrep для поиска вызовов hashlib.md5 в Python
- Создай правило для обнаружения небезопасного запуска команд в Bash
- Сделай правило Semgrep с блоком fix для замены устаревшей функции

## Похожие
- [Web Security taste](https://affpapa.org/nevibecode/prompts/web-security-taste.md) — промпт · ★ 174676
- [Senior Code Reviewer (severity-ranked)](https://affpapa.org/nevibecode/prompts/senior-code-reviewer-severity-ranked.md) — промпт · ★ 174676
- [Code Review Assistant for Bug Detection](https://affpapa.org/nevibecode/prompts/code-review-assistant-for-bug-detection.md) — промпт · ★ 174676
- [Python Security Vulnerability Auditor (OWASP-Mapped & Production-Hardened)](https://affpapa.org/nevibecode/prompts/python-security-vulnerability-auditor-owasp-mapped-production-hardened.md) — промпт · ★ 174676
- [security fixes](https://affpapa.org/nevibecode/prompts/security-fixes.md) — промпт · ★ 174676
- [Analyze code scanning security issues and dependency updates if vulnerable](https://affpapa.org/nevibecode/prompts/analyze-code-scanning-security-issues-and-dependency-updates-if-vulnerable.md) — промпт · ★ 174676

Из того же набора: [danielmiessler/fabric](https://affpapa.org/nevibecode/by/danielmiessler/fabric.md) — 26 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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