Быстрый комплексный чек изменённых файлов перед пушем — секреты + очевидные инъекции + PII; зелёный/красный вердикт с доказательствами (роль security, read-only). Use when нужно быстро решить «можно ли пушить».
Installs into .claude/skills of the current project.
Are you the author of Security Pre Push?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vitammiin-security-pre-push)
---
name: security-pre-push
description: Быстрый комплексный чек изменённых файлов перед пушем — секреты + очевидные инъекции + PII; зелёный/красный вердикт с доказательствами (роль security, read-only). Use when нужно быстро решить «можно ли пушить».
---
# Задача: чек перед пушем
Проверь изменения перед пушем (**read-only**); база сравнения — из аргумента, иначе upstream ветки (`@{u}`) или `origin/dev`.
1. Область: `git diff <база>...HEAD --name-only` + `git status --porcelain`. Нечего пушить — так и скажи.
2. **Секреты** в диффе (`git diff <база>...HEAD`, не всё дерево): паттерны `$secrets-detection` (`sk-`, `ghp_`, `AKIA`, `xox.`, `rnd_`, `fc-`, `AIza`, `Bearer`, private keys, `user:pass@`) + новые `.env` вне `.gitignore`.
3. **Очевидные инъекции** в изменённых файлах: интерполяция ввода в SQL/shell, `dangerouslySetInnerHTML`/`innerHTML` с данными, `eval`.
4. **PII:** реальные email/телефоны, пути `/Users/…`, внутренние hostname в добавленных строках.
5. Отфильтруй ложное (env-подстановки, плейсхолдеры, тестовые фейки) — контекст каждой строки до вердикта.
Вердикт: **ЗЕЛЁНЫЙ** или **КРАСНЫЙ** — со списком прогнанных проверок; для красного — каждая находка `file:line` + цитата + severity + что сделать до пуша. Реальный секрет — красный всегда: ротация обязательна, даже если строку убрать из коммита. Ничего не правь; фиксы — `$backend`/`$frontend`/роль gitflow.