При программировании ассистент на основе ИИ может посоветовать импортировать пакет с названием securehashlib. Название выглядит правдоподобным и вызывает доверие. Команда pip install securehashlib открывает бэкдор в программном стеке и, вероятно, в инфраструктуре компании. Пакет не существовал до предыдущего дня, когда злоумышленник зарегистрировал его на основе галлюцинации, сгенерированной ИИ на прошлой неделе.
Это и есть slopsquatting. Цепь поставки программного обеспечения теперь имеет «воображаемых друзей», и они стремятся получить root-доступ.
1. Мечта о доброжелательном «оракуле кода»
Много лет существовала мечта о помощнике на основе ИИ в программировании: терпеливого, всегда доступного эксперта, знающего каждый API, каждый синтаксис регулярных выражений и все способы написания ограничителя скорости в Flask. Теперь эта мечта стала реальностью. Инструменты типа GPT-4 Turbo, Copilot и Cursor изменяют процесс написания кода. «Vibe coding», как это удачно назвал Andrej Karpathy, позволяет разработчикам описывать свои намерения, а ИИ делает все остальное.
Однако у каждой мечты есть и тень. В этом случае дело не только в том, что ИИ иногда ошибается. Проблема в том, что он совершает ошибки специфическим, системным и потенциально опасным образом.
Большие языковые модели не только «галюцинируют» факты. Они «галюцинируют» зависимости – названия пакетов, библиотек, модулей, которые не существуют, но звучат так, будто должны существовать. И за этим внимательно наблюдают злоумышленники.

2. Появление slopsquatting
Typosquatting уже давно известен: пользователи ошибочно вводят react-router как react-ruter, и какой-то сообразительный хакер заблаговременно «захватывает» это ошибочное название, добавляя вредоносное программное обеспечение. Slopsquatting отличается: он не является ошибкой пользователя. Он представляет собой галлюцинацию ИИ.
Этот термин ввел Seth Larson и распространил Andrew Nesbitt. Он описывает намеренную регистрацию нереальных названий пакетов, которые часто используются большими языковыми моделями. Такие вымышленные названия появляются в коде, созданном ИИ, документации и учебных материалах. Если код копируется без проверки или менеджеру зависимостей доверяют чрезмерно, то в результате устанавливается вредоносный компонент злоумышленника.

Это не только теория. В одном из экспериментов был обнаружен вымышленный пакет «huggingface-cli» – загруженный без кода, без README, без SEO – который скачали более 30 000 раз за три месяца.
3. Исследование: кризис в цифрах
В статье «We Have a Package for You!» исследователи проверили 16 различных LLM на более чем полмиллиона промптов. Оказалось, что:
- 19,7% всех предложенных пакетов не существовало.
- Open-source модели «галюцинировали» гораздо чаще (21,7%) по сравнению с коммерческими (5,2%).
- GPT-4 Turbo продемонстрировал самый низкий уровень «галюцинаций» – 3,59%.
- Модели CodeLlama выдавали вымышленные пакеты более чем в 33% случаев.
- Было зафиксировано более 205 тысяч уникальных вымышленных названий.
- В повторных тестах 43% вымышленных пакетов повторялись каждый раз, а 58% попадались более одного раза в течение десяти запусков.
- 8,7% вымышленных Python-пакетов на самом деле оказались действительными npm (JavaScript) пакетами.
- Положительный момент: GPT-4 Turbo и DeepSeek смогли правильно идентифицировать вымышленные названия пакетов, которые только что сами сгенерировали, в 75% случаев.
В другом исследовании под названием «Importing phantoms» были проверены различия в распространенности вымышленных пакетов в разных моделях и языках программирования.
Было обнаружено, что:
- Все протестированные модели генерировали вымышленные пакеты с частотой от 0,22% до 46,15%.
- Выбор языка программирования оказывает существенное влияние на уровень «галлюцинаций»: для JavaScript средний показатель был самым низким (14,73%), тогда как для Python (23,14%) и Rust (24,74%) он оказался значительно выше.
- Выбор модели может приводить к различиям в уровне «галлюцинаций» в пределах одного и того же языка программирования на порядок.
- Большие модели в целом демонстрируют меньше «галлюцинаций», однако модели, специализированные на программировании, оказались более склонны к вымышленным названиям пакетов.
4. Почему slopsquatting имеет значение
Это не только узкая академическая проблема. Slopsquatting представляет собой масштабируемую и недорогую поверхность атаки, которая использует критическую «слепую зону» современных процессов разработки. Злоумышленникам не нужно взламывать файерволл. Достаточно предусмотреть следующую «креативную ошибку» ассистента на основе ИИ.
Проблема обостряется из-за:
- Доверия к инструментам на основе ИИ. Многие разработчики считают, что сгенерированный код ИИ правильный, и не проверяют названия пакетов.
- Распространения «vibe coding». Разработчики формулируют, что именно они хотят получить, а реализацию оставляют на ИИ. Это означает, что они могут даже никогда не вводить или проверять названия пакетов вручную. Некоторые инструменты даже устанавливают пакеты автоматически без подтверждения со стороны разработчика.
- Простоты эксплуатации. Любой может зарегистрировать вымышленный пакет на платформах типа PyPI или npm – без необходимости совершать взлом.
5. Что можно сделать?
Исследования дают основания для оптимизма: GPT-4 Turbo и DeepSeek способны самостоятельно обнаруживать вымышленные пакеты с точностью около 75%. Это вселяет надежду. Но надежда – это еще не стратегия.
A. Практический первый шаг: автоматизация аудита зависимостей
Инструменты типа Mend SCA и Mend Renovate напрямую решают эту проблему.
Mend SCA сканирует все open-source зависимости в стеке, обозначает известные уязвимости и предупреждает о подозрительных или вредоносных пакетах до того, как они попадут в продакшн.
Renovate безопасно поддерживает зависимости в актуальном состоянии, автоматизируя обновление версий, заставляя к использованию lock-файлов и проверяя хэши – таким образом предотвращая проникновение вредоносных обновлений или фейковых пакетов.
B. Другие меры, которые следует предпринять
- Дизайн промптов. Поощрение разработчиков к явному указанию проверенных и безопасных библиотек.
- Настройка моделей. Уменьшение параметра temperature снижает уровень галлюцинаций. Контроль многословности ответов тоже помогает.
- Перспективным направлением является интеграция инструментов безопасности приложений непосредственно в ассистентов на основе ИИ для программирования, чтобы выявлять вымышленные пакеты и другие уязвимости еще до того, как они попадут в проект. Именно этим активно занимается Mend, разрабатывая подход secure by-design для программирования с использованием ИИ.
6. Выводы
Существует безопасный RubyGem под названием arangodb, в описании которого указано: «Не используйте это! Это может быть вредоносный gem, ведь вы не проверили, сгенерированный ChatGPT код ссылался на настоящий gem или нет.» На момент написания этой статьи он был установлен более 2000 раз. Описание звучит одновременно как предупреждение и эпитафия.
Slopsquatting является проявлением более широкой истины: делегируя все больше когнитивной работы машинам, мы наследуем не только их производительность, но и их ошибочность. Это ранний сигнал, что генерируемое ИИ программное обеспечение приносит не только повышение эффективности, но и новые поверхности для атак.
Вызов состоит не в том, чтобы сдерживать воображение машин, а в том, чтобы их мечты не превратились в кошмары людей.
Доверяй, но pip freeze.







