6000 разработчиков стали жертвами из-за двух строк кода — и никто ничего не заметил

6000 разработчиков стали жертвами из-за двух строк кода — и никто ничего не заметил

Pull request с невинным названием запустил цепную реакцию, которая едва не привела к катастрофе.

image

Атака на расширение Visual Studio Code под названием Ethcode поставила под угрозу более 6 000 разработчиков по всему миру. Проблема возникла из-за внедрения вредоносного кода в популярный инструмент, используемый для работы со смарт-контрактами на блокчейнах, совместимых с Ethereum Virtual Machine.

Ethcode был изначально выпущен в 2022 году разработчиком под ником 7finney. Он предназначался для развёртывания и исполнения Solidity-контрактов в экосистеме EVM. Последнее легитимное обновление проекта датировалось сентябрём 2024 года. Однако 17 июня 2025 года в репозиторий на GitHub поступил pull request от пользователя с именем Airez299, в котором предлагались масштабные обновления кода, включая интеграцию с библиотекой viem и новой системой тестирования на базе Mocha.

На первый взгляд изменения казались полезными, особенно с учётом длительного затишья в развитии проекта. Однако специалисты ReversingLabs выявили , что за более чем 4 000 строками кода и 43 коммитами скрывались всего две вредоносные строки, изменившие судьбу всего расширения. Злоумышленник добавил зависимость «keythereum-utils» в файл package.json и импортировал её в основной TypeScript-файл расширения.

JavaScript-библиотека, позднее удалённая из npm-реестра, оказалась сильно обфусцированной и включала механизм загрузки второго этапа атаки — неизвестного вредоносного кода. Всего вредоносный пакет был скачан 495 раз. Его версии публиковались с аккаунтов 0xlab, 0xlabss и 1xlab, которые сейчас удалены. После деобфускации стало ясно, что скрипт запускает скрытый PowerShell, который в фоновом режиме загружает и исполняет батч-скрипт с общедоступного хостинга.

Предполагается, что конечная цель атаки — кража криптовалютных активов или вмешательство в процесс разработки смарт-контрактов. После уведомления Microsoft, расширение было удалено из маркетплейса. Поддерживающий проект разработчик под ником 0mkara позднее подтвердил, что вредоносная зависимость была исключена, и Ethcode вернули в список доступных расширений.

Атака на Ethcode — часть нарастающей волны атак на цепочки поставок ПО. Злоумышленники всё чаще используют доверие к открытым репозиториям, таким как PyPI и npm, чтобы напрямую внедрять вредоносный код в рабочие окружения разработчиков. Аккаунт Airez299 был создан в день отправки pull request, не имел истории активности, что говорит о его одноразовом характере — он был создан исключительно для внедрения вредоносного кода.

По данным Sonatype, только во втором квартале 2025 года было обнаружено 16 279 вредоносных пакетов с открытым исходным кодом — рост на 188% по сравнению с аналогичным периодом прошлого года. В первом квартале зафиксировано 17 954 случая. Из них более 4 400 пакетов были нацелены на сбор и отправку чувствительных данных, включая токены и логины. При этом количество вредоносных решений, ориентированных на порчу данных и саботаж, удвоилось — более 400 уникальных случаев.

Доверие к открытому коду перестаёт быть гарантией безопасности — сегодня всего один хорошо замаскированный коммит способен подорвать целые экосистемы разработки. И именно поэтому контроль каждой строки кода становится не просто полезной практикой, а необходимостью.

Хакеры ненавидят этот канал!

Спойлер: мы раскрываем их любимые трюки

Расстройте их планы — подпишитесь