Масштабна атака на AUR: понад 1500 пакетів зловмисники
Масштабна атака на AUR: зловмисники захопили понад 1500 пакетів
Дослідники компанії Sonatype виявили масштабну кібератаку на ланцюг постачання програмного забезпечення в Arch User Repository (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
Команда Arch Linux відреагувала оперативно, хоча спочатку масштаб інциденту був серйозно недооцінений.
«Вважаю, що на цей момент ми видалили всі шкідливі коміти, про які нам відомо. Дякую всім за повідомлення про пакети. Список, що містить більшість (але не всі) постраждалих пакетів, можна знайти тут», — написав розробник Arch Linux Джонатан Гротелюшен у листі до розсилки aur-general.
Протягом дня кількість виявлених скомпрометованих пакетів зростала стрімко: з 400 на початку доби до 900 через кілька годин. До вечора Arch Linux оголосив про завершення зачистки з підсумком 1579 уражених пакетів, уточнивши, що цей список є неповним.
Офіційні репозиторії Arch Linux — [core], [extra] і [multilib] — атака не зачепила. Постраждав виключно AUR.
Структурна проблема без простого рішення
За оцінками The Next Web, в AUR наразі перебуває близько 13 000 покинутих пакетів. Це величезна поверхня для атак, і жодне поточне прибирання її не закриє. Зловмисники все частіше обирають стратегію захоплення довірених покинутих проєктів замість класичного тайпосквотингу — і ця тактика стає дедалі ефективнішою.
Arch Linux сповідує принцип «довіряй, але перевіряй», проте реальність інциденту показала, що навіть досвідчені розробники рідко перевіряють PKGBUILD перед встановленням. Поки AUR не запровадить обов’язкову перевірку нових мейнтейнерів покинутих пакетів, наступна хвиля атак — лише питання часу.