90% кода от ИИ содержит уязвимости: как проверить код после вайбкодинга
Cursor написал форму авторизации — она работает. Но внутри SQL-инъекция, захардкоженный API-ключ и открытый endpoint без проверки прав. Совместное исследование CMU, Columbia University и Johns Hopkins University (2025) показало: 90% кода, сгенерированного AI-помощниками, содержит потенциальные уязвимости безопасности. Это не значит, что AI-код нельзя использовать — это значит, что его нельзя деплоить без проверки.
Ключевые выводы: - 90% AI-сгенерированного кода содержит уязвимости по данным CMU/Columbia/Johns Hopkins (2025) - Автоматические инструменты ловят 30–50% проблем — остальные требуют человека - AI-ревью не находит баги в AI-коде: одинаковые обучающие данные, одинаковые слепые пятна - Проверка кода по ТЗ + аудит безопасности стоит 30 000 ₽ разово или от 5 000 ₽/мес
Почему AI генерирует уязвимый код?
Потому что он учился на GitHub — а там огромное количество небезопасного кода. Самый частый паттерн в обучающих данных не равен самому безопасному. AI оптимизирован на «работает» — безопасность нужно запрашивать явно, и даже тогда результат не гарантирован.
Типы уязвимостей
SQL-инъекции (CWE-89) AI подставляет пользовательский ввод напрямую в запросы:
# AI сгенерировал:
query = f"SELECT * FROM users WHERE name = '{user_input}'"
# Должно быть:
cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
XSS — Cross-Site Scripting (CWE-79) AI вставляет контент без экранирования:
// AI сгенерировал:
element.innerHTML = userComment;
// Должно быть:
element.textContent = userComment;
Захардкоженные секреты (CWE-798) AI копирует паттерны из обучающих данных, включая ключи:
// AI сгенерировал:
const API_KEY = "sk-proj-abc123...";
// Должно быть:
const API_KEY = process.env.API_KEY;
Отсутствие проверки авторизации (CWE-862) AI создаёт endpoint по аналогии, но забывает проверку прав:
// AI сгенерировал:
app.delete('/api/users/:id', async (req, res) => {
await db.users.delete(req.params.id);
res.json({ success: true });
});
// Должно быть:
app.delete('/api/users/:id', authMiddleware, async (req, res) => {
if (req.user.role !== 'admin') return res.status(403).json({ error: 'Forbidden' });
await db.users.delete(req.params.id);
res.json({ success: true });
});
Path Traversal (CWE-22) AI обрабатывает пути без валидации:
# AI сгенерировал:
filepath = os.path.join(UPLOAD_DIR, filename)
# filename может быть "../../etc/passwd"
# Должно быть:
filepath = os.path.join(UPLOAD_DIR, os.path.basename(filename))
Чеклист проверки AI-кода: что проверять и когда?
Используйте этот список перед каждым релизом и на каждом PR с AI-кодом.
Критические проверки (делать всегда)
- [ ] Пользовательский ввод — всё ли экранируется/валидируется перед использованием?
- [ ] SQL-запросы — используются ли параметризованные запросы?
- [ ] Секреты — нет ли API-ключей, паролей, токенов в коде?
- [ ] Авторизация — каждый endpoint проверяет права?
- [ ] Файловые операции — пути валидируются?
- [ ] HTTPS — все внешние запросы через HTTPS?
Важные проверки (делать перед релизом)
- [ ] Rate limiting — API защищён от brute-force?
- [ ] CORS — настроен правильно (не
*)? - [ ] Логирование — не пишутся ли секреты в логи?
- [ ] Зависимости — нет ли deprecated или уязвимых пакетов?
- [ ] Обработка ошибок — stack trace не утекает пользователю?
- [ ] Session management — токены хранятся безопасно?
Проверки бизнес-логики (делать на каждый PR)
- [ ] Соответствие ТЗ — код делает то, что просили?
- [ ] Крайние случаи — пустой ввод, null, отрицательные числа?
- [ ] Параллельные запросы — нет ли race conditions?
- [ ] Откат — что происходит при ошибке на середине операции?
Инструменты: что ловит, что пропускает?
Автоматические (ловят 30-50% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| ESLint Security Plugin | Базовые паттерны уязвимостей в JS/TS | Бесплатно |
| Bandit | SAST для Python | Бесплатно |
| npm audit / pip audit | Уязвимости в зависимостях | Бесплатно |
| DeepSource | AI SAST + автофикс | $12/юзер/мес |
| SonarQube | Комплексный статический анализ | Бесплатно (self-hosted) |
AI-ревью (ловят 50-70% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| CodeRabbit | AI-комментарии на PR | $12/юзер/мес |
| Copilot Review | Встроенное AI-ревью | $19/мес (с Copilot) |
Человеческий ревью (ловит 85-95% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| Vibers | Ревью по ТЗ + PR с исправлениями | от 5 000 ₽/мес |
| PullRequest.com | Экспертный ревью | $50+/час |
| Наём сеньора | Ревью в команде | $50-150/час |
Почему автоматических инструментов недостаточно?
Автоматические инструменты ищут известные паттерны. Они найдут innerHTML = userInput, потому что это в их базе правил. Подробнее о том, какой инструмент что находит, читайте в сравнении AI-инструментов код-ревью 2026.
Они не найдут: - Бизнес-логику, которая позволяет обнулить цену через скидку - API endpoint, доступный без авторизации, потому что AI скопировал его из внутреннего сервиса - Платёжный flow, который не проверяет 3D Secure - Race condition в процессе оплаты, позволяющий двойное списание
Эти проблемы требуют понимания контекста — чего нет ни у одного автоматического инструмента.
Как Vibers проверяет AI-код по вашему ТЗ
Если вы хотите понять, чем вайбкодинг отличается от традиционной разработки и какие риски он несёт — прочитайте отдельный гайд. Для стартапов, которым дорог бюджет, есть специальный материал про code review для стартапа без штатного senior.
Более детальный разбор конкретных ограничений инструментов — в статье CodeRabbit vs ручной код-ревью.
- Добавьте
marsiandeployerкак collaborator в ваш GitHub-репозиторий - Пришлите ТЗ — Google Doc, Notion, PDF
- Мы проверяем каждый коммит — безопасность + соответствие ТЗ + галлюцинации AI
- Отправляем PR с исправлениями — не отчёт, а рабочий код
| Категория | Примеры |
|---|---|
| Безопасность | OWASP Top 10, секреты в коде, авторизация |
| Галлюцинации | Несуществующие API, deprecated методы, выдуманные пакеты |
| Соответствие ТЗ | Фича делает то, что просили, ничего не пропущено |
| Бизнес-логика | Крайние случаи, race conditions, обработка ошибок |
| Визуал/UI | Сломанные лейауты, кривой мобайл, неправильные цвета |
Стоимость code review — 30 000 ₽ за проект. Напишите в Telegram: @onoutnoxon — проверим ваш код на уязвимости.
О сервисе "Vibers — Код-ревью для вайбкодинг-проектов"
Сервис код-ревью с участием человека для команд, использующих дешёвых AI-разработчиков. Проверяем коммиты по вашему ТЗ, исправляем проблемы и отправляем pull request'ы.
Ключевые преимущества:
- Оставьте дешёвых вайбкодеров ($1-5/час), но добавьте слой качества
- Получайте PR с реальными исправлениями, а не просто баг-репорты
- Отслеживание соответствия ТЗ — код соответствует вашим требованиям
- Ревью безопасности ловит секреты, инъекции, проблемы OWASP
- Вайбкодеры учатся на наших исправлениях — качество растёт со временем
- В 10 раз дешевле, чем нанимать сеньора для код-ревью
Для кого подходит:
Сценарии использования:
📰 Промо-статьи наших решений
Изучите детальные обзоры наших технологических решений для различных отраслей:
🚀 Разработка и автоматизация
- Автоматизация холодных продаж в криптопроектах
- AI-Assisted Development
- AI CRM Constructor: Конструктор CRM под ваш бизнес
- Парсер лидов с FL.ru
- Разработка Платформы для Автоматизации Найма Переводчиков
- Разработка WhatsApp Business Автоматизации под ключ
- Корпоративная Платформа Обмена Изображениями
- AI Quality Assurance — контроль качества AI-ответов
- Интеграция AMOCRM, Excel и Google Drive
- SimpleCrypto — AI-конфигуратор крипто-кошелька
- Синхрон1С - Автоматизация 1С без программиста
- SimpleReview — Chrome-расширение для автоматического исправления ошибок сайта
- Разработка Telegram Mini App с Лутбоксами
- YouTube-Telegram Скрапер для Стартапов
📈 Бизнес и автоматизация
- Разработка Telegram Ботов под ключ
- YandexDirect MCP сервер
- Корпоративные решения голосового ввода с ИИ
- Веб-версия аналитического дашборда для телефонии
- Платформа управления Telegram рекламой
- Bitcoin Mempool Explorer
- Презентационный сайт по брендбуку
- Разработка Платформы Прогнозов на Спорт по Модели GoalBet
- Обучающий кабинет
- Корпоративная система мониторинга медиа и аналитики
- Администрирование серверов
- Криптовалютный AML-чекер бот
- Новостной радар для промышленности
- Счетчик калорий Telegram Bot
- Talk to Excel / Talk to SQL — AI-ассистент для табличных данных
- Разработка веб-приложений по дизайну
- Разработка системы анализа договоров с ИИ
- Презентационный сайт по брендбуку
- Синхронизация 1С с WordPress
💰 FinTech и медиа
Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.