Дослідники OX Security виявили в реєстрі npm шкідливий пакет mouse5212-super-formatter, який викрадає файли з директорії /mnt/user-data — за даними дослідників, цей шлях використовується інструментом Claude AI від Anthropic для обробки завантажень і вихідних даних. Кампанія отримала кодову назву Malware-Slop. На момент публікації дослідження пакет залишався доступним у npm і був завантажений близько 676 разів, хоча реальна кількість інсталяцій невідома. Випадок показовий тим, що зловмисник, вочевидь, припустився грубої помилки в операційній безпеці — у коді пакета опинився жорстко прописаний у коді приватний токен GitHub.
Механіка атаки: від інсталяції до ексфільтрації
За даними дослідників Моше Сіман Тов Бустана та Ніра Задока, пакет маскується під внутрішню утиліту синхронізації архівних розгортань («archive deployment sync»), яка нібито валідовує або ініціалізує GitHub-репозиторій, робить знімок мережевого статусу та синхронізує локальні файли робочого простору з віддаленим сховищем.
Фактична поведінка пакета суттєво відрізняється від заявленої:
- Активація на етапі postinstall — шкідливий код запускається автоматично після встановлення npm-пакета, без явного виклику з боку користувача.
- Автентифікація в GitHub — скрипт намагається використати токен доступу GitHub зі змінних середовища жертви. Якщо токен не знайдено, застосовується жорстко прописаний у коді токен як запасний варіант.
- Створення репозиторію — якщо цільовий репозиторій не існує, шкідливе ПЗ створює його автоматично.
- Рекурсивна ексфільтрація — усі файли з цільової директорії рекурсивно завантажуються в контрольований зловмисником обліковий запис GitHub (на момент дослідження обліковий запис уже був недоступний).
- Маскування — викрадені файли розподіляються по теках із випадковими іменами для розмежування сесій крадіжки. Паралельно шкідливе ПЗ записує підроблений лог мережевих з’єднань, створюючи враження надсилання діагностичної інформації.
Цільова директорія /mnt/user-data, як повідомляється, пов’язана із середовищем Claude AI від Anthropic. Це означає, що основною ціллю є дані, які обробляються в контексті роботи з цим ІІ-інструментом, — потенційно включаючи завантажені документи, результати генерації та проміжні файли. Варто зазначити, що прив’язка цього шляху саме до Claude AI ґрунтується на звіті OX Security і не була незалежно підтверджена з документації Anthropic.
Провал операційної безпеки та питання щодо ІІ-генерації
Ключова особливість цього інциденту — витік власних облікових даних зловмисника. У коді пакета mouse5212-super-formatter виявився приватний токен GitHub-акаунта, який використовувався для приймання викрадених даних. Така помилка дала змогу дослідникам швидко ідентифікувати інфраструктуру атаки та, ймовірно, сприяла блокуванню акаунта unplowed3584.
OX Security зазначає, що така недбалість може свідчити про зниження порогу входу для створення шкідливого коду. Дослідники припускають, що найближчим часом кількість грубо зроблених шкідливих пакетів у npm зростатиме — зловмисники з низькою кваліфікацією наслідуватимуть тактики передових угруповань, допоки реєстр не впровадить автоматичне блокування шкідливого коду.
Оцінка впливу
Основна група ризику — розробники та фахівці з даних, які використовують Claude AI у середовищах, де npm-пакети встановлюють без суворої верифікації. Хоча 676 завантажень — порівняно невелика цифра, реальний масштаб компрометації оцінити складно: лічильники npm враховують дзеркалювання, автоматичні завантаження CI/CD та інші неінтерактивні звернення.
Потенційні наслідки для постраждалих:
- витік конфіденційних документів, завантажених у Claude AI для обробки
- компрометація токенів GitHub зі змінних середовища, що відкриває доступ до репозиторіїв жертви
- витік проміжних даних і результатів роботи ІІ-інструмента
Рекомендації щодо захисту
- Перевірте залежності проєктів — виконайте пошук
mouse5212-super-formatterу файлахpackage.jsonіpackage-lock.jsonусіх проєктів. У разі виявлення — негайно видаліть пакет і здійсніть ротацію всіх токенів GitHub, доступних у середовищі. - Перевірте директорію
/mnt/user-data— якщо вона існує у вашому середовищі, проаналізуйте журнали доступу на предмет несанкціонованого читання файлів. - Аудит postinstall-скриптів — використовуйте прапорець
--ignore-scriptsпід час встановлення невідомих пакетів або інструменти на кшталтnpm auditдля попередньої перевірки. - Не зберігайте токени у змінних середовища без нагальної потреби — застосовуйте менеджери секретів і обмежуйте сферу дії токенів GitHub мінімально необхідними правами.
- Моніторинг GitHub-активності — перевірте журнал аудиту вашого GitHub-акаунта на предмет створення невідомих репозиторіїв або завантаження файлів, які ви не ініціювали.
Інцидент із mouse5212-super-formatter демонструє конкретний вектор атаки на ланцюжок постачання, націлений на дані, що обробляються ІІ-інструментами. Організаціям, які використовують Claude AI у робочих процесах із npm-залежностями, варто провести аудит установлених пакетів, здійснити ротацію GitHub-токенів, доступних у задіяних середовищах, і запровадити політику обов’язкової перевірки postinstall-скриптів перед інсталяцією сторонніх пакетів.