Bảo mật & quyền riêng tư

Cuộc tấn công chuỗi cung ứng Ethersphere đánh cắp khóa ví Swarm qua lỗ hổng CI

Tin tặc đã sử dụng thông tin đăng nhập CI bị đánh cắp để phát hành các phiên bản độc hại của bee-js và Swarm Desktop, cài đặt cửa hậu (backdoor) và đánh cắp khóa ví nút.

Hình minh họa một chuỗi kỹ thuật số bị đứt gãy đại diện cho cuộc tấn công chuỗi cung ứng
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Vào ngày 9 tháng 11 năm 2026, tin tặc đã xâm phạm quy trình tự động hóa phát hành của dự án Ethersphere để phân phối phần mềm độc hại thông qua hai công cụ cốt lõi của nó. Sự cố này nhắm mục tiêu vào mạng lưu trữ phi tập trung Swarm bằng cách chèn mã độc vào phiên bản bee-js 13.3.0 và Swarm Desktop 0.56.2. Các phiên bản bị xâm phạm này được thiết kế để đánh cắp khóa riêng tư của ví và cài đặt các cửa hậu (backdoor) tồn tại lâu dài trên hệ thống Windows, macOS và Linux trước khi bị rút lại chỉ vài giờ sau đó.

Chuyện gì đã xảy ra

Cuộc tấn công khai thác cơ sở hạ tầng tích hợp liên tục (CI) của chính dự án, cụ thể là một tài khoản có tên bee-worker được dùng cho việc phát hành tự động. Tin tặc đã công bố một bản phát hành GitHub cho bee-js 13.3.0, kích hoạt quy trình xuất bản npm của dự án mà không cần phê duyệt thủ công. Quy trình này tạo ra các hồ sơ nguồn gốc hợp lệ, khiến gói phần mềm trông giống như hợp pháp mặc dù chứa mã độc. Gói này vẫn khả dụng trên npm trong khoảng 75 phút, từ 00:09 đến 01:25 UTC, trong thời gian đó nó được tải xuống khoảng 10 lần, chủ yếu bởi các trình quét bảo mật và máy chủ phản chiếu (mirror).

Đồng thời, tin tặc đã khởi chạy thủ công một quy trình xây dựng cho Swarm Desktop 0.56.2, quy trình này có quyền truy cập vào chứng chỉ ký của Apple và Windows. Điều này cho phép họ tạo ra một ứng dụng macOS đã được notarized (xác minh) và một trình cài đặt Windows đã được ký số, giúp vượt qua các cảnh báo bảo mật tiêu chuẩn. Ứng dụng desktop độc hại được phân phối thông qua trình cập nhật tích hợp sẵn tới người dùng Windows x64 và Mac Apple Silicon trong vòng mười phút kể từ khi công bố. Tính đến 08:27 UTC, phiên bản bị xâm phạm đã được tải xuống 65 lần. Những người bảo trì đã rút lại bản phát hành sau khoảng 8,5 giờ và phát hành một phiên bản sạch, 0.56.3, phiên bản này giống hệt với phiên bản an toàn trước đó là 0.56.1 nhưng được ký bằng chứng chỉ mới.

Cách thức hoạt động

Cả hai bản phát hành độc hại đều chứa một trình nạp (loader) nhẹ, tải xuống và thực thi các payload bổ sung từ máy chủ từ xa tại api.frameworkmetrics[.]xyz. Trong bee-js, trình nạp này chạy dưới dạng script postinstall, tự động thực thi trong quá trình cài đặt ngay cả khi người dùng không import thư viện. Trong Swarm Desktop, trình nạp được thực thi mỗi lần ứng dụng khởi động. Mã được tải xuống tìm kiếm các tệp cụ thể trong thư mục dữ liệu của Swarm Desktop: config.yaml và data-dir/keys/swarm.key. Mặc dù tệp key là một keystore Ethereum được mã hóa, ứng dụng lại lưu trữ mật khẩu giải mã ở dạng văn bản thuần túy trong config.yaml, cho phép tin tặc truy cập đầy đủ vào ví của nút.

Ngoài việc đánh cắp thông tin xác thực, payload còn cài đặt các cửa hậu tồn tại lâu dài tùy chỉnh cho từng hệ điều hành. Trên Linux và macOS, nó triển khai một shell từ xa dựa trên Go có tên evjawbreaker, được ẩn trong thư mục ~/.solidity và cấu hình để chạy như một dịch vụ nền hoặc LaunchAgent. Trên Windows, nó cài đặt một client truy cập từ xa ScreenConnect hợp pháp, sử dụng một kỹ thuật bỏ qua User Account Control (UAC) đã biết để giành đặc quyền quản trị nếu có thể. Tin tặc kiểm soát các cửa hậu này thông qua các địa chỉ được lưu trữ trong một hợp đồng thông minh Ethereum, cho phép chúng cập nhật động các máy chủ điều khiển và chỉ huy (command-and-control).

Chi tiết quan trọng

  • Các phiên bản bị xâm phạm: bee-js 13.3.0 và Swarm Desktop 0.56.2 là những bản phát hành duy nhất bị ảnh hưởng.
  • Phương thức tấn công: Thông tin đăng nhập CI bị đánh cắp của tài khoản bee-worker cho phép việc xuất bản và ký số trái phép.
  • Đánh cắp dữ liệu: Phần mềm độc hại đã đánh cắp swarm.key và mật khẩu dạng văn bản thuần túy từ config.yaml, làm lộ tài sản của nút.
  • Sự tồn tại của cửa hậu: Phần mềm độc hại đã cài đặt các dịch vụ như solidity-langsupport-runner.service trên Linux và ScreenConnect trên Windows.
  • Trạng thái khắc phục: Phiên bản 0.56.3 thay thế ứng dụng desktop độc hại, nhưng người dùng Linux phải thay thế các gói thủ công.
  • Giả định về sự xâm phạm: Bất kỳ máy nào đã chạy bee-js 13.3.0 hoặc Swarm Desktop 0.56.2 đều được coi là bị xâm phạm hoàn toàn.

Tại sao vấn đề này nghiêm trọng

Sự cố này làm nổi bật rủi ro nghiêm trọng posed bởi các pipeline CI/CD bị xâm phạm trong các dự án mã nguồn mở. Vì tin tặc sử dụng các công cụ tự động hóa của chính dự án, các gói kết quả mang hồ sơ nguồn gốc và chữ ký số hợp lệ, hiệu quả vượt qua các cơ chế tin cậy mà các nhà phát triển phụ thuộc vào. Điều này chứng minh rằng bảo mật chuỗi cung ứng không chỉ là xác minh tính toàn vẹn của mã mà còn là bảo vệ cơ sở hạ tầng xây dựng và xuất bản mã đó. Đối với các nhóm sử dụng quy trình làm việc tự động, việc thiếu các bước phê duyệt bắt buộc bởi con người cho việc xuất bản có thể biến một vụ rò rỉ thông tin đăng nhập thành một cuộc tấn công chuỗi cung ứng quy mô lớn.

Đối với các nhà phát triển xây dựng trên Swarm hoặc sử dụng các công cụ lưu trữ phi tập trung tương tự, tác động vượt ra ngoài việc cập nhật phần mềm đơn giản. Việc đánh cắp khóa nút và mật khẩu có nghĩa là các tài sản tài chính được lưu trữ trong những ví này gặp rủi ro ngay lập tức. Hơn nữa, việc cài đặt các cửa hậu tồn tại lâu dài có nghĩa là chỉ cần cập nhật hoặc cài đặt lại phần mềm sẽ không loại bỏ được mối đe dọa. Các kỹ sư phải coi các máy bị ảnh hưởng là đã bị vi phạm, đòi hỏi phải xoay vòng toàn bộ các bí mật (secrets) và có thể phải xây dựng lại hệ thống từ các hình ảnh đáng tin cậy để đảm bảo khắc phục hoàn toàn.

Bạn có thể làm gì

  • Kiểm tra các tệp lockfile và nhật ký CI của bạn để tìm bất kỳ tham chiếu nào đến @ethersphere/bee-js@13.3.0 và ghim (pin) các phụ thuộc của bạn vào phiên bản 13.2.0.
  • Kiểm tra tệp bee-desktop.log để tìm dòng "Bee Desktop version: 0.56.2 (production)" nhằm xác định xem bạn có chạy ứng dụng độc hại hay không.
  • Nếu bạn đã chạy Swarm Desktop 0.56.2, hãy ngay lập tức chuyển tất cả tiền của nút, số dư chequebook và stake sang một khóa mới từ một thiết bị sạch.
  • Xóa các cửa hậu tồn tại lâu dài bằng cách xóa thư mục ~/.solidity trên Linux/macOS và dịch vụ ScreenConnect Client trên Windows.
  • Xoay vòng tất cả mật khẩu, token và API key mà bất kỳ người dùng hoặc job CI nào đã cài đặt gói bee-js bị xâm phạm có thể truy cập.
  • Xây dựng lại bất kỳ máy nào đã thực thi mã độc từ một hình ảnh cơ sở đáng tin cậy thay vì cố gắng làm sạch nó tại chỗ.
  • #supply chain security
  • #malware
  • #swarm network
  • #ci/cd security
  • #cryptocurrency

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Tất cả bài viết