Зловмисники скомпрометували обліковий запис розробника популярного Rust-пакету arrayref, щоб впровадити шкідливе програмне забезпечення, яке виконувалося на комп’ютерах розробників під час компіляції.

За 23 хвилини зловмисник також заразив два інші пакети, append-only-vec та internment, у рамках тієї ж атаки на ланцюжок постачання.
Пакет arrayref є популярною бібліотекою Rust із понад 53 мільйонами завантажень за останні 90 днів, яка використовується інструментами для криптографії, графіки та блокчейну.

Звіт компанії з безпеки додатків StepSecurity зазначає, що шкідливі версії Rust-пакетів, які були опубліковані, це arrayref 0.3.10, append-only-vec 0.1.9 та internment 0.8.7. Усі вони підтримувалися одним обліковим записом.
Хакер додав залежність від пакета proc-macro1, який імітував популярний пакет proc-macro2 (typosquatting), при цьому залишивши весь інший вихідний код незмінним.
За словами дослідників, скрипт у proc-macro1 під назвою `build.rs` автоматично виконується під час компіляції, реконструюючи свою інфраструктуру з фрагментів, закодованих у форматі base64, та вибираючи корисне навантаження, що відповідає операційній системі хоста (Linux x86-64, Windows x86-64, macOS x86-64 та macOS ARM64).
StepSecurity повідомляє, що зловмисник також опублікував кілька версій чотирьох власних пакетів (aovine, arone, aronenao, tinymember), які були видалені з crates.io.
У Unix-системах шкідливе ПЗ записує файл /tmp/rust-setup, позначає його як виконуваний та запускає як відокремлений процес.
У Windows створюється файл %TEMP%rust-setup.ps1, і використовується прихований wscript.exe та VBS-запускач для підтримки роботи процесу.
Корисне навантаження отримує адресу як аргумент, що, як вважається, є адресою командно-контрольного центру.
Згідно з аналізом хмарної компанії Wiz, можливості другого етапу включають викрадення інформації про хост та облікових даних.
Дослідники зазначають, що шкідливе ПЗ збирає облікові дані з браузерів Google Chrome, Brave та Edge, запитуючи бази даних SQLite для входу.
Стійкість забезпечується через ключ Реєстру Run у Windows, LaunchAgent у macOS та systemd у Linux.
Хронологія та наслідки
Потенційні наслідки цієї атаки на ланцюжок постачання значні, оскільки сам лише arrayref має понад 245 мільйонів завантажень за весь час, тоді як сукупна кількість для append-only-vec та internment становить майже 19 мільйонів установок.
Серед проектів, що використовують arrayref, є blake3, фреймворки Rust GUI, такі як egui, eframe та iced, а також компоненти, що використовуються в Ethereum та Solana.
Атака розпочалася о 01:17 UTC 20 серпня, коли було створено обліковий запис GitHub, що видавав себе за відомого розробника Rust Девіда Толнає. За ним послідував подібний обліковий запис у реєстрі crates.io.
О 01:55 зловмисник опублікував [email protected], безпечну копію proc-macro2, а потім шкідливе оновлення через версію 1.0.107, опубліковану о 7:11.
О 07:15 arrayref 0.3.10 було опубліковано через легітимний обліковий запис droundy (Девід Раунді), тоді як версії 0.3.5–0.3.9 були видалені, потенційно для того, щоб змусити до встановлення шкідливої версії.
Інцидент було зареєстровано о 07:54. Crates.io видалив proc-macro1 о 08:03 та вилучив arrayref 0.3.10 з індексу о 08:41.
Компанії з кібербезпеки StepSecurity, SafeDep та Aikido опублікували технічний аналіз атаки на ланцюжок постачання та поділилися індикаторами компрометації.
Дослідники Wiz зазначають, що “інфраструктура кампанії перетинається з нещодавніми атаками на ланцюжки постачання КНДР [Північної Кореї], включаючи Mastra та axios”.
Розробники, які встановили будь-який із них під час вікна вразливості тривалістю майже 1,5 години, повинні вважати свої системи скомпрометованими.
Рекомендовані перевірки включають пошук у файлах Cargo.lock, перевірку на наявність залишених файлів та аналіз трафіку до 23.254.165[.]112 на портах 9089 та 443.
У випадках підтвердженого компрометації рекомендується замінити всі доступні облікові дані, токени CI, ключі підпису та інші секрети, а також відновити середовище з безпечних резервних копій.
Безпечні проекти повинні зафіксувати відому безпечну версію уражених залежностей до з’ясування та вирішення ситуації з підтримкою.

Лише 37% дій зловмисників блокуються після отримання дійсних облікових даних
Загальні показники запобігання можуть приховувати те, що відбувається після початкового доступу. Як тільки зловмисники починають використовувати дійсні облікові дані, рівень запобігання різко знижується.
The Blue Report 2026 вимірює ефективність заходів захисту за кожною технікою на основі 338 мільйонів симуляцій, проведених у виробничих середовищах клієнтів.
Отримати звіт
Схожі статті:
Amazon пов’язує атаки на Debug, Chalk NPM з північнокорейськими хакерами
Атака на плагіни BdThemes створює нелегітимних адміністраторів WordPress
Масштабна атака на npm ChainDrop заразила сотні пакетів
Хакерська атака на скрипт онлайн-рекламної компанії Adform для викрадення криптовалюти
GitHub, PyPI додають часові механізми захисту від атак на ланцюжки постачання
- Append-only-vec
- Arrayref
- DPRK
- North Korea
- Rust
- Supply Chain
- Supply Chain Attack
Інформація підготовлена на основі матеріалів: www.bleepingcomputer.com
