yyay замість yay: в AUR знову підкинули троянів, тепер під виглядом помічників для встановлення пакетів
У репозиторії користувацьких пакетів Arch Linux знайшли масове завантаження шкідливих пакетів, що маскувалися під популярні AUR-помічники yay і paru. Усередині був справжній код плюс скрипт встановлення, який завантажував і запускав віддалений shell-скрипт з правами root. Це вже третя велика атака на AUR за пів року.
Arch Linux любить свою свободу: офіційні репозиторії доповнює AUR — Arch User Repository, куди будь-хто може завантажити рецепт збирання пакета (PKGBUILD). Саме тут живуть пропрієтарні програми, бета-версії й усе, чого немає в офіційних репозиторіях. І саме тому AUR уже кілька місяців поспіль стає мішенню.
Що сталося
13 жовтня в розсилці AUR з'явився тред з красномовною назвою «hundreds of aur packages were mass uploaded with malware». Користувач з ніком marchos1as завантажив пакети з назвами, що імітували yay і paru — два найпопулярніші AUR-помічники. Ці утиліти автоматизують пошук, збирання й встановлення пакетів з AUR, тож ними користуються майже всі, хто взагалі працює з AUR.
Хитрість була в тому, що пакети не порожні. Усередині — справжній код з того самого офіційного джерела, той самий архів. Відрізнялися лише назва (наприклад, yyay) і скрипт встановлення, який завантажував і запускав віддалений shell-скрипт з правами root.
«Пакет видає себе за звичайне перепакування легітимного помічника yay… але назва yyay і шкідливий скрипт встановлення показують, що це троянізована імітація, створена щоб змішатися зі справжнім пакетом», — написав мейнтейнер AUR Андреас Райхель.
Спільнота зреагувала за лічені хвилини: команда AUR заблокувала акаунт і видалила пакети.
Звідки тягнувся код
Шкідливе навантаження завантажувалося через посилання на Wayback Machine, яке вело до репозиторію hellscripter/install-scripts на російському хостингу коду GitFlic. Цікаво, що репозиторій з такою самою назвою, але на Codeberg, раніше фігурував у кампанії DirtyBlanket в npm, яку описала компанія SafeDep. Там Linux-хробак розгортав троян віддаленого доступу CHAOS і серед іншого вбудовував завантажувач в AUR-пакети. Чи пов'язані ці дві операції, поки не підтверджено.
Третій раз за пів року
- Червень: понад 400 пакетів AUR поширювали шкідливе ПЗ з функціями руткіта, що крало облікові дані.
- Липень: через хвилю шкідливих завантажень Arch тимчасово вимкнув «усиновлення» покинутих пакетів.
- Жовтень: тайпсквотинг під yay і paru.
Як захиститися
- Перевірити, що встановлено. Команда
pacman -Qmпокаже пакети, встановлені не з офіційних репозиторіїв. Якщо серед них є щось схоже на yay чи paru, але з іншою назвою, — тривога. - Якщо такий пакет був встановлений, вважайте систему скомпрометованою. Скрипт працював з правами root, тож видалити пакет недостатньо: змінювати паролі й ключі, перевіряти систему, а надійніше — перевстановлювати.
- Читати PKGBUILD і install-скрипти перед збиранням. Це не порада параноїка, а базове правило AUR, яке помічники роблять надто легким для ігнорування. yay і paru пропонують переглянути PKGBUILD і зміни перед збиранням — цей крок варто не пропускати.
- Звіряти назву, мейнтейнера і дату. Справжні yay і paru мають довгу історію, голоси й відомих мейнтейнерів. Пакет-близнюк, завантажений учора, з однією зайвою літерою в назві — привід зупинитися.
AUR тримається на довірі й уважності спільноти, і цього разу вона спрацювала швидко. Але атаки на ланцюг постачання стають масовими саме там, де встановлення програми — це одна команда, яку ніхто не читає.