HV

haraldalder-vibemogger/vibe-audit

Deployment & DevOps
63 stars Качество 40 Тренд 40

Проверь свой навайбкоженный проект на дыры до того, как это сделают боты 🩺

Обзор

Скилл для 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, бэкапы, права сервис-аккаунтов. Пройди по нему перед продом.

Нашёл живой ключ в коде? Порядок действий

  1. Перевыпусти ключ прямо сейчас в консоли сервиса. Если он был в git — он уже скомпрометирован, даже в приватном репо.
  2. Убери из кода, положи в .env, а .env — в .gitignore.
  3. Историю 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. Проверь себя до того, как это сделают боты.

View this README on GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add haraldalder-vibemogger/vibe-audit