EE-VibeCoding

Vibe Security — навык для ИИ-ассистентов кодинга

Vibe Security — навык для ИИ-ассистентов кодинга

Навык, который помогает защитить вайб-код-приложения (и любые другие) от типовых уязвимостей. Автор — Крис Рарок (в соавторстве с коллегами из Aloa).

ИИ-ассистенты быстро пишут фичи, но систематически ошибаются в безопасности: хардкодят секреты, пропускают row-level security, доверяют ценам, присланным клиентом, хранят токены в localStorage. Этот навык ловит такие паттерны до выхода в продакшн.

Предыстория

Навык создан для типовых проблем безопасности вайб-код-приложений. При быстрой разработке с ИИ основы безопасности пропускаются — и часто сами ассистенты вносят уязвимости. Навык даёт агенту знания, чтобы ловить и предотвращать эти паттерны.

Использует формат Agent Skills, поэтому работает с Claude Code, OpenAI Codex и другими совместимыми агентами.

Правила хранятся как справочные файлы: агент подгружает нужные в зависимости от технологий проекта. Используете Supabase — проверит политики RLS. Stripe — проверит платёжные потоки. React Native — проверит секреты в JS-бандле. Ненужные проверки не тратят контекст.

Установка

Claude Code

npx skills add <адрес репозитория навыка> --skill vibe-security

Если npx недоступен, сначала установите Node.js.

OpenAI Codex

npx skills add <адрес репозитория навыка> --skill vibe-security

Выберите «Codex» при запросе платформы агента.

Установка вручную (Claude Code)

Склонируйте репозиторий и скопируйте папку vibe-security/ в каталог навыков:

# Уровень проекта
cp -r vibe-security/ .claude/skills/vibe-security/

# Глобально (для всех проектов)
cp -r vibe-security/ ~/.claude/skills/vibe-security/

Использование

Claude Code: /vibe-security запускает полный аудит, или спросите естественно: «проверь код на проблемы безопасности», «это безопасно?», «проаудитируй проект».

Codex: $vibe-security или опишите задачу: «найди уязвимости», «проверь мой Supabase RLS».

Навык также активируется автоматически при работе с кодом, который обрабатывает аутентификацию, платежи, доступ к БД, API-ключи или пользовательские данные.

Что проверяет

КатегорияЧто ловит
Секреты и envЗахардкоженные API-ключи, секреты в NEXT_PUBLIC_/VITE_/EXPO_PUBLIC_, отсутствующий .gitignore
Безопасность БДОтключённый RLS в Supabase, политики USING (true), отсутствие WITH CHECK, открытые чувствительные поля, правила Firebase allow: if true, отсутствие auth в Convex
Аутентификация и праваjwt.decode() без проверки подписи, auth только в middleware, незащищённые Server Actions, токены в localStorage
Rate limitingОтсутствие лимитов на auth/AI/email-эндпоинты, подделываемые клиентом счётчики, отсутствие лимитов расходов
ПлатежиЦены, присланные клиентом, отсутствие проверки подписи вебхуков, устаревшие проверки подписок
Мобильные приложенияAPI-ключи в JS-бандле, AsyncStorage для токенов, опасные deep links, слабая биометрия
AI / LLMОткрытые ключи AI-API, отсутствие лимитов использования, prompt injection, небезопасный рендер вывода
ДеплойDebug-режим в продакшене, открытые source maps, отсутствие security-заголовков, доступный .git
Доступ к даннымSQL-инъекции, операторные инъекции в Prisma, $queryRawUnsafe, mass assignment

Вклад приветствуется: если нашли антипаттерн, который ИИ постоянно вносит, — добавьте его в проект.