Gửi nhật ký, cảnh báo và dữ liệu đo lường qua bộ Data Diode

Tìm hiểu cách thức
Chúng tôi sử dụng trí tuệ nhân tạo để dịch trang web và mặc dù chúng tôi luôn cố gắng đảm bảo độ chính xác, nhưng đôi khi bản dịch có thể không đạt độ chính xác tuyệt đối. Mong quý vị thông cảm.

Mini Shai-Hulud: TanStack, OpenAI và “cái Supply Chain ” của npm

Con sâu máy tính tự lây lan một lần nữa đã xâm nhập qua các gói phần mềm và hệ thống ống dẫn đáng tin cậy.
Qua Lavinia Prejban, Chuyên gia tiếp thị sản phẩm
Chia sẻ bài viết này

Chiến dịch tấn công chuỗi cung ứng gần đây nhất không chỉ làm lộ thông tin từ các kho lưu trữ mã nguồn mở. Nó còn chiếm quyền kiểm soát quy trình phát hành phần mềm bên trong một trong những tổ chức chú trọng an ninh nhất thế giới, và điểm xâm nhập chính là một thao tác cài đặt phụ thuộc npm thông thường.

Vào ngày 11 tháng 5 năm 2026, nhóm tấn công TeamPCP đã triển khai đợt tấn công thứ tư trong chiến dịch sâu máy tính Shai-Hulud, hiện được theo dõi với tên gọi Mini Shai-Hulud. Cuộc tấn công đã xâm nhập 84 phiên bản gói phần mềm độc hại trên 42 gói TanStack trong kho lưu trữ npm trong vòng sáu phút, cuối cùng lan rộng ra hơn 170 gói trên các kho lưu trữ mã nguồn npm và PyPI (Python Package Index), bao gồm các không gian tên thuộc về Mistral AI, UiPath và OpenSearch. Ít nhất một gói bị ảnh hưởng, @tanstack/react-router, nhận được khoảng 12 triệu lượt tải xuống hàng tuần.

Đây là đợt tấn công thứ tư trong một chiến dịch ngày càng leo thang. Các đợt trước đó bao gồm vụ xâm nhập npm ban đầu (Shai-Hulud 1.0)đợt 2.0 nhắm vào thông tin đăng nhập GitHub.

OpenAI đã thông báo trong tuần này rằng hai thiết bị của nhân viên đã bị xâm nhập. Mặc dù không có dữ liệu người dùng, hệ thống sản xuất hay tài sản trí tuệ nào bị ảnh hưởng, nhưng việc kiểm soát sự cố đã yêu cầu cách ly các hệ thống, thay đổi thông tin đăng nhập, huy động chuyên gia pháp y bên ngoài, đồng thời thực hiện việc thay mới toàn bộ chứng chỉ ký mã trên các nền tảng macOS, Windows, iOS và Android – do một lần cài đặt phụ thuộc duy nhất gây ra.

Mini Shai-Hulud Đợt 4: Thông tin nhanh

  • Ngày xảy ra vụ tấn công: 11 tháng 5 năm 2026
  • Các gói phần mềm bị xâm nhập: 84 phiên bản độc hại trong 42 gói @tanstack/*; tổng cộng hơn 170 phiên bản trên các kho lưu trữ npm và PyPI
  • CVE: CVE-2026-45321, điểm CVSS 9,6 (Cấp độ Nghiêm trọng)
  • Nguồn: TeamPCP (còn được theo dõi với tên PCPcat, UNC6780)
  • Cơ chế: Ba lỗ hổng liên quan đến GitHub Actions - Pwn Request, tấn công độc hại bộ nhớ đệm (cache poisoning), và trích xuất mã thông báo OIDC (OpenID Connect) từ bộ nhớ của tiến trình runner
  • Nạn nhân đáng chú ý: OpenAI – hai thiết bị của nhân viên bị xâm nhập; các thông tin bí mật bị lộ, bao gồm các chứng chỉ ký mã cho macOS, iOS, Windows và Android, đã bị đánh cắp từ các kho mã nguồn nội bộ
  • Các đợt trước: Shai-Hulud 1.0 (tháng 9 năm 2025), 2.0 (tháng 11 năm 2025) và 3.0 (tháng 12 năm 2025)
  • Tác động: Môi trường phát triển và CI/CD bị xâm phạm , tài khoản người quản trị và các gói phần mềm bị chiếm quyền kiểm soát, đồng thời nguồn gốc SLSA và các bản dựng đã ký không còn “an toàn theo mặc định”
  • Các rủi ro chính: Các gói phần mềm độc hại vượt qua chứng nhận nguồn gốc cấp độ xây dựng 3 theo tiêu chuẩn SLSA (Các cấp độ chuỗi cung ứng cho Software )

Cách thức thực hiện cuộc tấn công

Chiến dịch Mini Shai-Hulud Wave Four là phiên bản tinh vi nhất về mặt kỹ thuật của chiến dịch này cho đến nay. Trong khi các đợt tấn công trước đây dựa vào các tài khoản quản trị viên bị xâm nhập để phát hành trực tiếp các gói phần mềm độc hại, thì Wave Four đã kết hợp ba lỗ hổng bảo mật trong GitHub Actions để chiếm quyền kiểm soát chính quy trình phát hành hợp pháp.

Quy trình tấn công:

  1. Tạo nhánh và ngụy trang: Kẻ tấn công đã tạo nhánh từ kho lưu trữ TanStack/router, đổi tên thành zblgg/configuration để nó không xuất hiện như một nhánh rõ ràng trong danh sách các nhánh trên GitHub.
  2. Kích hoạt quy trình làm việc: Một yêu cầu kéo (pull request) đã được tạo, từ đó kích hoạt quy trình làm việc pull_request_target – mẫu "Pwn Request" cho phép quy trình làm việc truy cập vào mã nguồn đã được phân nhánh
  3. Làm ô nhiễm bộ nhớ đệm: Mã nhánh của kẻ tấn công đã ghi một mục pnpm-store bị làm ô nhiễm có dung lượng 1,1 GB vào bộ nhớ đệm của GitHub Actions, được gắn khóa sao cho quy trình phát hành sau này sẽ khôi phục lại nó
  4. Xóa dấu vết: Yêu cầu kéo độc hại sau đó đã bị đẩy ép sang trạng thái không hoạt động và bị đóng lại nhằm che giấu bằng chứng về vụ xâm nhập
  5. Chờ tín hiệu kích hoạt: Khi các nhà phát triển chính thức của TanStack hợp nhất các yêu cầu pull không liên quan vào nhánh chính, quy trình phát hành đã được kích hoạt và khôi phục bộ nhớ đệm bị lỗi
  6. Steal the token: Attacker-controlled binaries read /proc/<pid>/mem of the Runner.Worker process to extract the OIDC token minted for npm trusted publishing
  7. Phát hành qua quy trình phát hành: Những mã thông báo này đã được sử dụng để phát hành 84 phiên bản gói phần mềm độc hại lên kho lưu trữ npm thông qua chính quy trình phát hành hợp pháp của TanStack.
  8. Kết quả: các gói phần mềm mang theo các chứng nhận nguồn gốc SLSA Build Level 3 hợp lệ, các chứng nhận Sigstore hợp lệ và chữ ký GitHub Actions hợp pháp, được tạo ra bởi quy trình phát hành chính thức, nhưng lại chứa phần mềm độc hại đánh cắp thông tin đăng nhập. Như TanStack đã xác nhận trong báo cáo phân tích sau sự cố, từ góc độ của nhà phát triển, các gói phần mềm này trông có vẻ xác thực về mặt mật mã, không có dấu hiệu nào cho thấy đã bị xâm nhập.

Các thông tin bí mật đã bị lộ: Tải trọng phần mềm độc hại đã đánh cắp và truyền đi các thông tin bí mật – bao gồm thông tin đăng nhập và mã thông báo đang được sử dụng trên các hệ thống bị xâm nhập – thông qua ba kênh dự phòng: một tên miền typosquat (git-tanstack[.]com), mạng nhắn tin phi tập trung Session, và các điểm trung API GitHub bằng cách sử dụng các mã thông báo bị đánh cắp. Các thông tin đăng nhập bị nhắm mục tiêu bao gồm mã thông báo GitHub, bí mật đám mây từ AWS, GCP và Azure, tài liệu xác thực CI/CD, thông tin đăng nhập Kubernetes, Vault HashiCorp Vault và khóa SSH.

Trên các máy của nhà phát triển, phần mềm độc hại đã cài đặt một daemon gh-token-monitor hoạt động liên tục (thông qua macOS LaunchAgent hoặc Linux systemd) để kiểm tra GitHub cứ sau 60 giây. Khi nhận được lỗi 40X do mã thông báo bị thu hồi, daemon này sẽ cố gắng chạy lệnh `rm -rf ~/` để xóa thư mục chính của người dùng. Daemon này sẽ tự động ngừng hoạt động sau 24 giờ.

Tác động của OpenAI và những điều nó cho chúng ta thấy

Thông báo của OpenAI đã nêu rõ những thông tin bị đánh cắp: một lượng nhỏ dữ liệu thông tin đăng nhập từ một tập hợp con của các kho mã nguồn nội bộ mà hai nhân viên bị xâm nhập có quyền truy cập, bao gồm các chứng chỉ ký mã cho các sản phẩm macOS, iOS, Windows và Android. OpenAI xác nhận không có bằng chứng nào cho thấy các chứng chỉ này đã được sử dụng để ký các phần mềm độc hại, nhưng vẫn đang thay thế tất cả các chứng chỉ này như một biện pháp phòng ngừa và yêu cầu người dùng macOS cập nhật ứng dụng của họ trước ngày 12 tháng 6 năm 2026, sau đó các ứng dụng được ký bằng các chứng chỉ cũ có thể ngừng hoạt động.

Có một chi tiết thứ hai trong thông báo của OpenAI đáng được chú ý. Hai thiết bị bị xâm nhập vẫn chưa được cập nhật các cấu hình quản lý gói phần mềm, bao gồm các biện pháp kiểm soát như kiểm tra thời gian phát hành tối thiểu và xác thực nguồn gốc gói phần mềm, vốn đang được triển khai trên toàn bộ hệ thống của tổ chức. Cuộc tấn công đã diễn ra trong khoảng thời gian triển khai đó.

Điều này phản ánh một lỗ hổng thực sự và phổ biến. Các biện pháp kiểm soát an ninh thường được triển khai theo từng giai đoạn. Trong bất kỳ đợt triển khai theo giai đoạn nào, một nhóm hệ thống nhất định sẽ phải đối mặt với rủi ro cao hơn. Chiến dịch của TeamPCP đã diễn ra liên tục trong nhiều tuần, đăng tải các gói phần mềm độc hại lên các kho phần mềm và chờ đợi chúng được cài đặt. Thời điểm này không phải là ngẫu nhiên.

Kiểm tra Software của bạn để ngăn chặn Supply Chain

Giải pháp MetaDefender Software Chain™ được thiết kế để giúp các tổ chức kiểm tra các thành phần, gói phần mềm và tệp nhị phân thực tế được đưa vào chu trìnhSoftware (SDLC), bao gồm cả các gói phần mềm có chữ ký hợp lệ hoặc chứng nhận nguồn gốc, từ đó mang lại khả năng theo dõi phần mềm xuyên suốt quy trình tại thời điểm các gói phần mềm được sử dụng.

Ba tính năng trongSupply Chain Software MetaDefender trực tiếp giải quyết những lỗ hổng mà cuộc tấn công này đã khai thác:

Metascan™ Multiscanning
: kết hợp hơn 30 công cụ chống phần mềm độc hại thương mại để quét các gói phần mềm từ các kho lưu trữ mã nguồn như npm và PyPI trước khi chúng đến máy trạm của nhà phát triển hoặc các đường ống CI/CD. Trong trường hợp một công cụ phát hiện đơn lẻ có thể không phát hiện được một biến thể mới được phát hành, diện tích phát hiện kết hợp sẽ thu hẹp khoảng thời gian mà gói phần mềm độc hại có thể thực thi mà không bị phát hiện.

Tạo SBOM (Software thành phầnSoftware ) : cung cấp cái nhìn tổng quan về các thành phần phần mềm trong toàn bộ hệ thống, các mối phụ thuộc trực tiếp và gián tiếp, lịch sử phiên bản, cũng như siêu dữ liệu kho lưu trữ, đồng thời hỗ trợ hơn mười ngôn ngữ lập trình. SBOM giúp phát hiện các thay đổi bất ngờ trong gói phần mềm trước khi chúng lan truyền xuống các giai đoạn sau, và hỗ trợ xuất dữ liệu dưới định dạng CycloneDX và SPDX để đảm bảo tuân thủ các yêu cầu pháp lý, bao gồm Đạo luật Khả năng phục hồi Hoạt động Kỹ thuật số (DORA).

Proactive DLP™: quét mã nguồn để phát hiện các thông tin bí mật được mã hóa cứng - mật khẩu, API , mã thông báo và thông tin đăng nhập được nhúng trong mã trước khi chúng bị lộ cho kẻ tấn công. Điều này khác biệt với phản ứng đối với việc rò rỉ thông tin đăng nhập: Công nghệ Proactive DLP™ giải quyết rủi ro rằng các thông tin bí mật còn sót lại trong mã nguồn hoặc tệp cấu hình có thể bị truy cập khi kho lưu trữ bị xâm phạm, như đã xảy ra trong vụ việc OpenAI.

MetaDefender Software Supply Chain tích hợp sẵn với GitHub, GitLab, Azure DevOps và Nexus, đưa quá trình kiểm tra vào bên trong quy trình thay vì bên ngoài. Phiên bản 3.3.0 mới ra mắt gần đây bổ sung tính năng hỗ trợ truyền tải sản phẩm an toàn giữa các môi trường cách ly thông qua truyền dữ liệu một chiều bằng công nghệ data diode, cho phép các tổ chức trong môi trường cách ly hoặc bảo mật cao xác thực sản phẩm trước khi chúng vượt qua ranh giới mạng, với quy trình kích hoạt sẵn có phù hợp với các quy trình làm việc DevSecOps hiện có.

Những điểm chính

Chứng nhận nguồn gốc chỉ xác định nguồn gốc, không phải tính toàn vẹn
Wave Four đã tạo ra các gói phần mềm độc hại được chứng nhận hợp lệ do chính quy trình phát hành đã bị xâm nhập. Việc kiểm tra chữ ký và nguồn gốc là một dấu hiệu hữu ích, chứ không phải là sự đảm bảo về tính an toàn của nội dung.

“Thời gian triển khai” chính là “khoảng thời gian dễ bị tấn công
. Sự cố của OpenAI xảy ra trong quá trình triển khai theo từng giai đoạn các biện pháp kiểm soát chuỗi cung ứng mới. Mọi tổ chức đều gặp phải những lỗ hổng tương tự trong quá trình triển khai các biện pháp kiểm soát. Việc kiểm tra nội dung ở từng giai đoạn sẽ giúp giảm bớt sự phụ thuộc vào việc các chính sách phải được hoàn thiện trước khi cuộc tấn công xảy ra.

Chiến dịch này hiện đang diễn ra
Mini Shai-Hulud là đợt tấn công thứ tư trong một chiến dịch đã liên tục gia tăng mức độ phức tạp về mặt kỹ thuật kể từ tháng 9 năm 2025. Việc coi bất kỳ sự cố riêng lẻ nào là đã được giải quyết mà không khắc phục các lỗ hổng cơ bản trong hệ thống sẽ khiến các tổ chức tiếp tục đối mặt với nguy cơ từ các đợt tấn công tiếp theo.

Việc kết hợp khả năng hiển thị SBOM, quét đa lớp phần mềm độc hại và phát hiện thông tin bí mật được mã hóa cứng giúp giảm thiểu diện tích tiếp xúc trong các môi trường phát triển phần mềm hiện đại. Đừng tin tưởng bất kỳ tệp tin nào. Đừng tin tưởng bất kỳ thiết bị nào.

Bạn đã sẵn sàng bảo vệ quy trình phát triển phần mềm của mình trước các cuộc tấn công chuỗi cung ứng như Mini Shai-Hulud chưa?

Tài liệu tham khảo thêm

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.