
haraldalder-vibemogger/vibe-audit
Deployment & DevOpsПроверь свой навайбкоженный проект на дыры до того, как это сделают боты 🩺
Обзор
Скилл для Claude (Claude Code, Cowork, claude.ai — работает и в Codex), который сканирует твой проект на типовые дыры вайбкодинга и выдаёт отчёт «проблема → как чинить» с одной главной цифрой: . Ничего не меняет в проекте, работает только на чтение, секреты в отчёте маскирует. Плюс Claude делает ручной проход поверх: эндпоинты без auth, отсутствие валидации, rate limit, секреты в логах — то, что regex не видит. папку skills/vibe-audit → в .claude/skills/ проекта (или ~/.claude/skills/). скачай dist/vibe-audit.zip → Customize → Skills → «+» → загрузить ZIP. Нужен включённый code execution («Выполнение кода и создание файлов»). ту же папку в ~/.agents/skills/ — формат SKILL.md кросс-платформенный. кинь Клоду архив и напиши «прочитай skills/vibe-audit/SKILL.md и проверь мой проект». Скажи Клоду: Проверь безопасность моего проекта по vibe-audit
README
🩺 vibe-audit — проверь свой вайбкод до того, как это сделают за тебя
Скилл для Claude (Claude Code, Cowork, claude.ai — работает и в Codex), который сканирует твой проект на типовые дыры вайбкодинга и выдаёт отчёт «проблема → как чинить» с одной главной цифрой: сколько у тебя находок и сколько из них критичных.
Ничего не меняет в проекте, работает только на чтение, секреты в отчёте маскирует.
Что проверяет
| Проверка | Почему это важно |
|---|---|
| 🔑 Захардкоженные ключи (OpenAI, Anthropic, AWS, GitHub, Stripe, Slack, Telegram, PEM) | Боты сканируют публичные репо круглосуточно; утёкший ключ = чужие счета на твоей карте |
📄 .env в git |
Файл с секретами в истории репозитория остаётся там навсегда |
| 🌐 Платные API из фронтенда | Ключ в клиентском коде виден любому через DevTools |
📢 Секреты в NEXT_PUBLIC_ / VITE_ / REACT_APP_ |
Эти префиксы кладут переменную прямо в публичный бандл |
⚙️ CORS *, debug=True, eval(), SQL через f-строки, JWT alg:none |
Классика, которую ИИ-ассистенты копируют из туториалов |
| 📦 Уязвимые npm-зависимости | npm audit встроен; для python подскажет pip-audit |
| 🚦 Нет rate limit на login/signup | Открытая дверь для брутфорса и спама кодов |
| 💸 AI cost bomb | LLM-эндпоинт без авторизации и max_tokens — любой сожжёт твой баланс |
| 🔓 Роль из клиента, IDOR-подозрения, JWT без expiry | Типовые дыры авторизации вайбкода |
| 🐳 Дефолтные пароли и порты БД наружу в docker-compose | POSTGRES_PASSWORD: postgres + порт в интернет |
| 🌐 Live-проверка своего домена | Security-заголовки, флаги кук, торчащие наружу .env/.git/дампы |
| ✅ Чек-лист перед деплоем | Spending limits, 2FA, RLS, бэкапы — то, что сканер увидеть не может |
| 🏗 Supabase / Firebase | Напомнит проверить RLS и security rules — там, где сканер бессилен |
Плюс Claude делает ручной проход поверх: эндпоинты без auth, отсутствие валидации, rate limit, секреты в логах — то, что regex не видит.
Установка
Claude Code: папку skills/vibe-audit → в .claude/skills/ проекта (или ~/.claude/skills/).
Cowork / claude.ai: скачай dist/vibe-audit.zip → Customize → Skills → «+» → загрузить ZIP.
Нужен включённый code execution («Выполнение кода и создание файлов»).
Codex: ту же папку в ~/.agents/skills/ — формат SKILL.md кросс-платформенный.
Без установки: кинь Клоду архив и напиши «прочитай skills/vibe-audit/SKILL.md и проверь мой проект».
Использование
Скажи Клоду:
Проверь безопасность моего проекта по vibe-audit
Или руками, без Клода вообще (это просто python-скрипт без зависимостей):
python3 skills/vibe-audit/scripts/audit.py /путь/к/проекту
На выходе:
🩺 vibe-audit: 9 находок (🔴 5 / 🟡 4 / 🔵 0)
Отчёт: vibe-audit-report.md
Отчёт — Markdown со списком «где / что / как чинить», отсортирован по критичности.
Секреты в отчёте показаны как sk-pro…op — целиком не печатаются никогда.
Проверка своего задеплоенного сайта
Если сайт уже развёрнут — проверь, не торчит ли наружу лишнее (работает только против твоего домена, скрипт спросит подтверждение):
python3 skills/vibe-audit/scripts/livecheck.py https://твой-сайт.com
Делает только обычные GET-запросы, как браузер: смотрит security-заголовки, флаги кук
и не читаются ли из интернета .env, .git/config, дампы базы. Это аналог
securityheaders.com, а не атака — чужие домены проверять нельзя и незачем.
Чек-лист перед деплоем
skills/vibe-audit/checklist.md — то, что скрипт увидеть не может: spending limits в
консолях OpenAI/Anthropic, 2FA, RLS в Supabase, бэкапы, права сервис-аккаунтов. Пройди
по нему перед продом.
Нашёл живой ключ в коде? Порядок действий
- Перевыпусти ключ прямо сейчас в консоли сервиса. Если он был в git — он уже скомпрометирован, даже в приватном репо.
- Убери из кода, положи в
.env, а.env— в.gitignore. - Историю git чистит
git filter-repo(но п.1 всё равно обязателен).
Работает ли с Fable 5 / Opus / без ИИ вообще
Да. Важное: скрипты работают сами по себе — это чистый python без ИИ. python3 audit.py .
выдаёт отчёт независимо от того, какая модель у тебя подключена и подключена ли вообще.
ИИ нужен только для удобства (прочитать SKILL.md, пройтись по коду поверх сканера, объяснить фиксы).
Если ты на Fable 5 и разговор про безопасность переключит тебя на Opus 4.8 — ничего не сломается: аудит с форматом «проблема → как чинить» одинаково работает на любой модели. Инструмент сознательно держит рамку «чинить, а не ломать»: он не пишет эксплойты и не сканирует чужие домены, поэтому у него нет причин упираться в защитные механизмы.
Честные ограничения
Это линтер типовых ошибок, а не пентест и не гарантия. Он не проверяет: логику авторизации, права в облачных консолях, RLS-политики на стороне Supabase, инфраструктуру. Ноль находок ≠ безопасное приложение. Для продакшена с деньгами и персональными данными — зови живого секьюрити-специалиста.
Траблшутинг
| Симптом | Лечение |
|---|---|
| «npm audit не запустился» в отчёте | Нет npm или сети — запусти npm audit локально, это info-находка, не ошибка |
| Ложное срабатывание на строку в коде | Если это пример/тест — переименуй файл в *.example или *.sample, сканер их пропускает |
| Скрипт не видит файлы | Проверь путь: сканируется папка из аргумента, node_modules/.git/dist пропускаются намеренно |
| Хочу добавить свой паттерн ключа | Открой audit.py, список SECRET_PATTERNS — добавь строку и пришли PR |
Поддержка
Вопросы и ложные срабатывания — в Issues (с фрагментом строки, на которую сработало, БЕЗ реальных ключей). PR с новыми проверками — самый ценный вклад.
Лицензия
MIT.
Сделано для подписчиков ika.explains. Проверь себя до того, как это сделают боты.
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add haraldalder-vibemogger/vibe-audit