Пакет-шпион в 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.


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

20074Я не получил структуру статьи для анализа. Вместо содержания статьи в запросе указано... 20072Эффект красоты решает исход собеседования до первых слов 20069Как черта характера крадёт деньги на переговорах 20068Карточная игра против главной дисфункции команды 20067Какие три нарратива способны провести компанию сквозь любой кризис? 20066Фотосинтез в глазах мышей: возможно ли это без превращения в растение? 20065СПКЯ стало СПМЯ: почему переименование болезни, затрагивающей миллионы женщин, заняло так... 20064Почему великая пирамида Гизы пережила все землетрясения за 4500 лет 20063Генетика Homo erectus: что зубная эмаль рассказала о наших предках 20062Кости в бухте Эребус: что кости моряков Франклина рассказывают спустя полтора века 20061Крупнейший плавучий ветрогенератор в мире: Китай испытывает установку у берегов Шанхая 20060Карие глаза младенца стали индиго после лечения от COVID-19 20058Почему серебряная чаша с Афиной пролежала в немецком лесу две тысячи лет? 20057Дыра в атмосфере солнца: вспышка достигла пика и может зажечь полярное сияние
Ссылка