
Gói npm giả mạo Rollup polyfill bị gắn với tác nhân Triều Tiên, đánh cắp bí mật nhà phát triển
"North Korea-linked threat actors published malicious npm packages that impersonate Rollup polyfill tooling to steal developer secrets and provide remote access. The packages use staged installs, environment checks to evade analysis, and encrypted payloads to collect browser, wallet, and cloud credentials, with no CVE reported; remediation is to remove the packages, assume compromise, rotate credentials, and block malicious egress."
Tác động lớn do chuỗi tấn công giả mạo supply chain dẫn tới đánh cắp bí mật và điều khiển từ xa trên máy phát triển/build. Điểm then chốt: multi-stage install (core → second-stage), né phân tích bằng kiểm tra môi trường, và payload thu thập + điều khiển.
Rủi ro vận hành đáng kể vì có thể làm lộ npm tokens, SSH keys, cloud credentials và dữ liệu dự án, ảnh hưởng phát triển phần mềm và chuỗi CI/CD. Điểm then chốt: gián đoạn do sự cố, chi phí xoay vòng và điều tra, và nguy cơ lan truyền qua pipeline khi gói độc hại được đưa vào build.
Các tác nhân đe doạ liên quan Triều Tiên được cho là đã phát hành loạt gói npm độc hại giả mạo công cụ Rollup polyfill nhằm truy cập từ xa và đánh cắp dữ liệu. Theo JFrog, hai gói chính gồm rollup-packages-polyfill-core và rollup-runtime-polyfill-core bắt chước dự án rollup-plugin-polyfill-node từ mô tả, siêu dữ liệu repository đến cấu trúc gói.
Chiến dịch sử dụng cơ chế cài đặt theo nhiều giai đoạn: gói “core” sẽ cài và nạp các gói “second-stage” như swift-parse-stream hoặc quirky-token; một gói khác là react-icon-svgs có thể kéo theo rollup-plugin-polyfill-connect. Các gói second-stage được mô tả là tiện ích SVG nhưng thực tế sẽ gọi URL từ JSONKeeper, sau đó eval trường “model” trong JSON để thực thi mã độc. Mã độc có các kiểm tra môi trường để né phân tích (cloud dev, sandbox, serverless, hạ tầng phân tích) trước khi tải payload được mã hoá từ máy chủ ngoài (ví dụ 216.126.236[.]244).
Payload sau đó đóng vai trò loader cho các chức năng thu thập và điều khiển: hỗ trợ phiên terminal tương tác, thực thi lệnh, chụp màn hình, thao tác chuột/phím (qua @nut-tree-fork/nut-js), thu thập dữ liệu trình duyệt và ví tiền mã hoá, tìm tệp theo phần mở rộng, và định kỳ đọc clipboard. JFrog nhấn mạnh rủi ro cao với workstation và máy build vì thường có API keys, SSH keys, npm tokens, cloud credentials và bí mật dự án. Không có CVE được nêu trong thông tin công bố.
Khuyến nghị: gỡ bỏ các gói đã cài, giả định đã bị xâm nhập, xoay vòng toàn bộ thông tin xác thực, chặn lưu lượng egress bất thường, và bật dependency scanning trong CI/CD để phát hiện gói mới hoặc khả nghi.