Слопсквоттинг: скрытая угроза внутри инструментов для написания кода на AI
Когда AI-помощники придумывают пакеты программного обеспечения, которые не существуют, преступники регистрируют эти названия и заполняют их вредоносным кодом. Вот как работает эта атака и что могут сделать разработчики.

Ключевые моменты
- Слопсквоттинг — это атака на цепочку поставок, которая использует тот факт, что AI-помощники для написания кода придумывают поддельные названия пакетов программного обеспечения, которые затем регистрируют преступники и заполняют вредоносным кодом.
- В одном исследовании 576 000 образцов кода, сгенерированного AI, обнаружилось, что 19,7% рекомендованных AI пакетов программного обеспечения не существовали.
- GPT-4o Turbo, модель OpenAI, придумывала поддельные названия пакетов с частотой 3,59%, тогда как открытые модели достигали показателей выше 13%.
- Зарегистрированные уязвимости программного обеспечения растут на 98% ежегодно согласно последним исследованиям, почти в четыре раза больше, чем 25% годовой рост количества пакетов с открытым исходным кодом.
- Разработчики могут снизить риск, проверив, что каждый пакет, рекомендуемый AI, действительно существует в официальном реестре перед его установкой.
Каждый раз, когда разработчик просит AI-помощника для написания кода создать программное обеспечение, AI может небрежно порекомендовать пакет — предварительно собранный набор кода, который другие программисты делают бесплатно в интернете, — который просто не существует. AI придумал его. Это звучит безобидно, пока вы не узнаете, что преступники именно этого и ждут.
Эта атака называется слопсквоттинг. Название сочетает «AI slop» (интернет-сленг для обозначения низкокачественного выхода AI) с «typosquatting» (старый трюк, когда преступники регистрируют адреса веб-сайтов или названия пакетов, похожих на оригинал, но с одной преднамеренной орфографической ошибкой). Слопсквоттинг идет дальше: поддельное название никогда не было ошибкой написания чего-либо. AI целиком его выдумал.
Вот как это происходит. Разработчик просит своего AI-помощника, например GitHub Copilot или ChatGPT, добавить функцию в свое приложение. AI пишет рабочий код, который импортирует пакет под названием, например, «cross-env-extended». Разработчик его запускает. Его компьютер загружает этот пакет из интернета и устанавливает его. Если преступник зарегистрировал это название первым и загрузил его вредоносным кодом, разработчик только что передал ключи.
Защита, которая существует сегодня, это не охватывает. Реестры пакетов, онлайн-библиотеки, где разработчики загружают код, уже блокируют очевидные опечатки популярных пакетов. Они поймали бы «crossenv» как поддельную версию «cross-env». У них нет способа пометить «cross-env-extended», потому что название звучит совершенно законно.
Масштаб проблемы пугает. Исследование, на которое ссылается VentureBeat, проанализировало почти 576 000 образцов кода, сгенерированного AI, и обнаружило, что примерно одно из пяти названий пакетов, которые рекомендовал AI, были выдумками. Даже GPT-4o, текущая флагманская модель OpenAI, рекомендовала галлюцинирующие названия пакетов с частотой 3,59% в этих тестах. Открытые модели показали себя хуже: DeepSeek 1B, лучше всего работающая протестированная открытая модель, все еще достигла 13,63%, делая инструменты AI с открытым исходным кодом примерно в четыре раза более рискованными по этому показателю.
Галлюцинации не являются случайными, именно это делает их опасными. Модели имеют тенденцию повторно придумывать одни и те же поддельные названия. Преступник, который определит, какие названия предпочитает популярная модель, может зарегистрировать несколько пакетов и ждать, пока тысячи разработчиков установят их автоматически.
Что на самом деле должны делать разработчики?
Самый простой шаг — это также наиболее эффективный: перед тем как ваш проект устанавливает какой-либо пакет, рекомендуемый AI, найдите его сами в официальном реестре, например npmjs.com для JavaScript или PyPI для Python. Если его там нет, не используйте его.
Команды могут пойти дальше, установив автоматические проверки — скрипты, которые сравнивают каждое название пакета в проекте с официальным реестром перед отправкой кода. Команды безопасности также должны отслеживать известные кампании слопсквоттинга так же, как они отслеживают тренды фишинга.
Более 40% кода, который разработчики фиксируют сегодня, уже включает помощь AI, и эта доля растет. Чем больше AI пишет код без проверки человеком, тем шире становится возможность для атак. Решение — не прекращать использование инструментов AI. Это относиться к их выходу как к первому наброску, который все еще нуждается в базовой проверке фактов.
Одно предложение проверки может закрыть дверь, которую преступники активно пытаются открыть.



