Екосистема Solana знову з'явилася злочинними Ботами: конфігураційний файл приховує пастку для витоку Закритого ключа
На початку липня 2025 року один користувач звернувся до команди безпеки з проханням проаналізувати причини викрадення його криптоактивів. Під час розслідування було виявлено, що інцидент стався через використання користувачем відкритого проекту, розміщеного на GitHub, що спровокувало приховану крадіжку монет.
Нещодавно кілька користувачів стали жертвами крадіжки активів через використання подібних відкритих проектів і звернулися до команди безпеки. У зв'язку з цим команда провела подальший аналіз цієї методики атаки.
Процес аналізу
Статичний аналіз
За допомогою статичного аналізу виявлено підозрілий код у конфігураційному файлі /src/common/config.rs, який переважно зосереджений у методі create_coingecko_proxy(). Цей метод спочатку викликає import_wallet(), а потім викликає import_env_var() для отримання Закритий ключ.
import_env_var() метод використовується для отримання конфігураційної інформації про змінні середовища з файлу .env. Якщо змінна середовища не існує, буде виконано обробку помилок, і ресурс буде продовжувати витрачатися.
Закритий ключ та інша чутлива інформація зберігаються у файлі .env. Метод import_wallet() для отримання закритого ключа перевіряє його довжину:
Якщо менше 85, виведіть повідомлення про помилку та продовжуйте витрачати ресурси
Якщо більше 85, перетворіть рядок Base58 на об'єкт Keypair, що містить Закритий ключ.
Потім шкідливий код упаковує інформацію про закритий ключ для підтримки багатопотокового обміну.
метод create_coingecko_proxy() після отримання Закритий ключ, декодує шкідливі URL-адреси. Декодована справжня адреса:
Зловмисний код перетворює Закритий ключ на рядок Base58, формує JSON тіло запиту, надсилає його за допомогою POST запиту на вказану URL-адресу, одночасно ігноруючи результати відповіді.
Крім того, цей метод також містить нормальні функції, такі як отримання ціни, щоб приховати зловмисні дії. Назва методу також була маскована, має оманливий характер.
метод create_coingecko_proxy() викликається при запуску додатку, знаходиться на етапі ініціалізації конфігураційного файлу методу main() у файлі main.rs.
Згідно з аналізом, IP-адреса цього сервера знаходиться в США.
Проект був оновлений на GitHub 17 липня 2025 року, основні зміни зосереджені в конфігураційному файлі config.rs у каталозі src. Кодування адреси сервера зловмисника було замінено на нове.
Динамічний аналіз
Для наочного спостереження за процесом крадіжки, напишіть Python скрипт для генерації тестових пар публічного та приватного ключів Solana, а також налаштуйте HTTP сервер на сервері для прийому POST запитів.
Замініть закодовану адресу тестового сервера на закодовану адресу шкідливого сервера, яку налаштував атакуючий, та замініть закритий ключ у файлі .env на тестовий закритий ключ.
Після запуску шкідливого коду тестовий сервер успішно отримав JSON-дані, надіслані шкідливим проєктом, які містять інформацію про Закритий ключ.
Вхідні показники(IoCs)
IP адреса:103.35.189.28
Доменне ім'я: storebackend-qpq3.onrender.com
Зловмисні сховища:
Схожі реалізації в інших репозиторіях:
Підсумок
У ході цієї атаки зловмисник, маскуючись під легітимний відкритий проект, спокушає користувачів завантажити та виконати шкідливий код. Цей проект зчитує чутливу інформацію з локального файлу .env і передає викрадені Закритий ключ на сервер, контрольований зловмисником. Такі атаки зазвичай поєднуються з техніками соціальної інженерії, і користувач, лише трохи неуважний, може потрапити в пастку.
Рекомендується розробникам і користувачам бути дуже обережними з невідомими проектами на GitHub, особливо коли йдеться про операції з гаманцями або Закритими ключами. Якщо потрібно виконати або налагодити, рекомендується робити це в ізольованому середовищі без чутливих даних, щоб уникнути виконання шкідливих програм і команд з невідомих джерел.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
14 лайків
Нагородити
14
7
Поділіться
Прокоментувати
0/400
BlockchainBouncer
· 6год тому
Знову класична пастка?
Переглянути оригіналвідповісти на0
MeltdownSurvivalist
· 07-26 12:51
Знову мем-токени пастка хе-хе
Переглянути оригіналвідповісти на0
HallucinationGrower
· 07-25 04:45
Знову проблеми, тому я ніколи не використовую sol.
Переглянути оригіналвідповісти на0
GasWaster
· 07-25 04:37
Знову чорний мій великий sol?
Переглянути оригіналвідповісти на0
GasFeeNightmare
· 07-25 04:33
Ще хочете обдурювати людей, як лохів, всі вже були обдурені вами.
Екосистема Solana знову виявила шкідливий код: проект на GitHub приховує пастку для крадіжки Закритий ключ.
Екосистема Solana знову з'явилася злочинними Ботами: конфігураційний файл приховує пастку для витоку Закритого ключа
На початку липня 2025 року один користувач звернувся до команди безпеки з проханням проаналізувати причини викрадення його криптоактивів. Під час розслідування було виявлено, що інцидент стався через використання користувачем відкритого проекту, розміщеного на GitHub, що спровокувало приховану крадіжку монет.
Нещодавно кілька користувачів стали жертвами крадіжки активів через використання подібних відкритих проектів і звернулися до команди безпеки. У зв'язку з цим команда провела подальший аналіз цієї методики атаки.
Процес аналізу
Статичний аналіз
За допомогою статичного аналізу виявлено підозрілий код у конфігураційному файлі /src/common/config.rs, який переважно зосереджений у методі create_coingecko_proxy(). Цей метод спочатку викликає import_wallet(), а потім викликає import_env_var() для отримання Закритий ключ.
import_env_var() метод використовується для отримання конфігураційної інформації про змінні середовища з файлу .env. Якщо змінна середовища не існує, буде виконано обробку помилок, і ресурс буде продовжувати витрачатися.
Закритий ключ та інша чутлива інформація зберігаються у файлі .env. Метод import_wallet() для отримання закритого ключа перевіряє його довжину:
Потім шкідливий код упаковує інформацію про закритий ключ для підтримки багатопотокового обміну.
метод create_coingecko_proxy() після отримання Закритий ключ, декодує шкідливі URL-адреси. Декодована справжня адреса:
Зловмисний код перетворює Закритий ключ на рядок Base58, формує JSON тіло запиту, надсилає його за допомогою POST запиту на вказану URL-адресу, одночасно ігноруючи результати відповіді.
Крім того, цей метод також містить нормальні функції, такі як отримання ціни, щоб приховати зловмисні дії. Назва методу також була маскована, має оманливий характер.
метод create_coingecko_proxy() викликається при запуску додатку, знаходиться на етапі ініціалізації конфігураційного файлу методу main() у файлі main.rs.
Згідно з аналізом, IP-адреса цього сервера знаходиться в США.
Проект був оновлений на GitHub 17 липня 2025 року, основні зміни зосереджені в конфігураційному файлі config.rs у каталозі src. Кодування адреси сервера зловмисника було замінено на нове.
Динамічний аналіз
Для наочного спостереження за процесом крадіжки, напишіть Python скрипт для генерації тестових пар публічного та приватного ключів Solana, а також налаштуйте HTTP сервер на сервері для прийому POST запитів.
Замініть закодовану адресу тестового сервера на закодовану адресу шкідливого сервера, яку налаштував атакуючий, та замініть закритий ключ у файлі .env на тестовий закритий ключ.
Після запуску шкідливого коду тестовий сервер успішно отримав JSON-дані, надіслані шкідливим проєктом, які містять інформацію про Закритий ключ.
Вхідні показники(IoCs)
IP адреса:103.35.189.28
Доменне ім'я: storebackend-qpq3.onrender.com
Зловмисні сховища:
Схожі реалізації в інших репозиторіях:
Підсумок
У ході цієї атаки зловмисник, маскуючись під легітимний відкритий проект, спокушає користувачів завантажити та виконати шкідливий код. Цей проект зчитує чутливу інформацію з локального файлу .env і передає викрадені Закритий ключ на сервер, контрольований зловмисником. Такі атаки зазвичай поєднуються з техніками соціальної інженерії, і користувач, лише трохи неуважний, може потрапити в пастку.
Рекомендується розробникам і користувачам бути дуже обережними з невідомими проектами на GitHub, особливо коли йдеться про операції з гаманцями або Закритими ключами. Якщо потрібно виконати або налагодити, рекомендується робити це в ізольованому середовищі без чутливих даних, щоб уникнути виконання шкідливих програм і команд з невідомих джерел.