Tấn công chuỗi cung ứng npm: Nguy hiểm từ mã độc SANDWORMMODE

Một chiến dịch tấn công chuỗi cung ứng npm mới đang nhắm mục tiêu tích cực vào hệ sinh thái npm. Các nhà nghiên cứu đã xác định ít nhất 19 gói npm độc hại được thiết kế để đánh cắp thông tin bí mật của nhà phát triển và hệ thống CI/CD.
Mục tiêu chính là tự động lây lan trên các kho lưu trữ (repositories) và quy trình làm việc (workflows). Chiến dịch này được theo dõi dưới tên mã SANDWORMMODE, sử dụng các gói npm giả mạo (typosquatted) và GitHub Actions bị đầu độc để lây nhiễm vào cả máy của nhà phát triển và các đường ống CI.
Tổng quan về Chiến dịch SANDWORMMODE
Chiến dịch SANDWORMMODE mạo danh các tiện ích Node.js phổ biến và các công cụ lập trình AI.
Kẻ tấn công sử dụng hai bí danh nhà xuất bản npm giả mạo để triển khai các gói độc hại. Những gói này trông có vẻ bình thường và vẫn giữ chức năng mong đợi.
Tuy nhiên, ngay sau khi được nhập, chúng bí mật thực thi một tải trọng JavaScript đa giai đoạn. Đây là một đặc điểm nguy hiểm của mã độc npm này.
Kích hoạt Mã độc và Đánh cắp Dữ liệu
Mã độc kích hoạt ngay khi nhà phát triển chạy lệnh npm install. Nó ngay lập tức đánh cắp dữ liệu nhạy cảm.
Các dữ liệu bị đánh cắp bao gồm token npm, token GitHub, biến môi trường (environment variables), khóa mã hóa (crypto keys) và các thông tin bí mật khác.
Trong môi trường CI/CD, worm này bỏ qua các độ trễ tích hợp sẵn. Điều này khiến toàn bộ cuộc tấn công, bao gồm đánh cắp dữ liệu và lây lan, chạy tức thì.
Việc cài đặt phụ thuộc định kỳ trở thành một điểm rủi ro lớn trong quá trình bảo mật CI/CD.
Cơ chế Lan truyền của SANDWORMMODE
Cuộc tấn công hoạt động theo nhiều giai đoạn phức tạp. Worm sử dụng các thông tin đăng nhập npm và GitHub đã đánh cắp để tiếp tục lây lan.
Nếu quyền truy cập GitHub API thất bại, mã độc sẽ chuyển sang phương pháp dự phòng SSH. Điều này làm tăng thêm tính bền bỉ của nó.
Kẻ tấn công lạm dụng SSH agent của nạn nhân để nhân bản các kho lưu trữ. Sau đó, chúng chèn phụ thuộc mang mầm bệnh và đẩy các thay đổi dưới danh tính của nạn nhân.
Khai thác GitHub Actions để Lây nhiễm
Chiến dịch cũng bao gồm một GitHub Action đã bị vũ khí hóa có tên ci-quality/code-quality-check.
Action này giả vờ chạy kiểm tra chất lượng thông thường. Thực chất, nó đánh cắp các thông tin bí mật của CI và tiếp tục quá trình lây lan.
Đây là một ví dụ rõ ràng về cách thức một hệ thống bị xâm nhập có thể tiếp tục lây lan trong môi trường phát triển.
Mục tiêu Công cụ Lập trình AI
Worm cũng nhắm mục tiêu vào các công cụ lập trình AI. Nó cài đặt một máy chủ MCP độc hại vào cấu hình của các công cụ như Claude Code, Cursor và các tiện ích mở rộng VS Code.
Mã độc sử dụng các hướng dẫn prompt injection ẩn để lừa các trợ lý AI đọc các khóa SSH, thông tin xác thực đám mây (cloud credentials) và token. Sau đó, nó gửi chúng đến máy chủ của kẻ tấn công.
Khả năng này cho thấy mức độ tinh vi của cuộc tấn công, tận dụng cả công nghệ AI để mở rộng phạm vi đánh cắp.
Nó thậm chí còn kiểm tra các khóa API từ nhiều nhà cung cấp LLM lớn. Điều này biến các hệ thống bị nhiễm thành các nền tảng thu thập thông tin xác thực quy mô lớn.
Tính năng "Dead Switch" Tiềm ẩn
Mẫu mã độc bao gồm một tính năng "dead switch" (công tắc tử thần) đã bị vô hiệu hóa. Tính năng này có khả năng xóa thư mục chính của người dùng nếu cuộc tấn công thất bại.
Mặc dù không hoạt động, sự tồn tại của nó cho thấy mã độc vẫn đang được phát triển và có khả năng gây ra rủi ro bảo mật nghiêm trọng hơn trong tương lai.
Khuyến nghị Bảo mật và Giảm thiểu Rủi ro
Đội ngũ nghiên cứu mối đe dọa của Sockets khuyến nghị các nhóm phát triển thực hiện các hành động khẩn cấp để bảo vệ môi trường của họ. Đây là một bước quan trọng để củng cố an ninh mạng.
Các khuyến nghị bao gồm loại bỏ các gói độc hại và xoay vòng (rotate) các thông tin bí mật đã bị lộ. Điều này giúp vô hiệu hóa các token hoặc khóa đã bị đánh cắp.
Ngoài ra, cần kiểm tra và kiểm toán các quy trình làm việc (workflows) hiện có để phát hiện các thay đổi bất thường. Điều quan trọng là phải theo dõi các hoạt động đáng ngờ.
Chiến dịch này đặt ra một mối đe dọa nghiêm trọng đối với môi trường phát triển và CI/CD. Để biết thêm chi tiết, tham khảo báo cáo chuyên sâu từ Sockets Threat Research Team.
Các Chỉ số Xâm nhập (IOCs)
Dưới đây là các chỉ số xâm nhập quan trọng liên quan đến chiến dịch SANDWORMMODE:
- Gói npm độc hại: Các gói typosquatted mạo danh tiện ích Node.js và công cụ lập trình AI phổ biến.
- GitHub Action độc hại:
ci-quality/code-quality-check(được sử dụng để đánh cắp bí mật CI và lan truyền).
Các tổ chức cần ưu tiên cập nhật bản vá và các biện pháp bảo mật chủ động để chống lại các mối đe dọa chuỗi cung ứng.







