Анализ случаев кражи активов пользователей Solana: вредоносные пакеты NPM украли Закрытый ключ
2 июля 2025 года пользователь обратился за помощью к команде безопасности, сообщив, что его криптоактивы были украдены после использования одного из открытых проектов на GitHub. Этот проект называется solana-pumpfun-bot и размещен на платформе GitHub.
Команда безопасности немедленно начала расследование. Сначала они проверили репозиторий проекта на GitHub и обнаружили, что количество звезд и форков довольно высоко, но время коммитов сосредоточено на три недели назад, что свидетельствует о недостатке постоянных обновлений, и этот факт вызвал настороженность у команды безопасности.
Дальнейший анализ показал, что этот проект Node.js зависит от стороннего пакета под названием crypto-layout-utils. Однако этот пакет был удалён официальным NPM, и указанная версия не присутствует в истории NPM.
Просмотрев файл package-lock.json, команда обнаружила, что злоумышленник заменил ссылку для загрузки crypto-layout-utils на адрес релиза GitHub. После загрузки и анализа этого пакета было установлено, что это высокозапутанный вредоносный код.
После устранения недоразумения команда безопасности подтвердила, что это вредоносный пакет NPM. Он будет сканировать файлы на компьютере пользователя и, как только обнаружит содержимое, связанное с кошельком или Закрытым ключом, загрузит его на сервер, контролируемый злоумышленниками.
Исследование также показало, что злоумышленники могли контролировать несколько аккаунтов GitHub, чтобы Fork'ить вредоносные проекты и распространять вредоносные программы, одновременно увеличивая количество Fork'ов и Star'ов проекта, привлекая больше пользователей.
Некоторые проекты Fork также использовали другой вредоносный пакет bs58-encrypt-utils-1.0.3. Этот вредоносный пакет был создан 12 июня 2025 года, и предполагается, что злоумышленник начал распространять вредоносные пакеты NPM и проекты Node.js с тех пор.
С помощью инструментов анализа на блокчейне команда отследила адрес злоумышленника, на который были переведены украденные средства, на одну из торговых платформ.
В этой атаке злоумышленники маскировали вредоносный код под легитимный открытый проект, подталкивая пользователей к его загрузке и запуску. Злоумышленники также искусственно завышали популярность проекта, увеличивая его доверие. Эта атака сочетает в себе социальную инженерию и технические методы, что делает ее трудной для полной защиты.
Рекомендуется разработчикам и пользователям проявлять повышенную осторожность к незнакомым проектам на GitHub, особенно когда речь идет о работе с кошельками или Закрытым ключом. Если необходимо отладить, лучше делать это в отдельной среде без чувствительных данных.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
14 Лайков
Награда
14
3
Поделиться
комментарий
0/400
ProposalManiac
· 08-03 04:13
Малые проекты следует использовать с осторожностью
Посмотреть ОригиналОтветить0
DefiSecurityGuard
· 08-03 04:09
Обнаружены типичные красные флаги приманки
Посмотреть ОригиналОтветить0
ShibaMillionairen't
· 08-03 04:04
Кража токенов действительно очень трудно предотвратить
Пользовательские активы Solana были украдены: вредоносный пакет NPM украл закрытый ключ через проект на GitHub
Анализ случаев кражи активов пользователей Solana: вредоносные пакеты NPM украли Закрытый ключ
2 июля 2025 года пользователь обратился за помощью к команде безопасности, сообщив, что его криптоактивы были украдены после использования одного из открытых проектов на GitHub. Этот проект называется solana-pumpfun-bot и размещен на платформе GitHub.
Команда безопасности немедленно начала расследование. Сначала они проверили репозиторий проекта на GitHub и обнаружили, что количество звезд и форков довольно высоко, но время коммитов сосредоточено на три недели назад, что свидетельствует о недостатке постоянных обновлений, и этот факт вызвал настороженность у команды безопасности.
Дальнейший анализ показал, что этот проект Node.js зависит от стороннего пакета под названием crypto-layout-utils. Однако этот пакет был удалён официальным NPM, и указанная версия не присутствует в истории NPM.
Просмотрев файл package-lock.json, команда обнаружила, что злоумышленник заменил ссылку для загрузки crypto-layout-utils на адрес релиза GitHub. После загрузки и анализа этого пакета было установлено, что это высокозапутанный вредоносный код.
После устранения недоразумения команда безопасности подтвердила, что это вредоносный пакет NPM. Он будет сканировать файлы на компьютере пользователя и, как только обнаружит содержимое, связанное с кошельком или Закрытым ключом, загрузит его на сервер, контролируемый злоумышленниками.
Исследование также показало, что злоумышленники могли контролировать несколько аккаунтов GitHub, чтобы Fork'ить вредоносные проекты и распространять вредоносные программы, одновременно увеличивая количество Fork'ов и Star'ов проекта, привлекая больше пользователей.
Некоторые проекты Fork также использовали другой вредоносный пакет bs58-encrypt-utils-1.0.3. Этот вредоносный пакет был создан 12 июня 2025 года, и предполагается, что злоумышленник начал распространять вредоносные пакеты NPM и проекты Node.js с тех пор.
С помощью инструментов анализа на блокчейне команда отследила адрес злоумышленника, на который были переведены украденные средства, на одну из торговых платформ.
В этой атаке злоумышленники маскировали вредоносный код под легитимный открытый проект, подталкивая пользователей к его загрузке и запуску. Злоумышленники также искусственно завышали популярность проекта, увеличивая его доверие. Эта атака сочетает в себе социальную инженерию и технические методы, что делает ее трудной для полной защиты.
Рекомендуется разработчикам и пользователям проявлять повышенную осторожность к незнакомым проектам на GitHub, особенно когда речь идет о работе с кошельками или Закрытым ключом. Если необходимо отладить, лучше делать это в отдельной среде без чувствительных данных.