Крупнейшая атака на NPM: фишинг, вредоносный код и 2,6 млрд загрузок под угрозой

Крупнейшая атака на NPM: фишинг, вредоносный код и 2,6 млрд загрузок под угрозой

8 сентября 2025 года экосистема Node Package Manager (NPM) пережила, пожалуй, самый громкий киберинцидент в своей истории. Злоумышленники получили доступ к аккаунту известного мейнтейнера под ником qix — человека, сопровождавшего фундаментальные для мира JavaScript библиотеки. И всё это произошло не через какой-то хитроумный эксплойт ядра, а с помощью старого доброго фишинга. Классика жанра.

За три дня до атаки был зарегистрирован поддельный домен npmjs.help, имитирующий официальный npmjs.com. С этого домена отправлялись письма от имени службы поддержки. Сообщалось, что двухфакторная аутентификация не обновлялась больше года, и «устаревшие» ключи будут заблокированы начиная с 10 сентября. Приправлено угрозами блокировки аккаунта и щепоткой паники. Даже у самых стойких админов в такие моменты потеют ладошки.

Письмо выглядело настолько правдоподобно, что qix перешёл по ссылке и ввёл данные на поддельной странице. Результат — полный контроль над его учётной записью. Как говорится, никакого 0day не нужно, если есть социальная инженерия уровня «бабушка из Сбербанка».

Получив доступ, злоумышленники выпустили новые версии по меньшей мере девятнадцати популярных пакетов, встроив в них тщательно обфусцированный JavaScript. Вредоносный код вёл себя как тихий карманник: сидел в стороне, ждал момента и в нужный момент подменял адреса криптокошельков в транзакциях на реквизиты своих хозяев. Ethereum, Bitcoin, Solana — всё, что блестит, утекает в чужие карманы.

Список заражённых версий выглядит внушительно: ansi-styles@6.2.2, debug@4.4.2, chalk@5.6.1, supports-color@10.2.1, strip-ansi@7.1.1, ansi-regex@6.2.1, wrap-ansi@9.0.1, color-convert@3.1.1, color-name@2.0.1, is-arrayish@0.3.3, slice-ansi@7.1.1, color@5.0.1, color-string@2.1.1, simple-swizzle@0.2.3, supports-hyperlinks@4.1.1, has-ansi@6.0.1, chalk-template@1.1.1, backslash@0.2.1, error-ex@1.3.3. Другими словами, полпланеты фронтендеров внезапно оказались в зоне риска.

Аномалию впервые заметили пользователи GitHub в тикете debug-js/debug#1005. После этого сообщество отреагировало довольно быстро: чистые версии были выпущены поверх заражённых, у взломанного аккаунта забрали доступ, а известные мейнтейнеры вроде Sindre Sorhus тут же подключились к наведению порядка.

Опасность ситуации трудно переоценить: суммарная еженедельная загрузка заражённых пакетов превышает 2,6 миллиарда раз. Удар пришёлся в самое сердце экосистемы — в базовые библиотеки, от которых зависят тысячи других проектов. Один фишинговый клик — и полмира веба под угрозой.

Что делать разработчикам? Немедленно удалить заражённые версии, проверить зависимостей через lock-файлы, пересобрать среды и задуматься о том, как храните секреты. Ну и, конечно, перестать верить в письма с «срочным обновлением 2FA», даже если они выглядят убедительнее, чем твоя дипломная работа.

Эта атака показала, что никакие красивые лозунги о «децентрализации open-source» не спасут, если вся безопасность держится на одном уставшем мейнтейнере, читающем почту за утренним кофе.

Вопрос остаётся открытым: как обезопасить будущее open-source от катастроф такого масштаба? Ведь, как выяснилось, для разрушения всей цепочки поставок ПО иногда достаточно всего одного клика мышкой.

Берегите себя и свои нервы.

Следующий шаг - практика
CTA Image

Эта статья - только начало. Настоящие навыки появляются тогда, когда знания превращаются в практику. В Kraken Academy мы собрали полноценные курсы по информационной безопасности с лабораториями, практическими заданиями и пошаговыми образовательными треками - от первых шагов до уровня специалиста.

Начать обучение

Читать далее

CISA предупреждает об активной эксплуатации трех уязвимостей в ядре Linux

CISA предупреждает об активной эксплуатации трех уязвимостей в ядре Linux

CISA добавили три уязвимости в ядре Linux в свой каталог известных эксплуатируемых уязвимостей. В список попали следующие бреши в безопасности: CVE-2025-39682 (оценка CVSS: 9.8 — критический уровень) — ошибка проверки исключительных условий в тракте приема TLS. Позволяет локальным аутентифицированным пользователям вызвать раскрытие содержимого памяти или отказ в обслуживании (DoS)

Google начала платить издателям за вклад их материалов в ответы ИИ

Google начала платить издателям за вклад их материалов в ответы ИИ

Google начала тестировать выплаты издателям за материалы, которые помогают ее искусственному интеллекту формировать ответы пользователям. Деньги начисляют, если компания считает вклад контента в ответ достаточно значимым, сообщает Digiday. Программа получила название AI contribution pilot и работает через Google Search Console. После подключения у издателя появляется отдельный раздел с суммой заработка

Одно расширение может перехватить управление ИИ-ассистентами в пяти браузерах

Одно расширение может перехватить управление ИИ-ассистентами в пяти браузерах

Исследователи Forever Security показали, что обычное вредоносное расширение может получить контроль над встроенными ИИ-ассистентами сразу в пяти Chromium-браузерах и сервисах: Gemini Live в Chrome, Perplexity Comet, Microsoft Edge, Opera Neon, Claude in Chrome. После установки расширения атакующему достаточно одного клика, чтобы получить доступ к ИИ. В некоторых случаях

Windows 11 научится переустанавливаться через интернет, даже если система сломалась

Windows 11 научится переустанавливаться через интернет, даже если система сломалась

Microsoft тестирует Cloud Rebuild — функцию, которая позволяет переустановить Windows 11 через интернет без загрузочной флешки. Она запускается из среды восстановления WinRE, подключается к Windows Update и загружает свежий образ ОС с нужными драйверами. Перед установкой можно проверить редакцию, язык и сборку. В отличие от обычного сброса системы, Cloud Rebuild рассчитана