Крупнейшая атака на 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 мы собрали полноценные курсы по информационной безопасности с лабораториями, практическими заданиями и пошаговыми образовательными треками - от первых шагов до уровня специалиста.

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

Читать далее

Когда котику делать нечего он поднимает свою лабораторию

Когда котику делать нечего он поднимает свою лабораторию

❗Важно: Материал опубликован исключительно в образовательных целях и предназначен для изучения принципов работы технологий, методов защиты и проведения легального тестирования безопасности. Любые проверки, сканирование, эксплуатация уязвимостей или иные действия в отношении информационных систем допускаются только при наличии явного разрешения их владельца или в специально созданной лабораторной среде. Автор и администрация

Иллюзия безопасности: 5 мифов о кибербезопасности, в которые до сих пор верит топ-менеджмент

Иллюзия безопасности: 5 мифов о кибербезопасности, в которые до сих пор верит топ-менеджмент

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

Шпионаж из розетки: как данные могут покинуть компьютер через кабель питания

Шпионаж из розетки: как данные могут покинуть компьютер через кабель питания

В кибербезопасности принято защищать очевидные каналы связи. Компании устанавливают межсетевые экраны, шифруют трафик, контролируют USB-устройства, отключают беспроводные интерфейсы и физически изолируют особенно важные системы от интернета. Кажется, что компьютер, не подключённый к локальной сети и внешним сервисам, уже не способен передать данные наружу. Однако у любого работающего устройства остаются

Тестовое с сюрпризом: как фейковые рекрутеры воруют пароли и доступы

Тестовое с сюрпризом: как фейковые рекрутеры воруют пароли и доступы

Представьте, в данный момент вы ищете работу или открыты к предложениям. В известных сервисах по поиску работы или на почту приходит письмо от приятного HR-специалиста. Вакансия — сказка, вилка — выше рынка, требования идеальные. Вам предлагают сделать небольшое тестовое задание, чтобы оценить навыки. Вы скачиваете архив, запускаете файл… и через пять