Slopsquatting: ловушка в Vibe Coding - выдуманные зависимости

AI всё чаще не просто пишет код, а подсказывает команды: что установить, какую библиотеку подключить, какой пакет добавить в проект. И здесь появляется неприятный сценарий: модель может уверенно предложить зависимость, которой на самом деле не существует.

Во время vibe coding сессии ChatGPT, Claude или другой coding agent может посоветовать поставить пакет - например, secure-data-helper. Пакета такого нет: модель его выдумала. Раньше это была просто ошибка: npm install или pip install падал, разработчик шёл искать реальную библиотеку.

Вредоносные пакеты в npm и PyPI - старая проблема. А с AI у неё появился новый маршрут: злоумышленники могут отслеживать такие галлюцинации, регистрировать под этими именами настоящие пакеты и добавлять туда вредоносный код. Следующий разработчик, которому модель предложит то же имя, установит уже не пустоту, а реальную зависимость с чужим кодом.

Эту технику называют slopsquatting. В отличие от typosquatting, она играет не на опечатке, а на доверии к правдоподобному имени. Пакет не выглядит подозрительно: он звучит как обычная open-source библиотека - коротко, технически и убедительно.

Классические правила безопасности здесь ломаются о скорость. "Проверь зависимость перед установкой" - правильный совет, но в режиме vibe coding AI может выдать десятки команд за сессию. Человек часто проверяет уже не каждую строку, а общий результат.

Получается так: AI ускорил написание кода, но не ускорил проверку зависимостей. Именно в этот зазор и заходят атаки.

Часть защит уже существует: проверка зависимостей, поиск известных уязвимостей, SBOM, установка в песочнице, анализ происхождения пакетов. Но в AI-разработке такие проверки, похоже, должны стать не дополнительной практикой, а обычной частью рабочего процесса.

Перед исполнением AI-сгенерированной команды нужно понимать хотя бы базовые вещи: существует ли пакет давно, кто его поддерживает, есть ли репозиторий, сколько у него скачиваний и нет ли подозрительных скриптов установки.

Старое правило "сначала проверь, потом запускай" никуда не делось. Но в vibe coding его сложнее соблюдать: AI генерирует команды быстрее, чем человек успевает понять, что именно он запускает.

Начать дискуссию