# Slopsquatting: когда ИИ-ассистент для написания кода выдумывает пакет, а кто-то другой его регистрирует

> Модели, генерирующие код, галлюцинируют названия пакетов с измеримой, иногда предсказуемой частотой. Атакующие реально регистрируют эти названия. Что показало исследование и почему это важно в момент запуска `pip install`.

HisnLabs Security & Research Team · Published 2026-09-25
Canonical: https://hisnlabs.com/ru/blog/slopsquatting-hallucinated-packages-coding-agents

Попросите ассистента для написания кода решить задачу, и он иногда порекомендует установить пакет: настоящие для распространённых задач и, что измеримо часто, пакеты, которые вообще не существуют. Он выдумал правдоподобное название, потому что окружающий паттерн кода требовал там зависимости. Если вы или ваш ИИ-агент всё равно выполните команду установки, то, что реально зарегистрировано под этим именем на PyPI или npm, и окажется на вашей машине. Исследователь безопасности Сет Ларсон (Seth Larson), разработчик-резидент Python Software Foundation, назвал получившуюся атаку «slopsquatting» — регистрацию имён, которые галлюцинируют модели, ИИ-версию тайпсквоттинга.

## Как часто это реально происходит

Команда из Техасского университета в Сан-Антонио, Virginia Tech и Университета Оклахомы измерила это напрямую: [«We Have a Package for You!»](https://arxiv.org/abs/2406.10279), принятая на USENIX Security 2025. На 576 000 сгенерированных примеров кода от 16 популярных моделей на двух языках они обнаружили галлюцинированные пакеты «как минимум в 5,2 процента случаев у коммерческих моделей и в 21,7 процента у открытых моделей», в сумме 205 474 уникальных галлюцинированных имени пакетов. Это не редкий крайний случай: для некоторых открытых моделей это примерно каждая пятая предложенная зависимость.

| Класс моделей | Частота галлюцинаций (среди рекомендаций пакетов) |
| --- | --- |
| Коммерческие модели (в среднем) | не менее 5,2 процента |
| Открытые модели (в среднем) | не менее 21,7 процента |

*Spracklen и др., USENIX Security 2025, arXiv:2406.10279. Средние значения по 16 протестированным моделям; отдельные модели отличались.*

## Почему это можно «сквоттить», а не просто ошибка

Разовое выдуманное имя было бы досадной мелочью, а не поверхностью атаки. Эксплуатируемым это делает повторяемость: как [сообщил The Register](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/) 12 апреля 2025 года, когда исследователи повторяли один и тот же промпт десять раз, «43 процента галлюцинированных пакетов повторялись каждый раз, а 39 процентов больше не появлялись никогда». Почти половина галлюцинированных имён — не случайный шум; это одна и та же догадка, к которой модель надёжно приходит при похожем коде. Атакующему не нужно угадывать, что напечатает конкретный разработчик. Он может запустить те же модели на распространённых промптах, собрать имена, которые повторяются, и заранее зарегистрировать их в реальном индексе пакетов.

*Иллюстрация: момент риска*

```console
$ pip install fast-json-normalizer   # suggested by a coding assistant
Collecting fast-json-normalizer
  Downloading fast-json-normalizer-0.3.1.tar.gz
Running setup.py install for fast-json-normalizer ... done
# Nothing here indicates whether this name was ever a real, reviewed project
# or was registered specifically because models keep suggesting it.
```

## Почему это укладывается в паттерн, который OWASP уже отслеживает

Это разновидность того, что [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/) называет риском цепочки поставок для разработки с помощью ИИ: граница доверия, которая раньше проходила по линии «выбрал ли человек добавить эту зависимость», смещается к «выбрало ли её завершение паттерна моделью», а завершение паттерна не имеет понятия о том, реально ли существует имя.

## Что реально с этим делать

- Относитесь к любому имени пакета, которое предлагает ИИ-агент, как к предложению, которое нужно проверить, а не как к заведомо надёжной зависимости — так же, как вы отнеслись бы к имени, которое по памяти напечатал junior-разработчик.
- Проверяйте дату регистрации и историю скачиваний перед установкой чего-либо незнакомого; пакет, появившийся недавно и подозрительно точно соответствующий распространённому паттерну промптов для генерации кода, заслуживает повторного взгляда.
- Фиксируйте версии зависимостей и используйте lock-файл, чтобы однажды проскочившее галлюцинированное имя не разрешилось заново незаметно позже.
- Следите за тем, что реально делает свежеустановленный пакет при первом запуске. Только что зарегистрированная зависимость, обращающаяся к серверу, с которым ей нечего делать, — это сигнал, который файрвол способен поймать, даже если проверка кода пропустила само имя.

## Какое место здесь занимают FireAI и HisnLabs

A squatted package that phones home still has to make a connection to do it, from a Python or Node process you just ran; FireAI shows you that connection, the process behind it and where it is going, before you decide whether it belongs there.

FireAI — это собственный продукт HisnLabs: ИИ-файрвол, работающий прямо на вашем Mac. Он показывает простым языком каждое соединение, которое устанавливают ваши приложения, и позволяет вам решать, что покидает ваш Mac, — его ИИ работает локально, поэтому ваш трафик никогда не отправляется ни нам, ни кому-либо ещё. Команда исследователей безопасности HisnLabs — это те, кто поддерживает точность этих решений: они каталогизируют, какие домены являются обычной телеметрией, а какие — реальным сервисом, отслеживают страну и сеть, стоящие за соединением, и обучают локальную модель (функцию FireAI Pilot) на реальных шаблонах трафика — и ничего из этого не покидает ваш Mac.

Вы можете прочитать о технических решениях, лежащих в его основе, или попробовать FireAI в течение 17 дней на странице [FireAI от HisnLabs](https://hisnlabs.com/fireai/ru/download).

## Sources

- [Spracklen et al., “We Have a Package for You!” (USENIX Security 2025 / arXiv:2406.10279)](https://arxiv.org/abs/2406.10279)
- [The Register: AI code suggestions sabotage software supply chain](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/)
- [OWASP: Top 10 for Large Language Model Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
