НовостиКриптовалютыИсследователи связывают захват Rust-крэйта arrayref с северокорейскими хакерами

Исследователи связывают захват Rust-крэйта arrayref с северокорейскими хакерами

Автор: Cryptopolitan·

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

  • Исходный код скомпрометированных Rust-пакетов не был изменён; злоумышленники добавили только одну новую зависимость — proc-macro1, ошибочно написанное название широко доверенного крэйта proc-macro2 с более чем 154 миллионами загрузок.
  • Поскольку Cargo автоматически запускает скрипты сборки во время компиляции, достаточно было просто собрать проект, подтянувший заражённую версию, чтобы вредоносное ПО активировалось; разработчики могут проверить файл Cargo.lock на наличие proc-macro1.
  • Исследователи Wiz связали атаку с северокорейскими операциями по совпадающим путям командования и управления, общим сертификатам безопасности и тому же хостинг-провайдеру Hostwinds, замеченному в кампании Mastra и атаке на axios npm, хотя этого недостаточно для формальной государственной атрибуции.
  • Aikido назвала инцидент крупнейшей компрометацией Rust-крэйта по числу загрузок: у arrayref около 244 миллионов загрузок, а вредоносная версия была доступна примерно 86 минут.
  • Rust Security Response Team пришла к выводу, что машина или учётные данные сопровождающего были скомпрометированы, а не что автор действовал злонамеренно; это отражает повторяющуюся уязвимость аккаунтов сопровождающих, подобную бэкдору в XZ Utils в 2024 году.
Исследователи связывают захват Rust-крэйта arrayref с северокорейскими хакерами

Специалисты по безопасности из Wiz заявляют, что атака на цепочку поставок, скомпрометировавшая arrayref — пакет Rust, присутствующий примерно в трёх четвертях сред, использующих Rust, — напоминает недавние операции, связанные с Северной Кореей.

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

Почему в хаке на arrayref обвиняют Северную Корею?

Исследователи Wiz Рами Маккарти и Бенджамин Рид опубликовали отчёт, в котором отмечают, что payload arrayref обращается к каналу командования и управления /49890878, который также фигурирует в кампании Mastra. Microsoft связывает кампанию Mastra с северокорейской хакерской группой, которую называет Sapphire Sleet, и ранее описывала её как финансово мотивированную операцию, крадущую криптовалюту с помощью ложных рекрутинговых приманок и других методов социальной инженерии.

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

Интернет-адрес (IP), использованный в атаке на arrayref, имеет тот же сертификат безопасности, что и другой адрес, использованный в Mastra. Кроме того, жертва, сообщившая о подозрительной активности, указала IP, который Google Cloud видел в атаке на axios npm. Mandiant утверждает, что эта атака была проведена северокорейской группой под названием UNC1069. Обе атаки использовали одну и ту же хостинговую компанию Hostwinds.

Незаметное минимальное изменение

Атаку было трудно обнаружить, поскольку изменения были минимальными. Ильяс Макари, исследователь безопасности из Aikido, обнаружил, что фактический код внутри трёх Rust-пакетов — arrayref, internment и append-only-vec — не был изменён. Единственным изменением стало добавление в список зависимостей каждого пакета новой записи proc-macro1.

Это название является ошибочным написанием популярного крэйта proc-macro2, который был загружен более 154 миллионов раз. Подражание названию широко доверенного пакета — давняя тактика в открытых репозиториях, таких как npm и PyPI, где обновления публикуются без ручной проверки кода. Поддельный крейт даже содержит настоящий код proc-macro2, поэтому программное обеспечение по-прежнему собирается и проходит все тесты.

Вредоносная часть была скрыта в скрипте сборки. Cargo запускает скрипты сборки автоматически во время компиляции, поэтому, как указала Rust Security Response Team в своём уведомлении, одной лишь компиляции проекта, который подтянул плохую версию, было достаточно, чтобы запустить атаку. Поскольку Cargo записывает точные версии зависимостей в Cargo.lock каждого проекта, разработчики могут искать в этом файле proc-macro1, чтобы проверить, не была ли подтянута скомпрометированная версия.

После запуска вторая стадия атаки похищала сохранённые пароли из браузеров Chrome, Brave и Edge и закреплялась в системе, чтобы переживать перезагрузки на Windows, Mac и Linux.

Крупнейшая компрометация Rust по числу загрузок

Aikido заявила, что эта атака стала крупнейшей компрометацией Rust-крэйта, которую она видела, если судить по числу загрузок. arrayref, который используется в инструментах для Solana и Ethereum, имеет около 244 миллионов загрузок. Сообщается, что вредоносная версия была доступна 86 минут до удаления.

Команда заявила, что первоначальное сообщение поступило от Nextron Systems. После обнаружения атаки команда восстановила чистые версии и заблокировала аккаунт сопровождающего.

Команда Rust заявила, что не считает автора действовавшим со злым умыслом, полагая вместо этого, что его машина или учётные данные были скомпрометированы.

Примечательно, что Amazon 29 июля сообщила, что связала серию компрометаций библиотек npm с одним актором, связанным с КНДР. TRM Labs также сообщила, что на северокорейские группы пришлось около 76% всего ущерба от криптохакерских атак в 2026 году по апрель (примерно $577 million).

Исследователь Black Hat Вангелис Стикиас заявил, что отслеживал северокорейских хакеров в 1,640 компаниях в 57 странах. Он обнаружил, что они часто заманивают разработчиков фальшивыми предложениями о работе, которые устанавливают вредоносное ПО, что похоже на скомпрометированную зависимость сборки в этом случае.

Не просто читайте новости о криптовалютах. Понимайте их. Подпишитесь на нашу рассылку. Это бесплатно.