Сентябрь 2025   |   Обзор события   | 8

Хакеры украли криптовалюту через заражённые пакеты npm

Хакеры внедрили вредоносный код в около двух десятков популярных пакетов с открытым исходным кодом в репозитории npm, включая такие, как chalk и debug, которые используются в тысячах проектов. Вредоносный код перехватывал транзакции с криптовалютами и распространялся через обновления, зависящие от этих пакетов.

ИСХОДНЫЙ НАРРАТИВ

Большое количество пакетов с открытым исходным кодом, размещённых в репозитории npm, подверглись атаке. Вредоносный код был внедрён в пакеты, которые получают более двух миллиардов обновлений в неделю. Атаке подверглись около двух десятков пакетов, в том числе ключевые компоненты экосистемы JavaScript. Инцидент стал известен общественности после сообщений в социальных сетях.

Уязвимость двухфакторной аутентификации

Один из поддерживателей пакетов, Josh Junon (его псевдоним — Qix), сообщил, что его аккаунт был взломан. Хакерам удалось обмануть его с помощью письма, имитировавшего официальную поддержку npm. В сообщении говорилось, что аккаунт будет закрыт, если пользователь не обновит данные двухфакторной аутентификации. Попав на эту уловку, Junon предоставил доступ к своей учётной записи.

Вредоносный код, внедрённый в обновлённые пакеты, насчитывал более 280 строк. Он следил за транзакциями с криптовалютой и заменял адреса кошельков на адреса, контролируемые злоумышленниками. Внедрённый код мог перехватывать транзакции с Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash. Для этого злоумышленники использовали технику хука, позволяющую изменять поведение функций, таких как fetch, XMLHttpRequest и API кошельков.

Широкое распространение атаки

По данным исследовательской компании Socket, взлом пакетов, поддерживаемых Qix, позволил хакерам распространить вредоносные версии пакетов, которые зависят от них десятки других программных решений. Среди затронутых пакетов — chalk, ansi-styles, ansi-regex, supports-color, debug, и другие. Эти пакеты играют важную роль в экосистеме JavaScript и используются как напрямую, так и косвенно в тысячах проектов.

ПакетВерсияНазначение
chalk5.6.1Форматирование текста в консоли
ansi-styles6.2.2Управление цветом и стилями текста
supports-color10.2.1Определение поддержки цвета терминалом
debug4.4.2Вывод отладочной информации
ansi-regex6.2.1Обработка ANSI-символов

Параллельные атаки на репозитории

В это же время были раскрыты и другие атаки, затронувшие репозитории PyPI, DockerHub, GitHub и другие. Компания GitGuardians сообщила, что 327 пользователей GitHub были затронуты атакой, при которой злоумышленники украли 3325 секретов аутентификации. Вредоносные обновления добавляли вредоносные GitHub Actions, которые утечкой токенов и других данных аутентификации. Всего 9 пакетов npm и 15 пакетов PyPI находились под угрозой.

Компания Wiz также сообщила о новой атаке, затронувшей пользователей GitHub. Целью стала система Nx, используемая для управления сборками и репозиториями в корпоративных средах. Хакеры получили действительный токен аутентификации аккаунта npm и использовали его для извлечения токенов GitHub и npm. Вредоносный код также использовал AI-интерфейсы командной строки для поиска полезных файлов. Второй этап атаки делал приватные репозитории публичными. Украденные данные были загружены в репозитории с названиями, включающими «s1ngularity-repository», что дало имя инциденту — s1ngularity.

Масштабы и последствия

Атака на npm, в которой были затронуты ключевые пакеты, может повлиять на миллионы пользователей, так как эти пакеты используются в тысячах других проектов. Подобные инциденты подчёркивают важность обеспечения безопасности в экосистеме с открытым исходным кодом. Важно, чтобы разработчики и операторы систем внимательно отслеживали обновления и проверяли подлинность источников.

АНАЛИТИЧЕСКИЙ РАЗБОР

Когда доверие становится уязвимостью: атака на npm и уроки для экосистемы открытого кода

Сервис npm, один из основных репозиториев для языка JavaScript, оказался в центре масштабной атаки, когда в ключевые пакеты был внедрён вредоносный код. Атака началась с фишингового письма, направленного на разработчика Qix, чей аккаунт стал точкой входа для злоумышленников. Воспользовавшись доверием к официальной поддержке, хакеры получили доступ к репозиториям и внедрили вредоносный код, способный перехватывать транзакции с криптовалютой. Этот случай — не просто техническая утечка, а пример того, как слабые звенья в системе доверия могут стать катализатором системного риска.

Как доверие превращается в уязвимость

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

Кроме того, внедрённый вредоносный код действовал через хуки, что позволяет его скрыть даже при поверхностном анализе. Такой подход делает его особенно опасным: он не просто ворует данные, а манипулирует поведением приложений, что может привести к последствиям, не сразу заметным даже для опытных разработчиков. Такие атаки могут быть не только финансовым преступлением, но и инструментом влияния на инфраструктуру, что особенно важно в условиях, когда открытый код становится основой критически важных сервисов.

Связи между инцидентами и масштабы риска

Параллельно с атакой на npm были зафиксированы и другие инциденты, включая взломы на PyPI, DockerHub и GitHub. Это не случайность — все они связаны общей тактикой фишинга и утечки токенов аутентификации, что указывает на систематическую стратегию злоумышленников. Такие атаки неизбежно влияют на архитектуру программного обеспечения, где один уязвимый пакет может повлиять на десятки других. Это особенно критично в условиях, когда открытый код используется в государственных, финансовых и критически важных системах.

Уроки для России и возможный путь к устойчивости

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

Ключевые выводы:

  • Доверие в цифровом мире требует баланса между удобством и контролем. Даже в системах с двухфакторной аутентификацией можно обмануть пользователя, если он не обучен распознавать фишинг.
  • Вредоносный код, внедрённый через хуки, может оставаться незамеченным долгое время, особенно если он манипулирует уже существующими функциями.
  • Атаки на npm, PyPI и GitHub демонстрируют системную стратегию злоумышленников, направленную на утечку токенов и захват инфраструктуры.
  • Для России важно развивать собственную экосистему открытого кода, где можно будет контролировать источники и обеспечивать безопасность на государственном уровне.

Что дальше?

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

Коротко о главном

Взлом аккаунта разработчика через фишинг

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

Вредоносный код перехватывает транзакции с криптовалютами

Внедрённый скрипт насчитывал более 280 строк и изменял адреса кошельков в транзакциях, перенаправляя средства на кошельки злоумышленников, включая Ethereum, Bitcoin, Solana, Tron и другие.

Атака затронула десятки популярных пакетов JavaScript

Среди них — chalk, ansi-styles, debug и другие, используемые в тысячах проектов как напрямую, так и косвенно, что позволило распространить вредоносные версии на множество зависимых решений.

Параллельные атаки на PyPI, DockerHub и GitHub

Злоумышленники украли более 3000 токенов аутентификации, внедрили вредоносные GitHub Actions и выложили украденные данные в репозитории с названием «s1ngularity-repository».

Хакеры использовали AI-интерфейсы для поиска файлов

В рамках атаки на Nx злоумышленники применяли искусственный интеллект для анализа и извлечения важных данных из репозиториев, делая приватные проекты публичными.

Инцидент подчеркнул уязвимости открытой экосистемы

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

Утечка токенов затронула 327 пользователей GitHub

Злоумышленники использовали 9 пакетов npm и 15 пакетов PyPI для распространения вредоносного кода, направленного на кражу секретов аутентификации и доступа к репозиториям.

Инфографика событий

Открыть инфографику на весь экран


Участники и связи

Отрасли: ИТ и программное обеспечение; Кибербезопасность; Финансы; Криптовалюты

Оценка значимости: 8 из 10

Атака затронула ключевые пакеты экосистемы JavaScript, которые используются миллионами разработчиков, включая российских, что указывает на национальный масштаб влияния. Инцидент длится несколько дней и затрагивает несколько сфер — технологическую, экономическую и кибербезопасность. Последствия серьёзны, так как угроза безопасности может повлиять на работу программных систем, включая финансовые транзакции. Связь с Россией усиливает значимость события.

Материалы по теме