Пакет-шпион в npm: как фальшивый установщик OpenClaw крадёт пароли и клонирует браузеры на macOS

Третьего марта 2026 года в реестре npm появился пакет под названием @openclaw-ai/openclawai. Загрузил его пользователь с ником openclaw-ai. Пакет маскировался под установщик OpenClaw — и на первый взгляд не вызывал подозрений. За неделю его скачали 178 раз, прежде чем специалисты компании JFrog обнаружили угрозу. Десятого марта 2026 года пакет удалили из реестра, но к тому моменту он уже успел натворить дел. Исследователь безопасности Мейтар Палас, работающий в JFrog, дал угрозе имя GhostClaw, а внутреннее название вредоноса — GhostLoader.
Пакет-шпион в npm: как фальшивый установщик OpenClaw крадёт пароли и клонирует браузеры на macOS
Изображение носит иллюстративный характер

Механизм заражения запускался сразу после установки. Пакет использовал хук postinstall, который автоматически выполнял команду npm i -g @openclaw-ai/openclawai — то есть переустанавливал себя глобально. Через свойство bin в файле package.json он прописывал бинарник OpenClaw, указывающий на скрипт scripts/setup.js, и добавлял его в переменную PATH. После этого вредонос становился обычной командой в терминале, доступной из любой точки системы. Выглядело всё настолько буднично, что заподозрить неладное было практически невозможно.

Первая стадия атаки — файл setup.js — работала с поразительной хитростью. Пользователь видел убедительный интерфейс командной строки с анимированными полосами прогресса, имитирующими процесс установки. Потом на экране появлялся поддельный запрос авторизации iCloud Keychain, предлагавший ввести системный пароль macOS. Чистая социальная инженерия: жертва сама отдавала свой пароль. После этого скрипт обращался к серверу управления (C2) и получал зашифрованный JavaScript-payload второй стадии. Код расшифровывался, записывался во временный файл и запускался как фоновый процесс. Через 60 секунд временный файл удалялся — чтобы замести следы.

Если Safari оказывался недоступен из-за ограничений, вредонос шёл ещё дальше. Он вызывал диалоговое окно AppleScript, которое настоятельно рекомендовало пользователю предоставить терминалу полный доступ к диску (Full Disk Access). В окне были пошаговые инструкции и кнопка, открывавшая «Системные настройки» напрямую. Продуманность этого шага поражает — атакующие явно знали повадки пользователей macOS и рассчитывали на их доверчивость к системным подсказкам.

Полезная нагрузка второй стадии представляла собой примерно 11 700 строк JavaScript-кода. По сути это был полноценный RAT (троян удалённого доступа) и стилер в одном флаконе. Среди его возможностей: закрепление в системе, сбор данных, расшифровка информации из браузеров, связь с C2-сервером, SOCKS5-прокси и — что самое опасное — клонирование браузера в реальном времени. Вся инфраструктура управления была завязана на домен trackpipe[.]dev.

Перечень данных, которые вредонос стремился украсть, впечатляет своим размахом. Он вытаскивал локальную базу login.keychain-db и все базы iCloud Keychain. Собирал учётные данные, куки, данные кредитных карт и автозаполнение из Chromium-браузеров: Google Chrome, Microsoft Edge, Brave, Vivaldi, Opera, Yandex и Comet. Крипто-кошельки тоже были под ударом — и десктопные приложения, и браузерные расширения, и сид-фразы. Отдельно охотился за облачными и девелоперскими ключами от AWS, Microsoft Azure, Google Cloud, Kubernetes, Docker, GitHub. SSH-ключи и конфигурации ИИ-агентов тоже попадали в сеть.

Если жертва предоставляла полный доступ к диску, список украденного разрастался ещё сильнее. GhostClaw выгребал Apple Notes, историю iMessage, данные Safari, конфигурации почтовых аккаунтов и информацию об учётной записи Apple. Фактически, одно неосторожное нажатие «Разрешить» в системных настройках открывало злоумышленникам доступ ко всей цифровой жизни пользователя.

Собранные данные упаковывались в архив tar.gz и отправлялись по трём каналам: напрямую на C2-сервер, через Telegram Bot API и через файлохранилище . Тройная схема гарантировала, что информация дойдёт до атакующих, даже если один из каналов окажется заблокирован. После отправки вредонос переходил в режим демона и каждые 3 секунды проверял буфер обмена на наличие 9 заранее определённых паттернов: приватных ключей, WIF-ключей, приватных ключей SOL, RSA-ключей, BTC-адресов, Ethereum-адресов, ключей AWS, OpenAI и Strike. Всё найденное мгновенно улетало к злоумышленникам.

Набор C2-команд превращал GhostClaw в полноценный инструмент дистанционного управления. Оператор мог отслеживать запущенные процессы, сканировать входящие сообщения iMessage в реальном времени, выполнять произвольные shell-команды, открывать URL в браузере жертвы, загружать дополнительные payload'ы и скачивать файлы. Были предусмотрены запуск и остановка SOCKS5-прокси, получение списка установленных браузеров, самоуничтожение и обновление модуля.

Но самой опасной функцией было клонирование браузера. GhostClaw мог скопировать профиль браузера и запустить его в headless-экземпляре Chromium. Профиль содержал активные куки, авторизации и историю — и атакующий получал полностью аутентифицированную сессию без необходимости знать логин и пароль. Остановка клонированного браузера тоже управлялась через C2. По сути, злоумышленник мог в прямом смысле «сесть за ваш браузер» удалённо, видеть всё, что видите вы, и делать всё, что можете делать вы — в любом аккаунте, куда вы были залогинены.

178 скачиваний за неделю — число небольшое. Но если учесть, что среди жертв могли оказаться разработчики с доступом к облачным средам и корпоративным ресурсам, масштаб потенциального ущерба от GhostClaw трудно переоценить. Этот случай в очередной раз показывает, насколько легко вредоносный код проникает в экосистему npm и насколько мало нужно, чтобы запустить цепочку компрометации — достаточно одной команды npm install.


Новое на сайте

19905Зачем древние египтяне строили круглые храмы? 19904Планета, на которой вы живёте, но почти не знаете 19903Может ли анализ крови остановить рак печени ещё до его начала? 19902Кто такие GopherWhisper и зачем им монгольские чиновники? 19901«Вояджер-1» готовится к манёвру «большой взрыв»: NASA отключает приборы ради выживания 19900Почему вокруг Чатемских островов появилось светящееся кольцо из планктона? 19899Как взлом Vercel начался с Roblox-скрипта на чужом компьютере 19898Кто лежит в шотландских гробницах каменного века? 19897Почему две англосаксонские сестра и брат были похоронены в объятиях 1400 лет назад? 19896Гормон GDF15: найдена причина мучительного токсикоза у беременных 19895Почему хакеры Harvester прячут вредоносный код в папке «Zomato Pizza»? 19894Робот-гуманоид Panther от UniX AI претендует на место в каждом доме 19893Artemis застряла на земле: NASA не может лететь на луну без новых скафандров 19892Почему 20 000 промышленных устройств по всему миру оказались под угрозой взлома? 19891Зачем египетская мумия «проглотила» «Илиаду»?
Ссылка