HV

haraldalder-vibemogger/vibe-audit

部署与 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