Дослідники компанії Sonatype виявили масштабну атаку на ланцюг постачання Arch User Repository (AUR). Зловмисники системно захоплювали покинуті пакети AUR та вбудовували до них шкідливий код, призначений для крадіжки облікових даних. Поки команда Arch Linux усувала наслідки першої хвилі атаки, зловмисники розпочали другу, застосувавши новий метод доставки та нові пакети. Станом на 18 червня кількість скомпрометованих пакетів перевищила 1579.
Механізм атаки
Зловмисники скористалися стандартним механізмом AUR, який дозволяє членам спільноти “усиновлювати” та підтримувати покинуті проєкти. Отримавши контроль над легітимними, давно існуючими пакетами з реальною аудиторією, атакуючі модифікували файли PKGBUILD. Це дозволило їм додати команди для встановлення шкідливого npm-пакету `atomic-lockfile` під час процесу інсталяції.
Важливою особливістю атаки було те, що шкідливий код не змінював безпосередньо код самого пакету, а лише скрипти збирання. Такий підхід тривалий час дозволяв уникнути автоматичного виявлення, оскільки традиційні механізми перевірки програмного забезпечення фокусуються на коді пакета, а не на інструкціях його компіляції. Шкідлива програма, написана на Rust, включала функціонал для збору облікових даних, eBPF-руткіт для приховування процесів, засоби для запобігання відлагодженню та механізми викрадення даних.
Об’єкти атаки
Перелік цілей вказує на те, що за цією операцією стоять не аматори. Шкідливе програмне забезпечення цілеспрямовано збирало:
- Паролі з веббраузерів.
- SSH-ключі.
- API-токени.
- Облікові дані для хмарних сервісів (AWS, GCP, Azure).
- Токени систем безперервної інтеграції та доставки (CI/CD).
- Дані з менеджерів паролів.
Окремий модуль був спрямований на корпоративні інструменти комунікації, такі як Slack та Discord. Особливу небезпеку становить eBPF-руткіт, який після отримання root-доступу маскує шкідливі процеси під легітимні системні потоки. Це робить виявлення зараження за допомогою стандартних інструментів, таких як `ps` та `htop`, практично неможливим.
Друга хвиля та помилка зловмисників
Поки команда Arch Linux працювала над усуненням наслідків першої хвилі атаки, дослідники Sonatype зафіксували нову активність. Друга хвиля використовувала Bun замість npm як альтернативний шлях встановлення. Нові пакети, `js-digest` та `lockfile-js`, містили той самий `preinstall-хук`, але з іншим шкідливим бінарним кодом. Попри еволюцію інструментарію, статичний аналіз виявив у цих пакетах ті ж самі характеристики: посилання на eBPF, викрадення даних браузера та націленість на корпоративні месенджери.
Зловмисники припустилися помилки: пакет `lockfile-js` містив `preinstall-хук`, який посилався на директорію `lib/`, що фактично була відсутня в опублікованому пакеті. Ця недбалість дозволила дослідникам остаточно підтвердити зв’язок між обома хвилями атаки.
Вердикт ІТ-Блогу: Користувачам Arch Linux, особливо тим, хто встановлює пакети з AUR, рекомендується бути максимально уважними та стежити за оновленнями безпеки. Особливо це стосується тих, хто використовує пакети, що могли бути скомпрометовані.
Оригінал статті: itc.ua
