Rủi ro bảo mật nghiêm trọng: Tấn công chuỗi cung ứng nhắm Solana

Rủi ro bảo mật nghiêm trọng: Tấn công chuỗi cung ứng nhắm Solana

Chiến dịch tấn công chuỗi cung ứng mới được phát hiện đang đặt các nhà phát triển Solana vào tình trạng rủi ro bảo mật nghiêm trọng. Kẻ tấn công đã ẩn mã độc bên trong các gói nhà phát triển giả mạo trên npm và PyPI.

Chiến dịch Solana FakeFix: Kỹ thuật và Mục tiêu

Hoạt động này, được theo dõi là “Solana FakeFix”, đã triển khai 25 gói độc hại. Các gói này được thiết kế để đánh cắp khóa ví, thông tin xác thực đám mây, khóa SSH và các bí mật của nhà phát triển ngay khi gói được cài đặt hoặc nhập.

Phương thức Lừa đảo Tinh vi

Điểm nổi bật của chiến dịch là các chiêu trò lừa đảo rất thuyết phục. Thay vì sử dụng tên gói ngẫu nhiên, kẻ tấn công đã tạo ra các tên gần giống với các công cụ Solana thực tế, ví dụ như solana-web3-stable, solana-rpc-client@solana-labs/web3.js.

Các nhà phát triển đang gặp vấn đề về build hoặc xung đột phụ thuộc trở thành mục tiêu chính, khiến cho cuộc tấn công có vẻ giống như một bản sửa lỗi hữu ích thay vì một mối đe dọa.

Cơ chế Hoạt động của Gói Độc hại

Các gói này sử dụng hai phương thức phân phối tùy thuộc vào nền tảng.

  • Trên npm: Một hook vòng đời postinstall sẽ kích hoạt payload JavaScript ngay khi nhà phát triển chạy lệnh cài đặt, không yêu cầu hành động nào thêm.
  • Trên PyPI: Mã độc được đặt bên trong tệp __init__.py và chạy ngay khi gói được nhập vào bất kỳ tập lệnh, notebook hoặc bài kiểm tra nào.

Khi được kích hoạt, payload sẽ tìm kiếm các tệp keypair Solana, khóa riêng tư SSH, tệp thông tin xác thực AWS, tệp .env và các biến môi trường có tên như KEY, SECRET, MNEMONIC hoặc PASSWORD. Tất cả dữ liệu bị đánh cắp được gửi đến một bot Telegram do kẻ tấn công kiểm soát theo thời gian thực.

Sự Tiến hóa của Kỹ thuật Tấn công

Chiến dịch cũng cho thấy sự tiến hóa rõ rệt trong kỹ thuật. Các phiên bản đầu sử dụng các tập lệnh đơn giản tại thời điểm cài đặt. Các phiên bản sau lại cung cấp các gói Solana hoạt động đầy đủ với mã đánh cắp được chèn vào sau các export hợp pháp, làm cho việc phát hiện trở nên khó khăn hơn nhiều.

Một số gói nâng cao hơn còn cài đặt các backdoor dai dẳng, liên tục kiểm tra Telegram để nhận lệnh từ xa. Kẻ tấn công có thể lấy cắp khóa SSH, thu thập các biến môi trường hoặc thực thi các lệnh shell tùy ý trên máy nạn nhân.

Một biến thể cố gắng làm cạn kiệt số dư Solana của nạn nhân và chuyển hướng cài đặt RPC cục bộ, biến một công cụ đánh cắp thông tin đơn thuần thành một mối đe dọa truy cập từ xa dai dẳng.

Chiêu trò Lừa đảo Qua Mạng xã hội

Kẻ tấn công đã quảng bá các gói thông qua việc spam các issue trên GitHub, mở chín issue trên các dự án khác nhau và đóng khung gói độc hại như một bản sửa lỗi cộng đồng cho SDK Solana thực tế.

Một gói bot MEV giả mạo có tên solana-mev-bot đã được sử dụng, tận dụng kỹ thuật social engineering để yêu cầu người dùng dán trực tiếp khóa riêng tư Solana của họ. Gói này tự giới thiệu là một công cụ tự động hóa lợi nhuận, nhằm lừa đảo lấy thông tin xác thực duy nhất cần thiết để làm trống hoàn toàn ví.

Cấu trúc của Chiến dịch Tấn công

Các phát hiện của JFrog đã chia hoạt động này thành hai cụm riêng biệt:

  • Cụm Solana FakeFix: Bao gồm 20 gói nhắm mục tiêu vào các nhà phát triển Solana.
  • Cụm CMS Loader: Gồm 5 gói liên quan đến CMS, tải các tệp thực thi Windows ẩn trên các máy bị xâm nhập.

Tổng phạm vi bao gồm 16 gói npm độc hại4 gói PyPI dưới tên FakeFix, cùng với 5 gói npm bổ sung trong nhóm CMS loader.

Cụm Tấn công Nhắm vào Windows

Cụm thứ hai nhắm mục tiêu vào các nhà phát triển Windows thông qua một họ payload hoàn toàn khác. Các gói như cms-storehub, cms-helpgitcms-github sử dụng các tập lệnh PowerShell tại thời điểm cài đặt npm để cài đặt runtime Deno và tải mã JavaScript từ xa từ một máy chủ do kẻ tấn công kiểm soát.

Trình tải (loader) này thiết lập sự tồn tại dai dẳng thông qua các khóa Registry Run của Windows và lấy payload giai đoạn hai động theo vòng lặp 30 giây.

Hai gói khác, to-cmsshopifyto-cms, hoạt động như những trình tải và thực thi (dropper). Chúng tải một tệp thực thi Windows, khởi chạy nó từ thư mục tạm và cố gắng xóa bằng chứng sau đó. Máy chủ của kẻ tấn công cũng nhận được dữ liệu telemetry đăng ký, cung cấp cho kẻ điều hành một bản ghi trực tiếp về các hệ thống bị xâm nhập.

Các Chỉ số Khai thác (Indicators of Compromise – IoCs)

Các IoCs được báo cáo bao gồm:

Gói Bị Ảnh hưởng

  • npm: solana-web3-stable, solana-rpc-client, @solana-labs/web3.js, solana-fakefix, solana-local-storage, solana-keychain, solana-storage-browser, solana-tools, solana-provider, @solana-suite/storage, @solana-suite/keychain, @solana-suite/provider, @solana-suite/tools, @solana-suite/web3, @solana-suite/rpc-client, @solana-suite/rpc-provider, cms-storehub, cms-helpgit, cms-github, to-cms, shopifyto-cms.
  • PyPI: solana-web3, solana-rpc, solana-sdk-python, solana-py-sdk.

IoCs C2 qua Telegram

  • Bot Token: [.]telegram[.]org

IoCs về Mạng và Ví

  • Domain cho JavaScript tải về: [.]storage-cache[.]com, [.]dynamic-dns-update[.]com, [.]duckdns[.]org
  • IP Servers C2: 104.248.233[.]165, 185.176.29[.]125, 194.163.40[.]121

Đường dẫn Mục tiêu và Chỉ số Tồn tại

  • %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
  • %PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
  • Windows Registry Run Keys: HKCU\Software\Microsoft\Windows\CurrentVersion\Run, HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • Đường dẫn tìm kiếm khóa: ~/.config/solana/id.json, ~/.ssh/id_rsa, ~/.aws/credentials, .env

Lưu ý: Địa chỉ IP và tên miền được làm mờ (ví dụ: [.]) để tránh phân giải hoặc liên kết ngoài ý muốn. Chỉ phục hồi định dạng gốc trong các nền tảng tình báo mối đe dọa được kiểm soát như MISP, VirusTotal hoặc SIEM của bạn.

Khuyến nghị Bảo mật

JFrog khuyến nghị các nhà phát triển thực hiện các hành động sau:

  • Gỡ bỏ ngay lập tức tất cả các gói bị ảnh hưởng.
  • Thu hồi và thay thế ví Solana cũng như bất kỳ bí mật nào có khả năng bị lộ.
  • Kiểm tra kỹ lưỡng các máy để tìm các dấu hiệu tồn tại dai dẳng, bao gồm các khóa Registry Run, tác vụ đã lên lịch và các mục crontab.

Việc xây dựng lại các CI runner từ các ảnh sạch được khuyến nghị mạnh mẽ hơn là chỉ dựa vào việc gỡ bỏ gói. Bất kỳ gói nào kích hoạt truy cập mạng khi cài đặt hoặc chạy các tập lệnh PowerShell ẩn cần được coi là một cờ đỏ nghiêm trọng.

Tham khảo báo cáo chi tiết từ JFrog Security Research: https://research.jfrog.com/post/solana-fakefix/