За последний год компания Phylum активно отслеживает действия северокорейских хакеров, которые атакуют разработчиков открытого ПО. В новом отчетеприведен случай с npm-пакетом, который был опубликован и удалён с площадки за 1,5 часа. Инцидент подчеркивает, что хотя методы хакеров обновляются, основные схемы атак остаются неизменными.
Call-blockflow, кратковременно появившийся на npm, является модифицированной версией популярного пакета call-bind (около 45 млн еженедельных загрузок). В новой версии сохранены все основные элементы оригинала, но изменены файл package.json и добавлены новые файлы, что позволяет запускать вредоносный код при установке пакета.
Такие действия стали возможными благодаря изменениям в конфигурационном файле и использованию специальных скриптов, которые исполняются автоматически и затем удаляются, не оставляя следов.
Различия package.json в легитимном пакете call-bind (слева) и вредоносном call-blockflow (справа)
Ключевая новинка в атаке – это скрипт, который работает в среде Windows_NT и создаёт временные файлы для выполнения вредоносных команд, после чего эти файлы удаляются. Такой подход помогает хакерам оставаться незамеченными и усиливает скрытность атаки.
Помимо технических аспектов, важно отметить, что хотя пакет “call-blockflow” и копирует доверенный пакет “call-bind”, он не представляет угрозы для пользователей последнего. Системы безопасности npm и Phylum быстро реагируют на такие угрозы, блокируя вредоносные пакеты до того, как они могут нанести вред.
Вредоносный пакет “call-blockflow” был быстро удалён из NPM, что соответствует образцу быстрого публикования и удаления, используемого в данной кампании. Такая тактика позволяет злоумышленникам минимизировать возможность обнаружения и анализа вредоносного пакета.
Обнаруженная кампания – часть более широкой стратегии, в которой хакеры либо выдают себя за законных разработчиков популярных пакетов, либо создают новые фальшивые пакеты для распространения вредоносных программ. Клонировав уже существующие доверенные репозитории, атакующие получают практически неограниченный запас доверенных пакетов, что усиливает вероятность успеха их атак.