В экосистеме Solana снова появились злонамеренные боты: файл конфигурации скрывает ловушку для кражи Закрытого ключа
В начале июля 2025 года пользователь обратился за помощью к команде безопасности Slow Mist с просьбой проанализировать причины кражи его криптоактивов. В ходе расследования было установлено, что инцидент произошел из-за использования пользователем открытого проекта zldp2002/solana-pumpfun-bot, размещенного на GitHub, что вызвало скрытое поведение по краже активов.
Недавно еще один пользователь стал жертвой кражи криптоактивов из-за использования аналогичного открытого проекта audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot и обратился в команду безопасности SlowMist. В связи с этим команда провела глубокий анализ.
Процесс анализа
Статический анализ
С помощью статического анализа было обнаружено подозрительное код, расположенное в файле конфигурации /src/common/config.rs, в основном сосредоточенное в методе create_coingecko_proxy(). Этот метод сначала вызывает import_wallet(), а затем вызывает import_env_var() для получения Закрытый ключ.
В методе import_env_var(), если переменная окружения существует, она возвращается напрямую; если нет, то переходит в ветвь Err(e) и выводит сообщение об ошибке. Поскольку существует цикл loop{} без условий выхода, это приведет к постоянному потреблению ресурсов.
Закрытый ключ и другая чувствительная информация хранятся в файле .env. Когда закрытый ключ получен, вредоносный код будет проверять длину закрытого ключа:
Если меньше 85, напечатать сообщение об ошибке и продолжать потреблять ресурсы;
Если больше 85, преобразуйте эту строку Base58 в объект Keypair, содержащий информацию о закрытом ключе.
Затем вредоносный код использует Arc для упаковки информации о Закрытом ключе, чтобы поддерживать многопоточную совместную работу.
Затем декодируйте вредоносный URL-адрес. Сначала получите закодированный адрес сервера злоумышленника HELIUS_PROXY(, этот жестко закодированный констант, используйте bs58 для декодирования, преобразуйте результат в массив байтов, затем в строку UTF-8.
Декодированный реальный адрес:
![Возрождение злонамеренных ботов в экосистеме Solana: профиль скрывает ловушку для утечки закрытого ключа])https://img-cdn.gateio.im/webp-social/moments-52dfae255e511bbb7a9813af7340c52e.webp(
Вредоносный код затем создает HTTP-клиент, преобразует информацию о закрытом ключе в строку Base58, формирует тело JSON-запроса и отправляет данные, такие как закрытый ключ, по этому URL через POST-запрос, игнорируя при этом результат ответа.
Вдобавок, метод create_coingecko_proxy)( также включает в себя получение цен и другие обычные функции, чтобы скрыть свои злонамеренные действия. Этот метод вызывается при запуске приложения, на этапе инициализации конфигурационного файла метода main)( в main.rs.
Согласно анализу, IP-адрес сервера злоумышленника находится в США.
Проект недавно )2025 года 17 июля ( был обновлен на GitHub, основные изменения сосредоточены в конфигурационном файле config.rs в каталоге src. Исходный адрес кодирования HELIUS_PROXY был заменен на новое кодирование.
![Solana экосистема снова сталкивается с вредоносными ботами: в конфигурационном файле скрыта ловушка для передачи закрытого ключа])https://img-cdn.gateio.im/webp-social/moments-453d878924f97e2f24033e4d40f0a24c.webp(
) Динамический анализ
Для наглядного наблюдения за процессом кражи вредоносного кода мы написали скрипт на Python для генерации тестовых пар открытых и закрытых ключей Solana и развернули HTTP-сервер, который может принимать POST-запросы на сервере.
Замените сгенерированный код тестового сервера на код адреса злонамеренного сервера, установленного изначально атакующим, и замените PRIVATE_KEY в файле .env на тестовый Закрытый ключ.
После запуска вредоносного кода можно увидеть, что тестовый сервер успешно получил JSON-данные, отправленные вредоносным проектом, которые содержат информацию о Закрытом ключе.
![Solana экосистема вновь сталкивается с вредоносными ботами: в конфигурационном файле скрыта ловушка для утечки закрытого ключа]###https://img-cdn.gateio.im/webp-social/moments-c092752ca8254c7c3dfa22bde91a954c.webp(
В этой атаке злоумышленник маскируется под законный проект с открытым исходным кодом, вводя пользователей в заблуждение, чтобы они скачали и выполнили вредоносный код. Этот проект будет считывать конфиденциальную информацию из файла .env на локальном компьютере и передавать украденный Закрытый ключ на сервер, контролируемый злоумышленником. Такие атаки обычно сочетаются с методами социальной инженерии, и пользователи могут легко стать жертвами.
Рекомендуется разработчикам и пользователям сохранять высокий уровень бдительности по отношению к неясным проектам на GitHub, особенно когда это касается операций с кошельками или Закрытым ключом. Если необходимо запускать или отлаживать, рекомендуется делать это в отдельной среде, не содержащей конфиденциальные данные, чтобы избежать выполнения злонамеренных программ и команд из непроверенных источников.
![Solana экосистема вновь сталкивается с вредоносными Ботами: конфигурационный файл скрывает ловушку для утечки Закрытый ключ])https://img-cdn.gateio.im/webp-social/moments-f0b9ae1a79eb6ac2579c9d5fb0f0fa78.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Новый тип вредоносных Ботов Solana: анализ кода кражи закрытого ключа и меры предосторожности
В экосистеме Solana снова появились злонамеренные боты: файл конфигурации скрывает ловушку для кражи Закрытого ключа
В начале июля 2025 года пользователь обратился за помощью к команде безопасности Slow Mist с просьбой проанализировать причины кражи его криптоактивов. В ходе расследования было установлено, что инцидент произошел из-за использования пользователем открытого проекта zldp2002/solana-pumpfun-bot, размещенного на GitHub, что вызвало скрытое поведение по краже активов.
Недавно еще один пользователь стал жертвой кражи криптоактивов из-за использования аналогичного открытого проекта audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot и обратился в команду безопасности SlowMist. В связи с этим команда провела глубокий анализ.
Процесс анализа
Статический анализ
С помощью статического анализа было обнаружено подозрительное код, расположенное в файле конфигурации /src/common/config.rs, в основном сосредоточенное в методе create_coingecko_proxy(). Этот метод сначала вызывает import_wallet(), а затем вызывает import_env_var() для получения Закрытый ключ.
В методе import_env_var(), если переменная окружения существует, она возвращается напрямую; если нет, то переходит в ветвь Err(e) и выводит сообщение об ошибке. Поскольку существует цикл loop{} без условий выхода, это приведет к постоянному потреблению ресурсов.
Закрытый ключ и другая чувствительная информация хранятся в файле .env. Когда закрытый ключ получен, вредоносный код будет проверять длину закрытого ключа:
Затем вредоносный код использует Arc для упаковки информации о Закрытом ключе, чтобы поддерживать многопоточную совместную работу.
Затем декодируйте вредоносный URL-адрес. Сначала получите закодированный адрес сервера злоумышленника HELIUS_PROXY(, этот жестко закодированный констант, используйте bs58 для декодирования, преобразуйте результат в массив байтов, затем в строку UTF-8.
Декодированный реальный адрес:
![Возрождение злонамеренных ботов в экосистеме Solana: профиль скрывает ловушку для утечки закрытого ключа])https://img-cdn.gateio.im/webp-social/moments-52dfae255e511bbb7a9813af7340c52e.webp(
Вредоносный код затем создает HTTP-клиент, преобразует информацию о закрытом ключе в строку Base58, формирует тело JSON-запроса и отправляет данные, такие как закрытый ключ, по этому URL через POST-запрос, игнорируя при этом результат ответа.
Вдобавок, метод create_coingecko_proxy)( также включает в себя получение цен и другие обычные функции, чтобы скрыть свои злонамеренные действия. Этот метод вызывается при запуске приложения, на этапе инициализации конфигурационного файла метода main)( в main.rs.
Согласно анализу, IP-адрес сервера злоумышленника находится в США.
Проект недавно )2025 года 17 июля ( был обновлен на GitHub, основные изменения сосредоточены в конфигурационном файле config.rs в каталоге src. Исходный адрес кодирования HELIUS_PROXY был заменен на новое кодирование.
![Solana экосистема снова сталкивается с вредоносными ботами: в конфигурационном файле скрыта ловушка для передачи закрытого ключа])https://img-cdn.gateio.im/webp-social/moments-453d878924f97e2f24033e4d40f0a24c.webp(
) Динамический анализ
Для наглядного наблюдения за процессом кражи вредоносного кода мы написали скрипт на Python для генерации тестовых пар открытых и закрытых ключей Solana и развернули HTTP-сервер, который может принимать POST-запросы на сервере.
Замените сгенерированный код тестового сервера на код адреса злонамеренного сервера, установленного изначально атакующим, и замените PRIVATE_KEY в файле .env на тестовый Закрытый ключ.
После запуска вредоносного кода можно увидеть, что тестовый сервер успешно получил JSON-данные, отправленные вредоносным проектом, которые содержат информацию о Закрытом ключе.
![Solana экосистема вновь сталкивается с вредоносными ботами: в конфигурационном файле скрыта ловушка для утечки закрытого ключа]###https://img-cdn.gateio.im/webp-social/moments-c092752ca8254c7c3dfa22bde91a954c.webp(
Показатели вторжения ) IoCs (
ИП: 103.35.189.28
Доменные имена: storebackend-qpq3.onrender.com
SHA256:
Злонамеренные хранилища:
Похожие методы реализации:
Итоги
В этой атаке злоумышленник маскируется под законный проект с открытым исходным кодом, вводя пользователей в заблуждение, чтобы они скачали и выполнили вредоносный код. Этот проект будет считывать конфиденциальную информацию из файла .env на локальном компьютере и передавать украденный Закрытый ключ на сервер, контролируемый злоумышленником. Такие атаки обычно сочетаются с методами социальной инженерии, и пользователи могут легко стать жертвами.
Рекомендуется разработчикам и пользователям сохранять высокий уровень бдительности по отношению к неясным проектам на GitHub, особенно когда это касается операций с кошельками или Закрытым ключом. Если необходимо запускать или отлаживать, рекомендуется делать это в отдельной среде, не содержащей конфиденциальные данные, чтобы избежать выполнения злонамеренных программ и команд из непроверенных источников.
![Solana экосистема вновь сталкивается с вредоносными Ботами: конфигурационный файл скрывает ловушку для утечки Закрытый ключ])https://img-cdn.gateio.im/webp-social/moments-f0b9ae1a79eb6ac2579c9d5fb0f0fa78.webp(