The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода

27.07.2025 09:29

Администраторы репозитория NPM по ошибке заблокировали пакет Stylus, распознав в нём несуществующее вредоносное ПО. Через 12 часов после отправки жалобы в NPM проблема была отмечена как не соответствующая действительности, объявление о наличии вредоносного ПО было отозвано, а пакет восстановлен в репозитории.

Пакет Stylus в прошлом месяце насчитывал 4.2 млн загрузок в неделю и использовался в качестве зависимости у более двух тысяч проектов. Удаление пакета из репозитория привело к массовыми сбоям в сборочных системах проектов, использующих Stylus или зависимые от него пакеты. Среди прочего, возникли проблемы при сборке CLI-инструментария платформы Angular. Сложилась ситуация, напоминающая произошедший в 2016 году инцидент с удалением модуля left-pad.

Причиной ложной тревоги стало присутствие в числе разработчиков Stylus участника panya (бывший сопровождающий), который до этого был уличён в публикации нескольких вредоносных пакетов (svelte-intl, ufo-rocks2, durilka, eslint-plugin-compat, desktop-title, select-account-icon и т.д.). Мотивы действий разработчика "panya" не ясны, предполагается, что он мог проводить исследования, связанные с безопасностью. При этом имея доступ к формированию релизов Stylus, данный разработчик не использовал имеющуюся возможность для внедрения вредоносного ПО в Stylus.


Дополнительно можно отметить появление новых жертв фишинг-атаки через домен npnjs.com. Помимо ранее отмеченных 5 пакетов, атакующим удалось обмануть сопровождающих пакеты is и got-fetch. Пакет is насчитывает 2.8 млн загрузок в неделю и используется в качестве зависимости у 636 других пакетов. Пакет got-fetch насчитывает 53 тысячи загрузок в неделю.

После получения контроля над пакетами злоумышленники сформировали вредоносные выпуски is 3.3.1 и 5.0.0, got-fetch 5.1.11 и 5.1.12. В пакет is был встроен кросс-платформенный загрузчик вредоносного ПО, реализованный на JavaScript и открывающий WebSocket-соединение для удалённого выполнения кода в системе. Вредоносный код также передавал данные о системе и содержимом переменных окружения.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Нарушение обратной совместимости в популярном NPM-пакете привело к сбоям в различных проектах
  3. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  4. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
  5. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
  6. OpenNews: Атака на зависимости позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63635-npm
Ключевые слова: npm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, нейм (?), 10:27, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    js опять оказался дырявым
    атомарность пакетов решена реновейт ботами, чьи МРы вслепую аппрувятся (а может и вообще сразу в мастер едут)

    Более днищенской вариации среды для разработки ПО надо постараться найти

     
  • 1.3, Аноним (3), 11:54, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > Мотивы действий разработчика "panya" не ясны, предполагается, что он мог проводить исследования, связанные с безопасностью.

    "мотивы ограбления не ясны. предположительно, грабитель проводил исследования, связанные с деньгами."

     
     
  • 2.19, Аноним (19), 14:05, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1. Об исследованиях надо предупреждать
    2. Учетку могли угнать и автор её давно забросил
    3. блокировать другой проект. к которому он причастен, с учётом контроля Других участников, и без аудита этого пакета, который блокируют автоматически - не логично. Или авторы систему советов и администрация не верит миллиону глаз, в любви к которым признается в каждом письме?
     

  • 1.4, 1 (??), 12:03, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Товарищи аминистраторы репозитория NPM, произошла чудовищная ошибка!
     
     
  • 2.45, Аноним (45), 09:23, 28/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Товарищи аминистраторы репозитория NPM, произошла чудовищная ошибка!

    Сопровождающий зарегистрировался на почтовом домене inbox.ru?

     

  • 1.5, Аноним (5), 12:17, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как от этого спасаться? package-lock.json?
     
     
  • 2.8, 1 (??), 12:34, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если у вас что-то важное, то поднимите свое зеркало пакетов, которые используются в вашем проекте. На зеркале включите сканеры безопасности. Создайте регламенты обновления, следите за изменениями и контролируйте каждую модификацию в package-lock.json. Это будет дорого. Поэтому если ни чего важного нет, то просто расслабьтесь.
     
  • 2.30, morphe (?), 17:28, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Deno позволяет точечно регулировать права

    Разрешить дёргать лишь определённые команды/пускать только в определённые директории на диске/подключаться к заданному списку доменных имён

     
     
  • 3.40, Аноним (40), 03:54, 28/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А еще что?
     
  • 3.41, Аноним (41), 07:07, 28/07/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.55, morphe (?), 15:31, 28/07/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.7, Аноним (7), 12:26, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Удивительное королевство. Не вредоносные банить, вредоносные не банить.
     
  • 1.12, Аноним (-), 13:20, 27/07/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.15, Аноним (15), 13:56, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > привело к массовыми сбоям в сборочных системах

    тренировка прошла успешно

     
     
  • 2.20, Аноним (19), 14:09, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Апокалипсис продемонстрирован. ))
     
  • 2.21, Аноним (19), 14:18, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может это сопровождающие солидарно демонстрируют свою власть в ответ на скрип с 10$ им за сопровождение в соответствие с инициативой Maintenance Fee? ))
     

  • 1.16, Аноним (16), 13:56, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Похоже надо бежать с СПО...
     
     
  • 2.23, Аноним (23), 15:08, 27/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С js'а
     
  • 2.54, Аноним (54), 15:09, 28/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что, есть что-то более открытое и свободное, чем СПО?
     

  • 1.26, Tron is Whistling (?), 16:09, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    После NPM в новости или как там его ещё этого, у питона, сразу понятно, что произошла какая-то феерическая фигня. Судьба у этих репозитариев такая.
     

  • 1.27, Аноним (28), 16:18, 27/07/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.31, Аноним (31), 17:57, 27/07/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     
  • 1.33, Саркофандр (?), 19:35, 27/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну уж лучше так, чем если бы там на самом деле вредонос был и его бы не сразу удалили.
     
  • 1.34, Аноним (34), 20:12, 27/07/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     
  • 1.49, Аноним (49), 10:53, 28/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. заблокировать автоматом пакет, у которого один из мантейнеров публикует вредоносные пакеты - это ошибка?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру