Xông vào trận: Phá vỡ hàng rào Firewall

Loạt phim tài liệu mới “
” Do Kari Byron dẫn chương trình

Một loạt phim tài liệu mới do Kari Byron dẫn chương trình
Sẽ ra mắt vào ngày 8 tháng 8

Phát sóng lần đầu vào ngày 8 tháng 8

00NGÀY
21GIỜ
38PHÚT
12giây
Tìm hiểu thêm

Shai-Hulud tái xuất: Mã độc ChainDrop tấn công npm, lây nhiễm hàng trăm gói phần mềm

Con sâu tự lây lan đã quay trở lại. Lần này, nó đã tấn công keyv — một thư viện lưu trữ tạm thời của npm được tích hợp trong hàng triệu bản dựng — và cài đặt một cơ chế kích hoạt thứ hai, sẽ được kích hoạt ngay khi nhà phát triển mở dự án lần tiếp theo.
Qua Vinh Lam, Trưởng phòng Chương trình Kỹ thuật Cao cấp
Chia sẻ bài viết này

Vào ngày 4 tháng 8 năm 2026, một kẻ tấn công đã chiếm quyền kiểm soát tài khoản GitHub của người quản trị dự án keyv — một thư viện lưu trữ bộ nhớ đệm kiểu khóa-giá trị có khoảng hàng trăm triệu lượt tải xuống npm mỗi tuần — và cấy một loại sâu máy tính đánh cắp thông tin đăng nhập vào toàn bộ hệ thống gói phần mềm của người quản trị này, bao gồm cacheable, flat-cache, file-entry-cache và cache-manager. Được theo dõi với tên gọi ChainDrop, loại sâu này đã lây lan sang hàng trăm gói phần mềm khác với tổng số lượt cài đặt hàng tháng vượt quá hai tỷ.

Điều khiến vấn đề trở nên nguy hiểm không phải là số lượt tải xuống, mà là cách mã độc đã được tin cậy. Kẻ tấn công đã phát hành thông qua chính quy trình phát hành tự động của dự án, do đó các phiên bản bị nhiễm độc mang nguồn gốc hợp lệ: bằng chứng đã được ký xác nhận rằng gói phần mềm được xây dựng bởi quy trình chính thức từ nguồn thực. Bằng chứng đó vốn được thiết kế để là một tín hiệu an toàn. Trong trường hợp này, nó là thật, bởi chính quy trình đó đã bị xâm nhập. Đối với một nhà phát triển, hoặc với công cụ bảo mật kiểm tra chữ ký, phiên bản độc hại trông hoàn toàn chính thống.

ChainDrop là đợt tấn công mới nhất trong chiến dịch mà các nhà nghiên cứu đã theo dõi kể từ tháng 9 năm 2025: Shai-Hulud 1.0 (tháng 9 năm 2025), 2.0 (tháng 11 năm 2025) và Mini Shai-Hulud, Đợt 4 (tháng 5 năm 2026). Mỗi đợt đều có mức độ nghiêm trọng gia tăng, với các biến thể sau này có khả năng lây lan mạnh mẽ hơn và khai thác các lỗ hổng trong chuỗi cung ứng trên phạm vi rộng hơn.

Những gì chúng ta biết cho đến nay (ngày 6 tháng 8 năm 2026)

  • Ngày: keyv@6.0.0 là ngày khởi đầu đã được xác nhận, được công bố vào ngày 4 tháng 8 năm 2026.
  • Điểm xâm nhập: Vụ tấn công bắt đầu từ việc tài khoản GitHub của người quản trị dự án bị xâm nhập, và bản phát hành độc hại đã đi qua quy trình phát hành chính thức của dự án.
  • Tải trọng: Có một đường dẫn cài đặt sẵn sử dụng tệp setup.mjs, tệp này sẽ tải xuống Bun và khởi chạy một tải trọng lớn đã được mã hóa nhằm đánh cắp thông tin đăng nhập.
  • Nguồn: Các nhà nghiên cứu xếp nó vào họ phần mềm độc hại Shai-Hulud.

Một hệ thống đáng tin cậy bị lợi dụng để chống lại chính nó

Điều khiến ChainDrop trở nên đặc biệt đáng lo ngại là nó không dựa vào một lỗ hổng bảo mật gây chú ý hay một trang web tải xuống giả mạo. Thay vào đó, nó đã lợi dụng chuỗi cung ứng phần mềm thông thường — chính quy trình xuất bản và cài đặt gói phần mềm mà hàng triệu nhà phát triển đang sử dụng.

Trên thực tế, điều này có nghĩa là một gói phần mềm có thể trông có vẻ hợp pháp nhưng lại âm thầm chứa mã độc sẽ được kích hoạt trong quá trình cài đặt. Các nhóm bảo mật cho biết phần mềm độc hại này được thiết kế để đánh cắp thông tin bí mật từ các máy tính của nhà phát triển và các hệ thống CI/CD, bao gồm mã thông báo GitHub, thông tin đăng nhập npm, khóa AWS, thông tin bí mật Kubernetes và các dữ liệu truy cập khác.

Rủi ro trên phạm vi rộng hơn không chỉ giới hạn ở các nhà phát triển. Bất kỳ tổ chức nào sử dụng các gói phần mềm bị ảnh hưởng đều có thể bị xâm phạm gián tiếp thông qua các hệ thống xây dựng, các phụ thuộc và các quy trình phát hành tự động.

ChainDrop là lời nhắc nhở rằng các phụ thuộc mã nguồn mở là một rủi ro kinh doanh, chứ không chỉ là mối quan tâm của các nhà phát triển.

Một rủi ro kinh doanh, không chỉ là rủi ro của nhà phát triển

Đối với bất kỳ tổ chức nào phụ thuộc vào phần mềm JavaScript và Node.js, ChainDrop là lời nhắc nhở rằng các phụ thuộc mã nguồn mở là một rủi ro kinh doanh, chứ không chỉ là vấn đề của các nhà phát triển.

Một gói phần mềm bị xâm phạm có thể được kế thừa gián tiếp thông qua các phụ thuộc và hệ thống xây dựng, và điều này có thể dẫn đến việc thông tin đăng nhập bị đánh cắp, truy cập trái phép vào cơ sở hạ tầng đám mây, cũng như việc luân chuyển thông tin bí mật và ứng phó sự cố trên quy mô lớn. Khi tính toàn vẹn phần mềm, kiểm soát truy cập và rủi ro từ bên thứ ba nằm trong phạm vi môi trường kiểm soát của quý vị — như quy định trong các tiêu chuẩn PCI DSS, DORA, NIS2 và CMMC — thì rủi ro này cũng trực tiếp tác động đến các khía cạnh tuân thủ và quản trị.

Xác định mức độ tiếp xúc của bạn thông qua SBOM

Vấn đề khó khăn nằm ở khả năng phát hiện: các phiên bản bị cài cắm mã độc nằm sâu trong cây phụ thuộc và trông có vẻ chính thống. Khi chúng tôi quét các gói phần mềm bị ảnh hưởng bằng SBOM trên MetaDefender ™ Software Supply Chain, các phiên bản bị xâm nhập đã bị đánh dấu cảnh báo thay vì được tin cậy dựa trên nguồn gốc của chúng.

MetaDefender Software Supply Chain™ đã đánh dấu phiên bản keyv@6.0.0 là “Critical” (GHSA-3p9h-f68w-m6fx). Phiên bản an toàn gần nhất là 5.6.0.
Khả năng theo dõi chuỗi cung ứng: Chỉ cần một lần quét trên dòng sản phẩm keyv đã phát hiện 21 lỗ hổng nghiêm trọng trong 23 gói phần mềm, trong đó 10 gói được đánh dấu là có rủi ro.
OPSWAT SBOM trong MetaDefender Core đã chặn tệp package.json sử dụng các gói phần mềm bị xâm phạm.

Bài học rút ra là biện pháp phòng thủ bền vững trước loại tấn công này là kiểm tra nội dung của thành phần đó, thay vì chỉ tin tưởng vào nguồn gốc của nó.

Những điểm chính

  • Nguồn gốc chỉ chứng minh xuất xứ, chứ không phải tính toàn vẹn. Một chữ ký hợp lệ trên một đường ống bị xâm phạm vẫn tạo ra một gói phần mềm độc hại đã được ký. Hãy xác minh nội dung, chứ không chỉ các chứng nhận.
  • Việc cài đặt không còn là yếu tố kích hoạt duy nhất nữa. Các hook của IDE và agent ở cấp độ kho lưu trữ có thể được thực thi khi mở ứng dụng. Hãy mở rộng phạm vi kiểm tra của bạn ra ngoài quá trình `npm install`.
  • Chiến dịch này vẫn đang diễn ra. ChainDrop là làn sóng mới nhất trong chuỗi sự cố đã ngày càng leo thang kể từ tháng 9 năm 2025. Việc coi bất kỳ sự cố đơn lẻ nào là đã được giải quyết, mà không khắc phục các lỗ hổng trong quy trình xử lý và quản lý thông tin xác thực, sẽ tạo điều kiện cho sự cố tiếp theo xảy ra.

Bảo vệ chuỗi cung ứng của bạn bằng cách MetaDefender Software Supply Chain

Luôn cập nhật với OPSWAT!

Đăng ký ngay hôm nay để nhận thông tin cập nhật mới nhất về doanh nghiệp, câu chuyện, thông tin sự kiện và nhiều thông tin khác.