Зафиксирована крупная спам-кампания, в ходе которой были опубликованы тысячи пакетов в реестре npm. Кампания длилась продолжительное время и привела к массовому заполнению реестра. В рамках кампании опубликовано 67 579 пакетов. Особенность атаки заключается в том, что её цель — не кража данных или другие вредоносные действия, а именно наводнение реестра npm ненужными пакетами.
Поддельные пакеты замаскированы под проекты Next.js. Атака опасна тем, что злоумышленники потратили время на создание червя npm, а не на единичную атаку и занимаются этим более двух лет.
Червь находится в файле JavaScript («auto.js» или «publishScript.js»). Пользователь самостоятельно должен запустить команду «node auto.js». Кто-то делает это случайно, кто-то из любопытсва, либо злоумышленники запукают его сами.
После активации сценарий удаляет параметр <"private": true> из файла «package.json» для предотвращения случайно публикации частных репозиториев. Скрипт генерирует произвольное имя пакета и назначает ему случайную версию.
На последнем этапе пакет автоматически публикуется в npm командой «npm publish», процесс продолжается в бесконечном цикле, публикуя новый пакет каждые 7-10 секунд.
Последствия атаки:
- Переполнение реестра npm ненужными пакетами.
- Нерациональная нагрузка на инфраструктуру.
- Загрязнение результатов поиска.
- Появление рисков в цепочке поставок, если случайно установить вредоносный пакет.
Механизм распространения пакетов похож на распространение червей. Пакеты взаимосвязаны и ссылаются друг на друга как на зависимости. Если пользователь установит один из спам-пакетов, npm загружает всё дерево зависимостей.
Отдельные пакеты под контролем злоумышленников содержали файл tea.yaml с несколькими учетными записями TEA. Это свидетельствует о возможной попытке мошенничества путем заработка токенов TEA благодаря искусственному повышению уровня воздействия.
GitHub оперативно отреагировал, удалив вредоносные пакеты и заявив о намерении продолжать мониторинг и удаление пакетов и аккаунтов, нарушающих правила платформы.
Поддельные пакеты замаскированы под проекты Next.js. Атака опасна тем, что злоумышленники потратили время на создание червя npm, а не на единичную атаку и занимаются этим более двух лет.
Червь находится в файле JavaScript («auto.js» или «publishScript.js»). Пользователь самостоятельно должен запустить команду «node auto.js». Кто-то делает это случайно, кто-то из любопытсва, либо злоумышленники запукают его сами.
После активации сценарий удаляет параметр <"private": true> из файла «package.json» для предотвращения случайно публикации частных репозиториев. Скрипт генерирует произвольное имя пакета и назначает ему случайную версию.
На последнем этапе пакет автоматически публикуется в npm командой «npm publish», процесс продолжается в бесконечном цикле, публикуя новый пакет каждые 7-10 секунд.
Последствия атаки:
- Переполнение реестра npm ненужными пакетами.
- Нерациональная нагрузка на инфраструктуру.
- Загрязнение результатов поиска.
- Появление рисков в цепочке поставок, если случайно установить вредоносный пакет.
Механизм распространения пакетов похож на распространение червей. Пакеты взаимосвязаны и ссылаются друг на друга как на зависимости. Если пользователь установит один из спам-пакетов, npm загружает всё дерево зависимостей.
Отдельные пакеты под контролем злоумышленников содержали файл tea.yaml с несколькими учетными записями TEA. Это свидетельствует о возможной попытке мошенничества путем заработка токенов TEA благодаря искусственному повышению уровня воздействия.
GitHub оперативно отреагировал, удалив вредоносные пакеты и заявив о намерении продолжать мониторинг и удаление пакетов и аккаунтов, нарушающих правила платформы.
Мы внедряем системы информационной безопасности в Свердловской области и Севастополе!
Благодаря многолетнему опыту и команде экспертов, знаем, что важно для IT-инфраструктуры и как защититься от киберугроз во всех сферах деятельности.
+7 (343) 222-13-32 — Екатеринбург
+7 (978) 214 29 87 — Севастополь
Благодаря многолетнему опыту и команде экспертов, знаем, что важно для IT-инфраструктуры и как защититься от киберугроз во всех сферах деятельности.
+7 (343) 222-13-32 — Екатеринбург
+7 (978) 214 29 87 — Севастополь