Платформа Hugging Face стала площадкой для новой масштабной атаки на разработчиков. Седьмого мая 2026 года специалисты по кибербезопасности обнаружили вредоносный код в репозитории Open-OSS/privacy-filter. К тому моменту он входил в число самых популярных на платформе: количество загрузок превысило двести тысяч. Репозиторий был удалён командой Hugging Face, но инцидент затронул огромное число пользователей Windows.
Описание
Суть атаки заключалась в имитации официального продукта OpenAI под названием Privacy Filter. Злоумышленники создали репозиторий с похожим именем (так называемый тайпсквоттинг), скопировали карточку модели почти дословно и разместили файл loader.py. Именно этот файл запускал многоступенчатую цепочку заражения, которая в конечном итоге устанавливала на компьютер жертвы программу-стилер. Такие программы воруют учётные данные, токены доступа, файлы криптокошельков и сессионные cookie, что позволяет злоумышленникам обходить многофакторную аутентификацию.
Сама цепочка атаки насчитывает шесть этапов. Первый этап - приманка. Пользователь переходил на страницу репозитория и видел инструкцию, которая предлагала клонировать репозиторий и запустить start.bat (для Windows) или python loader.py (для Linux и macOS). Второй этап - сам loader.py. Внутри скрипта был написан безвредный код макета модели, который создавал впечатление легитимности. Однако после этого вызывалась функция _verify_checksum_integrity. Она отключала проверку SSL, декодировала закодированный URL, ведущий на публичный сервис jsonkeeper.com, и загружала оттуда JSON-документ. Затем из документа извлекалось значение поля cmd, которое передавалось на выполнение в PowerShell. Все ошибки в этой части скрывались через конструкцию bare except.
Третий этап - скрытый запуск PowerShell. Команда выполнялась без создания окна: использовался ключ -WindowStyle Hidden и флаг создания процесса CREATE_NO_WINDOW. Таким образом жертва не видела никаких признаков активности. Этот этап работал только на Windows; на Linux и macOS вызов просто проваливался и не приводил к заражению.
На четвёртом этапе PowerShell-команда, полученная из JSON, представляла собой однострочный скрипт, который скачивал файл update.bat с домена api.eth-fastscan.org. Этот домен имитировал блокчейн-аналитику, что могло ввести в заблуждение администраторов сети. Скачанный файл помещался во временную папку и запускался через cmd.exe с ключом /k, что оставляло окно открытым. [Исследователи] отметили, что такое поведение нетипично и может служить индикатором компрометации на заражённых машинах.
Пятый этап - сам update.bat. Этот пакетный файл со временем незначительно менялся, но в целом выполнял ряд действий: проверял права администратора и при необходимости запрашивал повышение привилегий через UAC; скачивал основной вредоносный исполняемый файл с того же домена; добавлял папки с этим файлом в исключения антивируса Microsoft Defender; создавал скрипт runner.ps1, который через небольшую паузу запускал скачанный бинарник и удалял за собой следы; создавал задачу в планировщике Windows с именем, маскирующимся под обновление Microsoft Edge, которая запускала runner.ps1 от имени SYSTEM, после чего удалял эту задачу. Таким образом, закрепления в системе не происходило: задача использовалась лишь для одномоментного запуска с максимальными привилегиями.
Шестой этап - работа самого стилера. Это исполняемый файл размером около одного мегабайта, написанный на Rust. В нём применялись продвинутые методы обхода защиты: проверки на отладку, обнаружение виртуальных машин (VirtualBox, VMware, QEMU, Xen), попытки отключить интерфейс проверки вредоносных сценариев Windows (AMSI) и трассировку событий (ETW). Вредоносная программа содержала восемь параллельных модулей сбора данных. Они извлекали информацию из браузеров на основе Chromium и Gecko (Firefox), из клиента Discord, из файлов криптокошельков (как расширений браузера, так и отдельных программ), из конфигурации FTP-клиентов FileZilla, SSH-ключей, сторонних VPN, а также делали скриншоты всех мониторов.
Все собранные данные упаковывались в JSON, сжимались gzip и отправлялись на сервер recargapopular.com через POST-запрос с Bearer-токеном авторизации. Во время выполнения в изолированной среде исследователи зафиксировали передачу данных именно на этот домен.
Последствия атаки крайне серьёзны. Поскольку стилер крадёт учётные данные и токены сессий, злоумышленники могут получить доступ к корпоративным и личным аккаунтам жертв. Особенно опасна кража cookie: она позволяет заходить в сервисы без ввода пароля и обходить многофакторную аутентификацию. Кроме того, под угрозой криптокошельки, ключи SSH, пароли от FTP и VPN.
Эксперты рекомендуют всем, кто запускал файлы из этого репозитория на Windows, считать компьютер полностью скомпрометированным. Лучшим решением будет переустановка системы, а не попытки очистки. Перед этим необходимо изолировать машину от сети, затем сменить все пароли, токены и сессионные ключи на всех сервисах, к которым обращались с этого устройства. Важно помнить, что даже если пароль не был сохранён, сессионные cookie могли быть украдены.
Инцидент показывает, что даже доверенные платформы для машинного обучения, такие как Hugging Face, могут стать каналом распространения вредоносного кода. Разработчикам стоит проявлять бдительность при использовании репозиториев с большим числом загрузок и проверять подлинность проектов по официальным каналам.
Индикаторы компрометации
IPv4
- 89.124.93.110
Domains
- api.eth-fastscan.org
- recargapopular.com
- welovechinatown.info
URLs
- https://huggingface.co/anthfu/Bonsai-8B-gguf
- https://huggingface.co/anthfu/DeepSeek-V4-Pro
- https://huggingface.co/anthfu/Qwen3.6-35B-A3B-APEX-GGUF
- https://huggingface.co/anthfu/Qwen3.6-35B-A3B-Claude-4.6-Opus-Reasoning-Distilled-GGUF
- https://huggingface.co/anthfu/Qwopus-GLM-18B-Merged-GGUF
- https://huggingface.co/anthfu/supergemma4-26b-uncensored-gguf-v2
- https://huggingface.co/Open-OSS/privacy-filter
- https://jsonkeeper.com/b/AVNNE
SHA256
- 04f0569971ac7ff81c8656e8453a69189d8870040044909dad45c04c567e7564
- 4fba92a34fd9338293de53444bc9f05c278897d903a24efb95fde0522b3d50c0
- 6d5b1b7b9b95f2074094632e3962dc21432c2b7dccfbbe2c7d61f724ffcfea7c
- 6db01158b044f178c45754666e2cbc0365f394e953fbf99ec34aa5304d5b79b1
- ba67720dd115293ec5a12d08be6b0ee982227a4c5e4662fb89269c76556df6e0
- C1b59cc25bdc1fe3f3ce8eda06d002dda7cb02dea8c29877b68d04cd089363c7