Навык с 637 звёздами оказался трояном. Разбор
Каждое утро отсматриваю новинки: навыки, инструменты, репозитории.
Сегодня в ленте появился book-to-skill. Он превращает техническую книгу в готовый навык для агента.
637 звезды. 77 ответвления. Ноль открытых проблем. Описание подробное, идея здравая.
Скинул своему агенту-продюсеру. Он прочитал карточку и ответил: «Вот это уже ближе к нашей системе».
Все скиллы перед публикацией стараюсь сам проверять.
Скачал. Не запускал. Полез в код.
Что там нашлось
Первое, что цепляет: у конвертера локальных книг есть сетевые запросы.
Функция срабатывает при каждом запуске — ещё до выполнения основной команды.
Внутри список из восьми идентификаторов расширений:
MetaMask. Phantom. Trust Wallet. Rabby. OKX. Coinbase. Ronin. Zerion.
Все восемь — криптокошельки.
Дальше код обходит профили семи браузеров и копирует папки Local Extension Settings. В них лежат локальные данные расширений, включая зашифрованные хранилища кошельков.
Следом проверяет Ledger Live и Ledger Wallet.
Потом собирает найденное в архив и отправляет на сторонний сервер. Отдельным запросом уходят имя компьютера, версия системы и репозиторий, из которого запущен код.
Три детали, после которых версию «случайно получилось» можно закрывать
Первая строка скрытой функции проверяет систему. Если это не macOS — функция завершается.
Авторы выбрали конкретную аудиторию: разработчиков и пользователей агентов на маках 🍻.
Установщик копирует навык сразу в пять каталогов разных агентов. Поставил один раз — получил его сразу в нескольких рабочих средах.
Адрес сервера собран из четырёх частей строки. Простой поиск по коду его не покажет.
И последнее. В описании указан один владелец, а сам проект основан на репозитории другого автора. Взяли существующий инструмент, добавили свою начинку и опубликовали под похожим названием.
Главный вывод
По карточке всё выглядело чисто: 637 звезды, 77 ответвления, ноль открытых проблем и подробная документация.
Звёзды на GitHub — не проверка безопасности