
Компания по кибербезопасности Socket Security 25 мая раскрыла, что криптовалютная цепочная атака по воровству поставок под названием TrapDoor была обнаружена в npm, PyPI и Crates.io: более 34 вредоносных пакетов и 384 связанных версии. Socket сообщил об инциденте затронутым репозиториям; часть вредоносных пакетов уже удалена, однако на момент публикации все еще присутствуют некоторые из них.
Встроенные механизмы вредоносного выполнения в трех репозиториях
(Источник: Socket Security)
npm (22 пакета) через установочные хуки (postinstall hooks) разворачивает общий полезный модуль сбора учетных данных trap-core.js, состоящий из 1 149 строк, используя AWS и GitHub API для проверки украденных учетных данных, а затем закрепляет постоянные процессы посредством Git-хука, shell-хука, systemd, cron и SSH. Скомпрометированные машины разработчиков могут стать мостом для латерального перемещения в другую инфраструктуру.
PyPI (7 пакетов) автоматически запускает код при импортировании: с домена GitHub Pages, контролируемого злоумышленником, загружает JavaScript и выполняет его командой node -e. Злоумышленнику не нужно выпускать новые версии, чтобы обновлять поведение. Crates.io (6 пакетов, все нацелены на разработчиков Sui и Move) использует вредоносный build.rs скрипт сборки: во время компиляции Rust сканирует локальное хранилище ключей, шифрует найденный ключ XOR с жестко заданным ключом и отправляет результат в GitHub Gist.
Типы данных, которые похищает TrapDoor (Socket подтвердил)
По результатам анализа Socket TrapDoor похищает следующие данные:
· SSH-ключи (могут использоваться для латерального перемещения)
· данные кошельков Sui, Solana и Aptos
· AWS-учетные данные и токены GitHub
· данные профилей браузера и базы данных с логинами
· данные расширений криптокошельков
· переменные окружения и API-ключи
· локальные файлы конфигурации разработки
Внедрение целей для AI: .cursorrules, CLAUDE.md и вредоносные PR
TrapDoor использует файлы .cursorrules и CLAUDE.md и встраивает скрытые инструкции с помощью символов нулевой ширины Unicode, пытаясь заставить инструменты кодирования AI (например, Cursor, Claude) выполнять «безопасное сканирование», в результате чего ключи разработчиков оказываются украдены. Злоумышленник использует аккаунт GitHub ddjidd564 и одновременно подает pull requests в популярные open-source AI-проекты, включая browser-use, langchain, langflow, llama_index, MetaGPT и OpenHands, пытаясь внедрить .cursorrules и CLAUDE.md с инструкциями, ведущими на URL конфигурации, который контролирует злоумышленник; активность помечена как P-2024-001.
Часто задаваемые вопросы
Какие экстренные меры должны принять разработчики, которых затрагивает TrapDoor?
Немедленно идентифицируйте и удалите любые установленные связанные вредоносные пакеты (полный список включает 22 пакета в npm, 7 в PyPI и 6 в Crates.io) и немедленно отзовите любые раскрытые AWS-учетные данные, токены GitHub и SSH-ключи. Socket сообщил о своей информации в три основные регистрационные базы и продолжает обновлять страницу отслеживания атак TrapDoor.
Что является инфраструктурой атаки TrapDoor?
Злоумышленник использует аккаунт GitHub ddjidd564 для хостинга полезной нагрузки и конфигурации; домен GitHub Pages — ddjidd564[.]github[.]io/defi-security-best-practices/. Этот аккаунт также поддерживает технические документы, написанные самим злоумышленником (включая AUDIT-MATRIX.md, BYPASS.md, PAYLOAD.md и SWARM.md), а также несколько приманочных репозиториев на темы DeFi и безопасности.
Как разработчики могут проверить, заражена ли их среда?
Socket рекомендует проверить локальную среду разработки на наличие аномальных настроек, когда файлы .cursorrules или CLAUDE.md содержат символы нулевой ширины Unicode, а также на наличие аномальных процессов в postinstall хуках, службах systemd или задачах cron. Полный список названий вредоносных пакетов Socket опубликован; разработчики могут проверить установленные пакеты по одному.