В официальном репозитории crates.io зафиксировали серьезную компрометацию популярного Rust-пакета arrayref, который насчитывает свыше 53 миллионов загрузок за последние три месяца и используется в качестве зависимости в сотнях проектов. Атакующие получили доступ к учетной записи мейнтейнера и опубликовали зараженные версии библиотек arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9, внедрив в их манифесты вредоносную зависимость proc-macro1.
Опасная нагрузка активировалась непосредственно во время сборки проекта через скрипт пакета proc-macro1, скачивая бинарный файл с внешнего сервера управления. В Unix-подобных системах загрузчик маскировался под файл rust-setup в каталоге временных данных, а в Windows сохранялся в виде исполняемых скриптов с расширениями ps1 и vbs.
Администраторы площадки crates.io заблокировали и удалили вредоносные релизы спустя полтора часа после публикации, однако разработчикам настоятельно рекомендуется очистить локальные кеши менеджера пакетов Cargo и проверить сборочные окружения на наличие следов подозрительных файлов.
Команда для проверки наличия вредоносных пакетов в осевшем локальном кеше:
find ~/.cargo/registry/cache -type f \( \
-name 'append-only-vec-0.1.9.crate' -o \
-name 'arrayref-0.3.10.crate' -o \
-name 'internment-0.8.7.crate' -o \
-name 'proc-macro1-*.crate' -o \
-name 'proc-macro-en-*.crate' -o \
-name 'aovine-*.crate' -o \
-name 'arone-*.crate' -o \
-name 'aronenao-*.crate' -o \
-name 'tinymember-*.crate' \
Linux / Линукс 🥸