The OpenNET Project / Index page

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

Самораспространяющийся червь поразил 187 пакетов в NPM

17.09.2025 08:45

Атака на сопровождающих пакеты в репозитории NPM перешла на новый уровень. В дополнение к использованию вредоносного ПО для перехвата платежей и конфиденциальной информации атакующие перешли к внедрению в скомпрометированные пакеты червя для автоматизации подстановки вредоносного ПО в зависимости. Применение червя зафиксировано после компрометации NPM-пакета @ctrl/tinycolor, имеющего 2.2 млн еженедельных загрузок и задействованного в качестве прямой зависимости в 964 пакетах. В результате активности червя атака охватила 187 пакетов, для которых были сформированы вредоносные выпуски (477 вредоносных релизов).

В ходе новой атаки после получения параметров учётной записи сопровождающего в результате фишинга, атакующие публикуют релиз пакета с червём, который активируется при установке скомпрометированного пакета в числе зависимостей. После активации червь осуществляет поиск учётных данных в текущем окружении, загружая и запуская утилиту TruffleHog. В случае обнаружения токена подключения к каталогу NPM червь автоматически публикует новый вредоносный релиз и по цепочке поражает дерево зависимостей. Помимо токена доступа к NPM червь сохраняет ключи доступа к GitHub и облачным сервисам AWS, Azure и GCP (Google Cloud Platform), а также другие конфиденциальные данные, которые способен обнаружить сканер TruffleHog.

Вредоносные релизы формируются для 20 наиболее популярных пакетов, к которым имеет доступ найденный NPM-токен. Функциональность публикации релиза реализована в форме функции NpmModule.updatePackage, которая загружает исходный архив пакета, изменяет номер версии и добавляет postinstall-хук в файл package.json, подставляет обработчик bundle.js, переупаковывает пакет и публикует его. Поддерживается работа в Linux и macOS.

Червю присвоено кодовое имя Shai-Hulud (гигантский червь, упоминаемый в романе Дюна). Найденные в системе учётные данные размещаются в GitHub через создание репозиториев с именем Shai-Hulud (например, "B611/Shai-Hulud"), а также в закодированном виде отражаются в логах GitHub Actions. В создаваемом репозитории размещается файл data.json, в котором присутствует строка с закодированной методом base64 информацией о системе, переменных окружения и перехваченных ключах доступа. В CI на базе GitHub для передачи информации на внешний хост червь создаёт обработчик GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Судя по всему, атака не ограничивается упомянутыми 187 пакетами, так как на GitHub продолжают появляться новые репозитории с именем Shai-Hulud и файлом data.json.

Среди прочего, в результате активности червя поражёнными оказались 25 пакетов компании CrowdStrike, развивающей инструменты для защиты от атак через зависимости (Supply Chain). По заявлению CrowdStrike скомпрометированные пакеты не использовались в платформе Falcon и атака не распространилась на клиентов. Также стало известно, что прошлая волна публикации вредоносных релизов в NPM, осуществлявшаяся без червя, затронула проект gemini-cli, развиваемый компанией Google.

  1. Главная ссылка к новости (https://krebsonsecurity.com/20...)
  2. OpenNews: Атакующие получили контроль над NPM-пакетами проекта DuckDB и опубликовали вредоносные выпуски
  3. OpenNews: Скомпрометированы 18 NPM-пакетов, насчитывающих более 2 миллиардов загрузок в неделю
  4. OpenNews: NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода
  5. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
  6. OpenNews: Злоумышленники смогли внедрить бэкдор в NPM-пакет от разработчиков криптовалюты XRP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63894-npm
Ключевые слова: npm, attack, worm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (118) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:27, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    > червь поразил 187 пакетов в NPM

    Не может быть! Никогда такого не было!

     
     
  • 2.12, Жироватт (ok), 10:14, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    И вот опять!
    Но на этот раз не криптостиллер и не майнер - уже что-то новое
     
     
  • 3.72, 1 (??), 15:05, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Эволюция ! Уже добрались до червячков, скоро кони поскачут.
     
  • 2.18, Аноним (18), 11:52, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дежурная шутка. Уже не смешно.
     
     
  • 3.26, Аноним (26), 12:05, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Дежурная шутка. Уже не смешно.

    Для местной аудитории это вполне смешно и остроумно - вон сколько плюсиков понаставили.

     
     
  • 4.97, Аноним (97), 16:40, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так это вам же и наставили.
     
  • 3.30, Жироватт (ok), 12:13, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Дежурные шутки и не обязаны искриться остроумием и тонким саркастичным йумором.
     
  • 3.39, Аноним (1), 13:20, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ёжики кололись и плакали, но продолжали грызть NPM.
     
  • 2.116, Аноним (116), 21:12, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не может быть! Никогда такого не было!

    Совсем классику забыли. Правильно:

    "Вспомнити npm leftpad!"

     

  • 1.2, Аноним (-), 09:47, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    As of September 13, 2025, a specific count from "all-the-package-repos" indicates a total of 3,583,991 packages.

    Из них червь поразил ЦЕЛЫХ 187 пакетов. Просто невероятно!

     
     
  • 2.4, ptr (ok), 09:59, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +11 +/
    > червь поразил

    Как раз сколько он поразил неизвестно. Выявлено пораженных 187 пакетов. Так как червю пару недель от силы и для поражения пакета необходимо, чтобы его сопровождающий не только подцепил червя, но и запушил изменения, то это число выглядит совсем иначе.

    > total of 3,583,991 packages

    Подозреваю, что из этих пакетов подавляющее большинство не обновлялись годами, а уже за последние пару недель из них обновлялись несколько сотен.

     
     
  • 3.24, Аноним (24), 12:00, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А как они выявляют заражение?
    Сканируют каждый раз вручную весь репозитарий антивирусом?
     
     
  • 4.40, Аноним (1), 13:21, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А на что сканировать, если не знаешь, что искать? Сейчас такие технологии у программистов, что обычный код работает, как троян.
     
     
  • 5.46, Аноним (24), 14:14, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну хотя бы поиск по подстроке "Shai-Hulud" и файлики "data.json"...
    а так, да, можно вообще ничего не делать - зачем, если программисты все равно так пишут.
     
     
  • 6.114, Аноним (114), 21:09, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > "Shai-Hulud" и файлики "data.json"

    А кто сказал, что это не отвлекающий след?

     
  • 4.109, Джон Титор (ok), 20:15, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    О, crowdstrike один из самых интересных антивирусов. Если внедрить его в компанию, это получается у тебя как антивирус-ботнет. Весьма эффективная штука. И естественно типичные операции пушинга релиза пакета с одним и тем же файлом в разные пакеты должно у эвристического анализатора вызвать подозрения.
     
     
  • 5.140, Аноним (-), 14:32, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > О, crowdstrike один из самых интересных антивирусов. Если внедрить его в компанию,
    > это получается у тебя как антивирус-ботнет. Весьма эффективная штука. И естественно
    > типичные операции пушинга релиза пакета с одним и тем же файлом
    > в разные пакеты должно у эвристического анализатора вызвать подозрения.

    Особенно эффективно этот ботнет-антивирус ... сломал куче корпораций компьютерные системы, в общем идея заразиться самым крутым вирусом чтобы вирусы пожиже обломались - ну такая себе, спорненькая :)

     
  • 3.56, Аноним (56), 14:22, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >и для поражения пакета необходимо, чтобы его сопровождающий не только подцепил червя, но и запушил изменения

    Если есть токен доступа, то запушить можно автоматически.

     
  • 2.6, Аноним (6), 10:04, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ну да учитывая что даже самый захудалый проектик способен подтянуть десятки тысяч зависимостей (зависимостей зависимостей n+1). То шанс вляпаться в зараженный пакет, достаточно большой.
     

  • 1.3, Аноним (3), 09:56, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > Среди прочего, в результате активности червя поражёнными оказались 25 пакетов компании CrowdStrike, развивающей инструменты для защиты от атак через зависимости

    Невероятно

     
     
  • 2.119, Аноним (119), 21:56, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Без разницы. Сам crowdstrike такая же малварь как и это https://xakep.ru/2025/09/15/huntress-rare-look/
     

  • 1.7, Аноним (7), 10:05, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автоматизацию теперь червем называют?
     
     
  • 2.129, Аноним (129), 01:38, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Компьютерный червь — это самовоспроизводящаяся вредоносная программа, которая распространяется по сетям, используя уязвимости, и не требует для этого действий пользователя или прикрепления к другим файлам. В отличие от вирусов, которые для активации и распространения могут нуждаться в запуске пользователем зараженного файла, черви действуют автономно
     

  • 1.10, freehck (ok), 10:13, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В ходе новой атаки после получения параметров учётной записи сопровождающего в ретзультате фишинга, атакующие публикуют релиз пакета с червём, который активируется при установке скомпрометированного пакета в числе зависимостей. После активации червь осуществляет поиск учётных данных в текущем окружении, загружая и запуская утилиту TruffleHog. В случае обнаружения токена подключения к каталогу NPM червь автоматически публикует новый вредоносный релиз и по цепочке поражает дерево зависимостей. Помимо токена доступа к NPM червь сохраняет ключи доступа к GitHub и облачным сервисам AWS, Azure и GCP (Google Cloud Platform), а также другие конфиденциальные данные, которые способен обнаружить сканер TruffleHog.

    Какие молодцы! Нет, ну серьёзно, они реально озаботились тем, чтобы подставлять зловреда как можно незаметнее: мало того, что всего-то лишь добавляют строчку в список зависимостей, коих в package.json и без того немало, так ещё и делают валидные релизы.

     
     
  • 2.121, Аноним (121), 22:03, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    еще больше "Какие молодцы" выйдет, елси на этом коде научится очередной (название условное) чат гипити и начнёт в новые проекты вставлять подобный код.. ну да, в похожей ситуации такой код был. значит и вам нужен. вот тогда да, выйдет замечательно.
     

  • 1.11, Аноним (11), 10:13, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Все почему? А потому что в JS принято обновлять все npm в слепую. Так как там тысячи пакетов v0.x.x с такими же зависимостями, обновляющиеся каждый день по нескольку раз.

    Появление червя был лишь вопросом времени.

     
     
  • 2.28, Веб разработчик (?), 12:09, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А где не так? в Rust пакеты точно так тянуться из cargo, в Go вообще с гитхаба, в Python pypi, в ruby gem, в PHP packagist, только в C диды ручками файлики подкладывают
     
     
  • 3.41, Данные в так называемом поле Name (?), 13:23, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так и есть. Просто популярность JS почему-то сильно преуменьшина
     
  • 3.88, Аноним (88), 16:06, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А вы думаете что js это одно, а остальное - другое? Нет, эта практика порочная, вне зависимости от выбранного языка.
     
  • 3.123, Аноним (-), 00:07, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В С тоже есть пакетные менеджеры и не один, но они просто не популярны.
     
  • 3.135, OpenEcho (?), 11:19, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  в Go вообще с гитхаба

    но через гугло прокси, как раз чтоб предотвращать, подробнее:

    https://go.dev/blog/supply-chain

     
  • 3.138, Аноним (-), 12:58, 18/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.134, OpenEcho (?), 11:16, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А потому что в JS принято обновлять все npm в слепую.

    А у других что, прям так, каждый стороний пакет - пересмотр исходников?

     
     
  • 3.137, Аноним (56), 12:24, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В c/c++ культуры переиспользования кода почти нет, и очень часто даже для самых обычных вещей пишется свой кривой-косой велосипед.
     

  • 1.13, 12yoexpert (ok), 10:42, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    красивое
     
     
  • 2.14, пох. (?), 11:11, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ага, а говорили - "язык плохой"!
     
     
  • 3.29, Аноним (29), 12:10, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Прямо с языка сорвал.
    Я, когда читал описание, то-же подумал: какой, однако, мощный язык JS!
     
     
  • 4.34, Аноним (34), 12:38, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но ведь, есть ещё более мощный язык! Представляете, что будет в crates.io?
     
     
  • 5.43, Аноним (-), 13:31, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Но ведь, есть ещё более мощный язык! Представляете, что будет в crates.io?

    Шо будет, шо будет? Ничего не будет (с)

    opennet.ru/opennews/art.shtml?num=63875
    Сведений об успешном захвате учётных данных в ходе атаки пока нет.

    Растовики просто оказались поумнее жаваскриптеров или разработчиков СИшных ХЗ либ.

     
     
  • 6.58, Аноним (58), 14:25, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Воот, __сведений__ нет. Пока нет.
     
     
  • 7.87, Аноним (-), 16:04, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот когда будут, тогда  ̶и̶ ̶п̶о̶г̶о̶в̶о̶р̶и̶м̶ будем слушать "какое карго шeрeт0".
    Пока это просто крики из 🐓 угла.

    А то так можно сказать "в linux kernel пока не найден бекдор".
    Благо прецеденты были от АНБ, которые по 10 лет жили не тужили.
    Т.е он там может быть с очень ненулевой вероятностью)

     
     
  • 8.124, Аноним (-), 00:21, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я как-то на заводе работал очень давно Так вот случались случаи что присылали н... большой текст свёрнут, показать
     
  • 8.141, Аноним (141), 18:10, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У того бекдора от АНБ чуть название изменили только, убрали NSA А так он есть... текст свёрнут, показать
     
  • 5.49, пох. (?), 14:18, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    злой хакер запутается в закорючках, устанет бегать от борова, заплачет и уйдет?
     
     
  • 6.115, Аноним (114), 21:11, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да ничего сложного в borrow нет. Просто надо свыкнуться, у у данных есть Один владелец, а не каждый участок кода.
     

  • 1.15, Аноним (15), 11:13, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Мне вот реально интересно. А кто то этим пользуется? Ибо чето как то стремно становится за всякие гос. сервисы. Вчера например как раз столкнулся с тем, что страничка одного гос. сайта на React грузила при каждом чихе браузер на 100% секунды на 3. Но вроде проверил ее на спец. сайтах и ничего не нашло. Просто кривые руки?
     
     
  • 2.27, Аноним (27), 12:08, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А еще интересно кто за этим стоит, и какая цель. Смешно будет если это делает подвальный хвкер, ради фана. Или вообще диверсия от разработчика, чтобы все этого npm'а шарахались.
     
  • 2.99, Аноним (99), 16:53, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну если гос комп куплен во времена Бени и с тех пор не менялся - не мудрено.
    Тут на четвертых то пнях воют что страницы тяжелые, с таким то вообще жизни нет.
    Мож оно это - написать повыше чтоб компы перестали кирпичом чистить да подновили парк а то уже реакт у них на 3 секунды подвисает)
     

  • 1.16, SKZ (?), 11:32, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А хоть в жабаскрипт что-нибудь компилирует?
     
     
  • 2.21, Аноним (24), 11:56, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только корпы и неумехи, которым жалко показывать что же они там навасянокодили.
     
  • 2.51, Аноним (-), 14:19, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если я правильно понял, то в качестве примера можно дать Elm, PureScript, Haskell (ghcjs), CoffeeScript.
     
     
  • 3.64, SKZ (?), 14:49, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если я правильно понял, то в качестве примера можно дать Elm, PureScript,
    > Haskell (ghcjs), CoffeeScript.

    Речь о сабже - делает ли он это (сама смузи-формулировка "компиляция в жабаскрипт" доставляет, просто-напросто)

     
  • 2.57, Аноним (56), 14:24, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А так же ocaml, type script, reason ml, rescript, flow.
     
  • 2.71, Аноним (24), 15:05, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    комментатор поскупился на запятые,
    скорее всего он имел ввиду "в этом вашем жаваскрипт, ну хоть кто нибудь компилирует код в бинарники?"
    в оригинале комментария, да, выглядит косноязычно и вырвиглазно.
     
     
  • 3.76, SKZ (?), 15:23, 17/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.82, Аноним (114), 15:48, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    одни пишут зловред, другие орудуют привилегированным токеном, подбрасывая зловред в зависимости.
     
     
  • 3.96, SKZ (?), 16:29, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > одни пишут зловред, другие орудуют привилегированным токеном, подбрасывая зловред в зависимости.

    И все при деле.

     

  • 1.20, Аноним (24), 11:55, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как опять?
    Че они не пристрелят этот завирусованный НПМ, ну или сопровождающих?
     
     
  • 2.143, Аноним (-), 22:56, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А чё они не пристрелили вендовс, когда тот весь в червях был? Мир так не работает, увы. Люди будут героически преодолевать проблемы. А потом ещё и ещё.
     

  • 1.23, Аноним (27), 11:59, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это уже серьезно - стоит задуматься от отказа от подобных моделей растпространения пакетов.
    Возможно сам червь и не серьезнн, но вот тенденция - сколько уже новостей было. Ощущение такое, что там у них дуршлаг, ибо из раза в раз повторяется одно и то же.
     
     
  • 2.31, Аноним (31), 12:18, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так основная беда в прокладке между монитором и клавиатурой, которую на фишинг подлавливают.
     
     
  • 3.35, Аноним (34), 12:39, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но а где взять на замену столько прокладок?
     
  • 3.70, Аноним (24), 15:02, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Яндекс как то попробовал из курьеров-доставщиков еды, сделать армию "погромистов", и освоить профессии тестировщика, аналитика, дизайнера, разработчика ПО и др.
    Но у них "что то пошло не так"!
    В чем же они просчитались - до сих пор не поймут.

    Право рассчитывать на место в программе «Яндекса» смогут курьеры со стажем работы в «Еде», «Лавке» или «Доставке» не менее полугода.
    ...
    Следующим этапом будет тест на мотивацию

    https://www.cnews.ru/news/top/2022-04-19_yandeks_verbuet_kurerov

     
  • 2.33, Карлос Сношайтилис (ok), 12:36, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > задуматься от отказа от подобных моделей растпространения пакетов

    Проблема не в модели, а в отсутствии изоляции. Большинство разработчиков не используют локально контейнеры и при запуске пакетов, и те могут делать с локальной фс что захотят. Это не просто дырочка в безопасности, это целый портал.

     
     
  • 3.117, Аноним (114), 21:15, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ударило током, а тут такой: "проблема не в электричестве, а в отсутствие изоляции"
     
     
  • 4.118, Карлос Сношайтилис (ok), 21:35, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ударило током, а тут такой: "проблема не в электричестве, а в отсутствие изоляции"

    Целый день бился головой об стену. Проблема не в отсутствии мозгов, а в стене.

     
     
  • 5.125, Аноним (114), 00:46, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Точнее, мне кажется: В отсутствие подушечке на голове
     
  • 2.62, Аноним (56), 14:32, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Критикуешь - предлагай.
     
     
  • 3.126, Аноним (114), 00:47, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Предлагаю покритиковать.
     

  • 1.25, Аноним (24), 12:03, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >которые способен обнаружить сканер TruffleHog

    Не пора ли объявить указанный пакет зловредом в их репозитарии?
    Или будут продолжать жрать кактус и выкапывать стюардессу...

     
  • 1.32, SKZ (?), 12:28, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    NPM и всре жабаскриптовое болото - это сам по себе червь, пожирающий тонны ресурсов по всему миру.

     
     
  • 2.37, Соль земли2 (?), 12:49, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно бесит, что нельзя переместить node_modules. Костыли не предлагать.
     
     
  • 3.44, Аноним (44), 13:31, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В вам никто ничего и не предлагает.
     
  • 3.47, Аноним (24), 14:17, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    1) смотря что вы считаете костылями.
    2) а что не костылями.
    3) стандартный "ln -s" на уровне файловой системы Вас уже не устраивает?
     
     
  • 4.52, 12yoexpert (ok), 14:19, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это же консоль, ты что, псих что ли? мы не знаем, что это такое
     
     
  • 5.69, Аноним (24), 14:57, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну, прокатило бы, еслиб я не знал что в js тоже есть консоль.
    и с нее js и начинался.
     
     
  • 6.73, 1 (??), 15:09, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И в этой консоли можно выполнить ln -s и mount ?
     
     
  • 7.78, Аноним (24), 15:27, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет.
    по большей части это просто консоль вывода, чем ввода.
     
  • 4.92, Соль земли2 (?), 16:23, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это костыль! В Python можно перенести куда угодно virtualenv, rust/go ставят тоже всё отдельно.
     

  • 1.36, Ценитель GPL рогаликов (?), 12:47, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чуть ли не каждую неделю какие проблемы с безопасностью в NPM репах. Складывается впечатление, что какие-то спецслужбы учатся взламывать и заражать GNU/Linux.
     
     
  • 2.42, Аноним (44), 13:30, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Дефекты архитектуры проекта.
     
     
  • 3.50, Аноним (24), 14:18, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Стюардесса уже была такая, когда ее выкопали!
     
  • 2.45, Аноним (45), 13:54, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо искать злой умысел в том что прекрасно объясняется глупостью и некомпетентностью.
     
     
  • 3.68, Аноним (24), 14:55, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    «Умное лицо — это ещё не признак ума, господа.
    Все глупости на земле делаются именно с этим выражением лица.
    Улыбайтесь, господа. Улыбайтесь!»
     
  • 3.90, Аноним (114), 16:10, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То есть червь был всегда. Он просто спал энное количество лет и проснулся сам по себе? Когда хотят свести к глупости - это заметают следы и отвлекают внимание.
     
  • 2.74, 1 (??), 15:12, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нифигасе ... Т.е. "Говорим NPM - подразумеваем Linux! Говорим Linux - подразумеваем NPM !" (почти дословная цитата)  ?
     
  • 2.93, Соль земли2 (?), 16:25, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они не будут так рисковать быть раскрытыми.
     

  • 1.53, Аноним (56), 14:20, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, сколько времени нужно, чтобы ыксперды перестали обсуждать язык и репозитории, и вспомнили про то, что работа с репозиториями должна проводится из среды, не имеющей возможности выполнения кода, а выполнение кода должно быть в среде, не имеющей доступа к репозиторию.
     
     
  • 2.55, 12yoexpert (ok), 14:21, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    мы бы вспомнили, если бы это было правдой, но это не она
     
  • 2.60, Аноним (34), 14:30, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы готовы назватьтакую среду?
     
     
  • 3.63, Аноним (56), 14:35, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Подойдёт даже обычный докер контейнер. В докере - noda и запуск кода, на хосте - никакой ноды. Ну и при пробросе файлов, сделать .git недоступной для контейнера, например храня весь код в src, которая на том же уровне, что и .git. При желании, вместо докера можно взять что угодно, хоть jail из bsd.
     
     
  • 4.66, Аноним (24), 14:53, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    про выпрыгивание из докера на уровень хоста - не, не слышали про данные уязвимости?
    (я понимаю, притянуто за уши, но в целом с вами согласен.)
     
  • 4.75, 1 (??), 15:14, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ок. У тебя докер, в докере нода, в ноде майнер.

    "Ну что сынку помогли тебе твои лях^W докеры ?"

     
     
  • 5.77, Аноним (24), 15:24, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Например, если нужно, чтобы контейнер использовал не более 01% одного процессора, используется команда:

    docker run --cpus="0.01" тестовый контейнер

    Например, можно задать доли в два раза большие для одного контейнера по сравнению с другими:

    docker run --cpu-shares=2048 тестовый контейнер два

    как бы это основы...

     
  • 5.81, Аноним (56), 15:48, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Майнеру нужен доступ в сеть, а условный докер можно запустить без сети, а зависимости ставить через условный nix. Nix собирает зависимости в изолированном окружении, без доступа к сети.
    >"Ну что сынку помогли тебе твои лях^W докеры ?"

    Вам нужно больше продвинутых инструментов, а не меньше.

     
  • 4.111, Джон Титор (ok), 20:23, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Подойдёт даже обычный докер контейнер. В докере - noda и запуск кода, на хосте - никакой ноды. Ну и при пробросе файлов, сделать .git недоступной для контейнера, например храня весь код в src, которая на том же уровне, что и .git. При желании, вместо докера можно взять что угодно, хоть jail из bsd.

    Хрень не соответствующая предыдущему вашему комментарию. До того ж докер для коммерческого применения платная (ну может не в России, но за рубежом она платная для коммерции).

     
     
  • 5.133, Аноним (56), 10:44, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >До того ж докер для коммерческого применения платная

    Берите не докер. Для изоляции доступно куча утилит, хоть systemd, хоть incus, хоть lxc.

     
  • 4.113, Аноним (-), 20:39, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Подойдёт даже обычный докер контейнер. В докере - noda и запуск кода, на
    > хосте - никакой ноды. Ну и при пробросе файлов, сделать .git недоступной для контейнера,

    А червякам большая разнциа - из контейнера себя рассылать или с хоста?

     
     
  • 5.122, Аноним (121), 22:18, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В предложенной схеме, не всё равно
    1. там не сети
    2. ключей там тоже нет, соотв компрометировать нечего,
     
  • 3.80, Аноним (114), 15:33, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "активная среда 1" -> "данные" -> "активный репозиторий без прав изменения пакетов"
    сейчас "клиент репозитория" -> "репозиторий" - данные никто не видит и не может охранять их целостность и анализировать на безопасность.

     

  • 1.65, Сосиска (?), 14:51, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С этими вирусами теперь и вправду придётся по старинке вручную поддерживать зависимости. А тесты запускать внутри виртуалки.
     
     
  • 2.67, Аноним (24), 14:54, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а мы и не прекращали.
    что у вас за среда разработки, в которой Вы манкируете правилами безопасности?
     
  • 2.89, Аноним (114), 16:06, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >придётся по старинке вручную поддерживать зависимости.

    и не сойти с ума.

     
  • 2.95, Соль земли2 (?), 16:29, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала руками, потом напишете скрипты, а потом и свою пакетную систему. Раз никто этого ещё не сделал, значит всех всё устраивает.
     

  • 1.79, Аноним (114), 15:28, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот и "паровозик" в программной управляющей инфраструктуре. Контроль гуманоидов над процессом утрачен.
     
  • 1.84, Аноним (114), 16:00, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Вредоносные релизы формируются для 20 наиболее популярных пакетов

    Вот так просто объявить релиз?! А где спасительная - в данном случае - бюрократия? Где этапы заморозки и т.п.?

     
     
  • 2.120, Роман (??), 22:03, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    какая еще бюрократия и заморозка на bazaar - там же идея всего этого NPM хранилища убрать фрикции для разработчиков, чтобы перестали ходить к админам в свитерах
     

  • 1.86, Аноним (114), 16:03, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Объекты и субъекты управления в этой среде стали "прозрачными" и поддаются автоматизации для хулиганов - как структура исполнительного модуля в памяти. Не удивительно, что появился  червь.
     
  • 1.98, Гена (??), 16:53, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Судя по всему через пару дней ждем новостей об аналогичном червячке в крейте Раста. Посмотрим, как зумеры будут его ловить.

    Модератор перед затиранием поста, ознакомься пожалуйста, с новостью https://www.opennet.dev/opennews/art.shtml?num=63875

     
     
  • 2.128, Аноним (-), 01:18, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Судя по всему

    Судя по чему? Голосам в голове?

    > ждем новостей об аналогичном червячке в крейте Раста.

    Почти в каждой новости кто-то "ждёт". За всё это время могли бы собраться и сами написать червя. Ах, да, не получается осилить синтаксис, да и с боровом тягаться слишком сложно.

    > Посмотрим, как зумеры будут его ловить.

    А что там смотреть? В прошлый раз был тайпсквотинг с добавлением вредоносного кода. Нашли. Удалили.

    https://www.opennet.dev/opennews/art.shtml?num=57169

     

  • 1.103, Аноним (-), 17:53, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Судя по всему, атака не ограничивается упомянутыми 187 пакетами

    Хипстики такие хипстики. Даже не знают - насколько именно их поимели. Просто топчик. Вроде 187 пакетов, но вроде продолжает создаваться. А, погодите, ноджыэс же вместе с гитхабом макйрософт взял под крыло. И сделав всем мозг своими 2FA и чем там еще ... обеспечил безопасность. И выглядела эта безопасность как гигантский червь. Окей, майкрософт!

     
     
  • 2.104, Аноним (114), 18:28, 17/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вспомнился Windows 90-х...
     

  • 1.108, Аноним (108), 19:23, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ждём трёхфакторную аутентификацию + отпечаток большого пальца левой ноги и снимок сетчатки ближайших родственников и/или членов семьи...
     
     
  • 2.131, 0xdeadbee (?), 06:21, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    достаточно подписывать коммиты и бинарники gpg ключами с хорошей пассфразой на private key.
    возможно, приватные ключи придется сдать на проверку подбором пассфразы по словарю.
    если подобралось за разумный срок - посылать на переделку.
     
     
  • 3.136, OpenEcho (?), 11:41, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > достаточно подписывать коммиты и бинарники gpg ключами с хорошей пассфразой на private key.

    А что мешает хулигану сделать тоже самое и подписать своим гпг?

    Он с таким же успехом может загрузить свой публичный ключ указав там ваше имя.

    Это все равно что самому себе паспорт выдавать, веры то только такому паспорту - ноль

     
  • 2.139, Аноним (116), 13:04, 18/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я когда-то пробовал зарегаться на мордокниге - быстро заблочили и потребовали скан паспорта.
     

  • 1.112, Джон Титор (ok), 20:27, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Идея вируса отличная, вопрос только - зачем? Типа сам автор опубликовал данные о системе. Интересно!
     
  • 1.142, Anonymus (?), 21:30, 18/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >После активации червь осуществляет поиск учётных данных в текущем окружении
    >В случае обнаружения токена подключения к каталогу NPM
    >Помимо токена доступа к NPM червь сохраняет ключи доступа к <...>

    Пароли небезопасны, говорили они...

    Пароль перехватят, ключи - молча и незаметно украдут, и в чём разница?

     

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



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

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