
Các nhà nghiên cứu bảo mật vừa phát đi cảnh báo về một đợt tấn công chuỗi cung ứng mới nhắm vào hệ sinh thái npm. Một loại mã độc dạng worm (sâu máy tính) có khả năng tự lây lan đang được phát tán thông qua các gói thư viện bị chiếm quyền điều khiển, với mục tiêu chính là đánh cắp token và thông tin nhạy cảm của các lập trình viên.
Cơ chế lây lan tự động qua token bị đánh cắp
Chiến dịch này, được các công ty bảo mật như Socket và StepSecurity theo dõi dưới tên gọi CanisterSprawl, sử dụng một kỹ thuật tinh vi để mở rộng phạm vi tấn công. Mã độc được nhúng vào các gói npm thông qua postinstall hook. Ngay khi một lập trình viên cài đặt gói thư viện nhiễm độc, mã nguồn này sẽ tự động thực thi mà không cần sự can thiệp của người dùng.
Sau khi xâm nhập vào môi trường phát triển, worm sẽ tiến hành lục soát các file cấu hình nhạy cảm như .npmrc, SSH keys, và các thông tin xác thực đám mây (AWS, Azure, Google Cloud). Điều nguy hiểm nhất là nếu tìm thấy token npm có quyền ghi, mã độc sẽ sử dụng chính token đó để tự động đẩy các phiên bản nhiễm độc mới của các gói thư viện mà lập trình viên đó quản lý lên registry. Quá trình này tạo ra một vòng lặp lây lan tự động, biến mỗi nạn nhân thành một nguồn phát tán mã độc mới.
Các gói thư viện bị ảnh hưởng
Danh sách các gói npm được xác định đã bị chèn mã độc trong chiến dịch này bao gồm:
@automagik/genie(phiên bản 4.260421.33 đến 4.260421.40)@fairwords/loopback-connector-es(phiên bản 1.4.3 đến 1.4.4)@fairwords/websocket(phiên bản 1.0.38 đến 1.0.39)@openwebconcept/design-tokens(phiên bản 1.0.1 đến 1.0.3)@openwebconcept/theme-owc(phiên bản 1.0.1 đến 1.0.3)pgserve(phiên bản 1.1.11 đến 1.1.14)
Mục tiêu đánh cắp thông tin đa dạng
Không chỉ dừng lại ở token npm, sâu máy tính này còn được thiết kế để thu thập một lượng lớn dữ liệu quan trọng từ máy tính của lập trình viên, bao gồm:
- Cấu hình Git và các thông tin đăng nhập được lưu trữ.
- Cấu hình Kubernetes, Docker và các file Terraform, Vault.
- Dữ liệu từ các trình duyệt web dựa trên Chromium và các tiện ích ví tiền điện tử.
- Lịch sử dòng lệnh (shell history) và các file
.envchứa biến môi trường.
Dữ liệu đánh cắp được chuyển về một cơ sở hạ tầng được thiết kế để chống gỡ bỏ, bao gồm các ICP canister trên mạng Internet Computer (Internet Computer Protocol). Ngoài ra, các chuyên gia còn phát hiện mã nguồn này có chứa logic để lây lan sang cả hệ sinh thái Python (PyPI), cho thấy tham vọng tấn công đa nền tảng của kẻ đứng sau.
Khuyến nghị cho lập trình viên
Vụ việc này một lần nữa cho thấy rủi ro từ chuỗi cung ứng phần mềm đang ngày càng trở nên nghiêm trọng và tinh vi hơn. Để bảo vệ môi trường làm việc, các lập trình viên và tổ chức cần:
- Kiểm tra lại lịch sử cài đặt và các phiên bản gói thư viện đang sử dụng, đặc biệt là các gói trong danh sách nêu trên.
- Sử dụng các công cụ quét phụ thuộc (dependency scanning) để phát hiện sớm các dấu hiệu bất thường.
- Hạn chế quyền hạn của các token npm, chỉ cấp quyền publish khi thực sự cần thiết và sử dụng xác thực hai lớp (2FA).
- Thường xuyên làm sạch các thông tin đăng nhập và token cũ không còn sử dụng trong môi trường local.
VNCyberS tổng hợp từ: The Hacker News, Socket Dev, StepSecurity














