Исследователь Артем Голубин опубликовал блог, в котором описывается кампания по распространению вредоносного ПО через фейковые репозитории на GitHub. Эти репозитории содержат README-файлы, созданные с помощью больших языковых моделей (LLM), которые распределяют инфостилеры через ZIP-архивы.
Изначально Голубин нашёл более 100 таких репозиториев. Мы провели тот же поиск и обнаружили, что их гораздо больше — около 4,600. Эти репозитории характеризуются AI-созданными README-файлами с фейковыми описаниями и ZIP-архивами, содержащими вредоносное ПО.
Влияние на сообщество
Разработчики: Скачивая код из этих репозиториев, разработчики рискуют потерять свои учётные данные и средства с криптовалютных кошельков. Угроза уже актуальна.
GitHub (Microsoft): Платформа столкнулась с проблемой эрозии доверия и неспособности модерировать содержимое, что стало системной проблемой с 2024 года.
Открытое сообщество: Отношение к качеству контента на платформе ухудшается, что может привести к дальнейшему снижению доверия.
Команды по безопасности: Разнообразие вредоносного ПО, созданное с помощью LLM, усложняет его обнаружение и блокировку.
Методика исследования
Голубин предоставил GitHub-поиск: path:README.md /software-v.*.zip/. Мы использовали различные вариации этого запроса для выявления масштаба кампании.
| Поисковый запрос | Найденные репозитории |
|---|---|
| "Software-v1.9.zip" in README | 28 |
| "Software_v1.9.zip" in README | 28 |
| "Software-v1.7.zip" in README | 42 |
| "Software-v1.8.zip" in README | 30 |
| "Software-v2.0.zip" in README | 37 |
| "Software-v1.5.zip" in README | 38 |
| raw.githubusercontent.com + Software-v1 + .zip | 214 |
| raw/refs/heads + Software + .zip (широкий) | 4,633 |
При проверке случайно выбранных репозиториев мы подтвердили, что большинство из них содержат вредоносное ПО. Все 10 проверенных репозиториев имели одинаковую структуру: отполированный README с ссылками на ZIP-архивы.
Структура LLM-созданных README
Каждый вредоносный репозиторий имеет следующую структуру:
- Название проекта с эмодзи, например: "🎚️ focusmute - Easy Hotkey Mute for Scarlett".
- Чистый список функций с эмодзи-заголовками.
- Секция требований к системе, всегда указывает на Windows 10/11.
- Эмблемы загрузки, ведущие к вредоносным ZIP-файлам.
- Инструкции по установке с упоминаниями ZIP-файла 3-4 раза.
- FAQ и раздел помощи, добавленные для придания README более реалистичного вида.
Описания выглядят как отполированные страницы продуктов. Они охватывают реальные категории программного обеспечения — аудиоинтерфейсы, PDF-представители, игровые читы, AI-инструменты, RAG-системы. Однако все они ведут к одному и тому же payload: ZIP-архиву с зашифрованным бинарным файлом.
Захваченные аккаунты
Голубин отметил, что некоторые пользователи были зарегистрированы давно, что указывает на возможность взлома аккаунтов. Мы подтвердили это, проверив даты создания аккаунтов:
| Аккаунт | Дата создания | Публичные репозитории | Вероятный статус |
|---|---|---|---|
| minhazuddin099 | Май 2020 | 1 | Захвачен (неактивен 4+ года) |
| Bao2510 | Ноябрь 2021 | 1 | Захвачен (неактивен 3+ года) |
| Tofuu167 | Сентябрь 2021 | 1 | Захвачен (неактивен 3+ года) |
| Olusolabiodun | Август 2022 | 4 | Захвачен |
| XARZGAMING | Июнь 2025 | 1 | Новый аккаунт |
| lyesaissa33-cmd | Август 2025 | 1 | Новый аккаунт |
Захваченные аккаунты более эффективны, так как GitHub доверяет старым учётным записям, что играет на руку злоумышленникам.
Описание вредоносного ПО
На основе анализа компании Trend Micro ( кампания отслеживается как "BoryptGrab" и связана с операцией LummaStealer "Water Kurita"), ZIP-архивы содержат следующие файлы:
lua51.dll— интерпретатор LuaJIT.luajit.exe— загрузчик Lua.userdata.txt— зашифрованный скрипт Lua (сам payload).Launcher.bat— исполняет загрузчик.
Скрипт Lua использует обfuscатор Prometheus и распаковывается до примерно 1 ГБ в процессе выполнения, чтобы избежать анализа в песочнице. Он скачивает BoryptGrab или LummaStealer, которые крадут учётные данные браузеров (Chrome, Edge, Firefox, Opera, Brave, Yandex), криптовалютные кошельки (Exodus, Electrum, Ledger, Atomic, Binance, Wasabi, Trezor), расширения 2FA, файлы Telegram и Discord, скриншоты и системную информацию. Данные отправляются на pasteflawwed[.]world.
Манипулирование SEO
README-файлы не только придают репозиториям легитимный вид, но и обновляются ежечасно для манипуляции рейтингом поиска на GitHub. Использование LLM позволяет создавать уникальные описания для каждого фейкового проекта, что затрудняет их обнаружение.
Кампания нацелена на разработчиков, ищущих инструменты в конкретных нишах: аудиообработка, PDF-рендеринг, игровые читы, AI-инструменты, криптографические средства. Каждый репозиторий оптимизирован под соответствующие поисковые запросы.
Перспективы
Встроенные защиты GitHub не справляются с масштабом проблемы. Голубин отмечает, что браузеры уже отказываются загружать большую часть этих вредоносных файлов, так как они помечены антивирусным ПО. Однако платформа сама не блокирует репозитории или загрузки.
Проблема масштабируется с использованием LLM: создание 4,600+ уникальных и правдоподобно выглядящих репозиториев требовало бы значительных человеческих усилий. С LLM злоумышленники могут генерировать новые проекты за считанные секунды, приближая маржинальные затраты к нулю.
Эта атака поставила под угрозу цепочку поставок: AI-инструменты используются как для создания, так и для распространения вредоносного контента быстрее, чем платформы могут его модерировать.
Количество таких репозиториев продолжает расти. Каждый из них имеет LLM-созданный README, ссылку на ZIP-файл и содержит инфостилер. Аккаунты захвачены или недавно созданы, а README обновляются ежечасно для манипулирования рейтингом поиска. GitHub пока не предпринял эффективных мер.