./новости · 29 июля 2026 г.
новость
Хакеры занимают имена пакетов, которые выдумал агент: атака срабатывает в 20-65% запусков
источник: futurism.com·
машинная выжимка · сверена с источником
Чарли Эриксен из Aikido Security нашёл в январе 2026 npm-пакет react-codeshift, которого никогда не существовало: имя выдумала модель, а коммит с ним разошёлся форками по 237 репозиториям, и агенты уже запускали установку. Эриксен зарегистрировал имя сам, чтобы его не успел занять атакующий. Исследователи Tel Aviv University, Technion и Intuit показали, что это не случайность, а рабочая схема взлома, и назвали её HalluSquatting (препринт arXiv, 08.07).
Раньше такой трюк звался тайпсквоттингом: атакующий регистрировал пакет с опечаткой и ждал, пока человек промахнётся мимо клавиши. Теперь ошибается модель, и ошибается предсказуемо. На свежих репозиториях ассистенты выдумывали адрес в 92,4% прогонов, на старых - в 0,9%. По части свежих репозиториев все шесть моделей ошибались в каждом прогоне.
Атака доходит до конца. От запроса пользователя до выполнения чужих команд в терминале цепочка срабатывала в 20-65% прогонов. Под замером были Cursor, Windsurf, GitHub Copilot Chat и ещё три ассистента, а установка skills оказалась опаснее клонирования репозиториев: в 94% прогонов (85 из 90) адрес skill сводился к имени, которое волен занять кто угодно.
Совпадения не случайны. В замере Socket.dev на 200 тысяч ответов (22-28.04) модели выдавали несуществующий пакет в 4,6-6,1% случаев, а пять разных моделей сошлись на 127 одинаковых выдуманных именах. 53 из них были свободны для регистрации.
Веб-поиск меняет расклад. Cursor CLI без поиска выдумывал имя в 99,1% прогонов, а со включённым поиском давал 93,4% корректных исходов. Агент сверяется с живым реестром, а не с памятью модели.
Дыра шире пакетов. Unit 42 из Palo Alto Networks прогнала 685 тысяч запросов по 913 брендам и нашла около 250 тысяч выдуманных доменов, которые никто не зарегистрировал. Среди уже занятых 13 229 адресов подтверждённо вредоносны (отчёт от 30.06).
Часть дыры уже закрывают сами реестры: из 127 общих выдуманных имён 68 не дала занять защита PyPI.
первоисточник