Hệ sinh thái Solana lại xuất hiện Bots độc hại: Tập tin cấu hình ẩn chứa bẫy đánh cắp Khóa riêng
Vào đầu tháng 7 năm 2025, một người dùng đã yêu cầu sự giúp đỡ từ đội ngũ bảo mật Slow Mist, yêu cầu phân tích nguyên nhân tài sản tiền điện tử của mình bị đánh cắp. Cuộc điều tra phát hiện rằng sự kiện bắt nguồn từ việc người dùng này đã sử dụng dự án mã nguồn mở zldp2002/solana-pumpfun-bot được lưu trữ trên GitHub, kích hoạt hành vi đánh cắp tài sản ẩn giấu.
Gần đây, lại có người dùng bị đánh cắp tài sản tiền điện tử vì sử dụng các dự án mã nguồn mở tương tự như audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot và đã liên hệ với đội ngũ an ninh SlowMist. Đối với điều này, đội ngũ đã tiến hành phân tích sâu.
Phân tích quá trình
Phân tích tĩnh
Thông qua phân tích tĩnh, phát hiện mã nghi vấn nằm trong tệp cấu hình /src/common/config.rs, chủ yếu tập trung vào phương thức create_coingecko_proxy(). Phương thức này trước tiên gọi import_wallet(), sau đó gọi import_env_var() để lấy Khóa riêng.
Trong phương pháp import_env_var(), nếu biến môi trường tồn tại thì trả về ngay; nếu không tồn tại, thì vào nhánh Err(e), in thông tin lỗi. Do có vòng lặp loop{} không có điều kiện thoát, sẽ dẫn đến việc tiêu tốn tài nguyên liên tục.
Nếu nhỏ hơn 85, in thông tin lỗi và tiếp tục tiêu hao tài nguyên;
Nếu lớn hơn 85, chuyển đổi chuỗi Base58 đó thành đối tượng Keypair, bao gồm thông tin khóa riêng.
Sau đó, mã độc sử dụng Arc để đóng gói thông tin khóa riêng, nhằm hỗ trợ chia sẻ đa luồng.
Tiếp theo, giải mã địa chỉ URL độc hại. Đầu tiên, lấy địa chỉ máy chủ tấn công HELIUS_PROXY( được mã hóa cứng ), sử dụng bs58 để giải mã, chuyển kết quả thành mảng byte, rồi chuyển đổi thành chuỗi UTF-8.
Địa chỉ thực sau khi giải mã là:
Mã độc sau đó tạo HTTP client, chuyển đổi thông tin khóa riêng thành chuỗi Base58, xây dựng thân yêu cầu JSON, thông qua yêu cầu POST gửi khóa riêng và các dữ liệu khác đến URL đó, đồng thời bỏ qua kết quả phản hồi.
Ngoài ra, phương pháp create_coingecko_proxy() cũng bao gồm các chức năng bình thường như lấy giá, nhằm che giấu hành vi độc hại của nó. Phương pháp này được gọi khi ứng dụng khởi động, nằm trong giai đoạn khởi tạo tệp cấu hình của phương pháp main() trong main.rs.
Theo phân tích, địa chỉ IP của máy chủ tấn công nằm ở Mỹ.
Dự án này đã được cập nhật gần đây vào ngày 17 tháng 7 năm 2025 trên GitHub, các thay đổi chính tập trung vào tệp cấu hình config.rs trong thư mục src. Mã hóa địa chỉ gốc của HELIUS_PROXY đã được thay thế bằng mã hóa mới.
( Phân tích động
Để quan sát trực quan quá trình trộm cắp mã độc, chúng tôi đã viết một kịch bản Python để tạo ra cặp khóa công khai và riêng tư Solana dùng thử, và thiết lập một máy chủ HTTP trên máy chủ có thể nhận yêu cầu POST.
Thay thế mã máy chủ thử nghiệm đã tạo bằng mã địa chỉ máy chủ độc hại mà kẻ tấn công đã thiết lập, và thay thế PRIVATE_KEY trong tệp .env bằng khóa riêng thử nghiệm.
Sau khi khởi động mã độc, có thể thấy máy chủ thử nghiệm đã nhận thành công dữ liệu JSON được gửi từ dự án độc hại, trong đó chứa thông tin PRIVATE_KEY.
![Hệ sinh thái Solana tái hiện robot độc hại: Hồ sơ cấu hình ẩn chứa bẫy lộ khóa riêng])https://img-cdn.gateio.im/webp-social/moments-c092752ca8254c7c3dfa22bde91a954c.webp###
Trong phương pháp tấn công lần này, kẻ tấn công đã ngụy trang thành một dự án mã nguồn mở hợp pháp, lừa người dùng tải xuống và thực thi mã độc. Dự án này sẽ đọc thông tin nhạy cảm từ tệp .env trên máy tính cục bộ và truyền khóa riêng bị đánh cắp đến máy chủ do kẻ tấn công kiểm soát. Loại tấn công này thường kết hợp với các kỹ thuật kỹ thuật xã hội, người dùng chỉ cần một chút sơ suất là có thể bị dính bẫy.
Đề nghị các nhà phát triển và người dùng duy trì sự cảnh giác cao độ đối với các dự án GitHub không rõ nguồn gốc, đặc biệt là khi liên quan đến ví hoặc khóa riêng. Nếu cần phải chạy hoặc gỡ lỗi, nên thực hiện trong một môi trường độc lập và không có dữ liệu nhạy cảm, tránh thực thi các chương trình và lệnh độc hại từ nguồn không rõ.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Phân tích mã trộm khóa riêng ẩn giấu và biện pháp phòng ngừa cho Bots độc hại mới trên Solana
Hệ sinh thái Solana lại xuất hiện Bots độc hại: Tập tin cấu hình ẩn chứa bẫy đánh cắp Khóa riêng
Vào đầu tháng 7 năm 2025, một người dùng đã yêu cầu sự giúp đỡ từ đội ngũ bảo mật Slow Mist, yêu cầu phân tích nguyên nhân tài sản tiền điện tử của mình bị đánh cắp. Cuộc điều tra phát hiện rằng sự kiện bắt nguồn từ việc người dùng này đã sử dụng dự án mã nguồn mở zldp2002/solana-pumpfun-bot được lưu trữ trên GitHub, kích hoạt hành vi đánh cắp tài sản ẩn giấu.
Gần đây, lại có người dùng bị đánh cắp tài sản tiền điện tử vì sử dụng các dự án mã nguồn mở tương tự như audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot và đã liên hệ với đội ngũ an ninh SlowMist. Đối với điều này, đội ngũ đã tiến hành phân tích sâu.
Phân tích quá trình
Phân tích tĩnh
Thông qua phân tích tĩnh, phát hiện mã nghi vấn nằm trong tệp cấu hình /src/common/config.rs, chủ yếu tập trung vào phương thức create_coingecko_proxy(). Phương thức này trước tiên gọi import_wallet(), sau đó gọi import_env_var() để lấy Khóa riêng.
Trong phương pháp import_env_var(), nếu biến môi trường tồn tại thì trả về ngay; nếu không tồn tại, thì vào nhánh Err(e), in thông tin lỗi. Do có vòng lặp loop{} không có điều kiện thoát, sẽ dẫn đến việc tiêu tốn tài nguyên liên tục.
Khóa riêng等敏感信息存储在.env文件中。当获取到Khóa riêng后,恶意代码会对Khóa riêng长度进行判断:
Sau đó, mã độc sử dụng Arc để đóng gói thông tin khóa riêng, nhằm hỗ trợ chia sẻ đa luồng.
Tiếp theo, giải mã địa chỉ URL độc hại. Đầu tiên, lấy địa chỉ máy chủ tấn công HELIUS_PROXY( được mã hóa cứng ), sử dụng bs58 để giải mã, chuyển kết quả thành mảng byte, rồi chuyển đổi thành chuỗi UTF-8.
Địa chỉ thực sau khi giải mã là:
Mã độc sau đó tạo HTTP client, chuyển đổi thông tin khóa riêng thành chuỗi Base58, xây dựng thân yêu cầu JSON, thông qua yêu cầu POST gửi khóa riêng và các dữ liệu khác đến URL đó, đồng thời bỏ qua kết quả phản hồi.
Ngoài ra, phương pháp create_coingecko_proxy() cũng bao gồm các chức năng bình thường như lấy giá, nhằm che giấu hành vi độc hại của nó. Phương pháp này được gọi khi ứng dụng khởi động, nằm trong giai đoạn khởi tạo tệp cấu hình của phương pháp main() trong main.rs.
Theo phân tích, địa chỉ IP của máy chủ tấn công nằm ở Mỹ.
Dự án này đã được cập nhật gần đây vào ngày 17 tháng 7 năm 2025 trên GitHub, các thay đổi chính tập trung vào tệp cấu hình config.rs trong thư mục src. Mã hóa địa chỉ gốc của HELIUS_PROXY đã được thay thế bằng mã hóa mới.
( Phân tích động
Để quan sát trực quan quá trình trộm cắp mã độc, chúng tôi đã viết một kịch bản Python để tạo ra cặp khóa công khai và riêng tư Solana dùng thử, và thiết lập một máy chủ HTTP trên máy chủ có thể nhận yêu cầu POST.
Thay thế mã máy chủ thử nghiệm đã tạo bằng mã địa chỉ máy chủ độc hại mà kẻ tấn công đã thiết lập, và thay thế PRIVATE_KEY trong tệp .env bằng khóa riêng thử nghiệm.
Sau khi khởi động mã độc, có thể thấy máy chủ thử nghiệm đã nhận thành công dữ liệu JSON được gửi từ dự án độc hại, trong đó chứa thông tin PRIVATE_KEY.
![Hệ sinh thái Solana tái hiện robot độc hại: Hồ sơ cấu hình ẩn chứa bẫy lộ khóa riêng])https://img-cdn.gateio.im/webp-social/moments-c092752ca8254c7c3dfa22bde91a954c.webp###
Chỉ số xâm nhập ( IoCs )
IPs: 103.35.189.28
Tên miền: storebackend-qpq3.onrender.com
SHA256:
Kho chứa độc hại:
Phương pháp thực hiện tương tự:
Tóm tắt
Trong phương pháp tấn công lần này, kẻ tấn công đã ngụy trang thành một dự án mã nguồn mở hợp pháp, lừa người dùng tải xuống và thực thi mã độc. Dự án này sẽ đọc thông tin nhạy cảm từ tệp .env trên máy tính cục bộ và truyền khóa riêng bị đánh cắp đến máy chủ do kẻ tấn công kiểm soát. Loại tấn công này thường kết hợp với các kỹ thuật kỹ thuật xã hội, người dùng chỉ cần một chút sơ suất là có thể bị dính bẫy.
Đề nghị các nhà phát triển và người dùng duy trì sự cảnh giác cao độ đối với các dự án GitHub không rõ nguồn gốc, đặc biệt là khi liên quan đến ví hoặc khóa riêng. Nếu cần phải chạy hoặc gỡ lỗi, nên thực hiện trong một môi trường độc lập và không có dữ liệu nhạy cảm, tránh thực thi các chương trình và lệnh độc hại từ nguồn không rõ.