Bốn gói npm được kết nối với Cloud Application Programming Model của SAP đã bị đánh cắp. Các hacker đã thêm mã độc đánh cắp ví crypto, thông tin xác thực đám mây và khóa SSH từ các nhà phát triển.
Theo báo cáo từ Socket, các phiên bản gói bị ảnh hưởng bao gồm:
Các gói này cộng lại nhận được khoảng 572,000 lượt tải xuống mỗi tuần từ cộng đồng nhà phát triển SAP.
Các nhà nghiên cứu bảo mật giải thích rằng các gói bị tấn công cài sẵn một script tải xuống và chạy tệp nhị phân Bun runtime từ GitHub. Sau đó nó chạy một payload JavaScript bị che giấu nặng 11,7MB.
Các tệp nguồn SAP gốc vẫn còn đó, nhưng có thêm ba tệp mới:
Các tệp này có dấu thời gian muộn hơn vài giờ so với mã thực. Điều này cho thấy các gói tarball đã bị thay đổi sau khi được tải xuống từ nguồn thực.
Socket gọi đây là "tín hiệu mạnh của một chiến dịch tiêm mã độc tự động, có phối hợp" khi script loader có nội dung byte giống hệt nhau trong cả bốn gói, dù chúng nằm trong hai namespace khác nhau.
Khi payload chạy, nó kiểm tra xem hệ thống có được đặt sang tiếng Nga không và dừng lại nếu có. Sau đó nó phân nhánh tùy thuộc vào việc có tìm thấy môi trường CI/CD hay không, bằng cách kiểm tra 25 biến nền tảng như GitHub Actions, CircleCI và Jenkins, hoặc máy trạm của nhà phát triển.
Trên máy tính của nhà phát triển, phần mềm độc hại đọc hơn 80 loại tệp thông tin xác thực khác nhau. Bao gồm khóa riêng SSH, thông tin xác thực AWS và Azure, cấu hình Kubernetes, token npm và Docker, tệp môi trường, và ví crypto trên mười một nền tảng khác nhau. Nó còn nhắm đến các tệp cấu hình cho các công cụ AI như Claude và cài đặt Kiro MCP.
Payload có hai lớp mã hóa. Một hàm gọi là `__decodeScrambled()` sử dụng PBKDF2 với 200,000 lần lặp SHA-256 và một salt gọi là "ctf-scramble-v2" để lấy các khóa cần thiết nhằm giải mã.
Các payload SAP sử dụng GitHub làm kênh chính. Nguồn: Socket.
Tên hàm, thuật toán, salt và số lần lặp giống với các payload Checkmarx và Bitwarden trước đây. Điều này cho thấy cùng một công cụ đang được sử dụng trong nhiều chiến dịch.
Socket đang theo dõi hoạt động này dưới tên "TeamPCP" và đã tạo một trang theo dõi riêng cho chiến dịch mà họ gọi là "mini-shai-hulud".
Vụ xâm phạm gói SAP là vụ mới nhất trong một loạt các cuộc tấn công chuỗi cung ứng sử dụng trình quản lý gói để đánh cắp thông tin xác thực tài sản kỹ thuật số.
Như Cryptopolitan đã đưa tin vào thời điểm đó, các nhà nghiên cứu đã tìm thấy năm gói npm giả mạo tên vào tháng 3 năm 2026, đánh cắp khóa riêng từ các nhà phát triển Solana và Ethereum rồi gửi đến một bot Telegram.
ReversingLabs phát hiện một chiến dịch có tên PromptMink một tháng sau đó. Trong chiến dịch này, một gói độc hại tên @validate-sdk/v2 đã được thêm vào một dự án giao dịch crypto mã nguồn mở thông qua một commit do AI tạo ra.
Bài đưa tin của Cryptopolitan về các phát hiện của ReversingLabs cho biết cuộc tấn công, được liên kết với nhóm do nhà nước Triều Tiên bảo trợ là Famous Chollima, đặc biệt nhắm vào thông tin xác thực ví crypto và bí mật hệ thống.
Cuộc tấn công SAP khác biệt về quy mô và hướng đi. Thay vì tạo các gói giả mạo với tên tương tự tên thật, những kẻ tấn công đã xâm nhập vào các gói thực, được sử dụng rộng rãi và được duy trì dưới namespace của SAP.
Các nhà nghiên cứu bảo mật khuyến nghị các nhóm sử dụng pipeline triển khai dựa trên SAP CAP hoặc MTA nên kiểm tra ngay lockfile của họ để tìm các phiên bản bị ảnh hưởng.
Các nhà phát triển đã cài đặt các gói này trong khoảng thời gian phơi nhiễm nên thay đổi mọi thông tin xác thực và token có thể đã xuất hiện trong môi trường build của họ, đồng thời kiểm tra nhật ký CI/CD để tìm bất kỳ yêu cầu mạng bất thường hay việc thực thi tệp nhị phân nào.
Theo các nhà nghiên cứu, ít nhất một phiên bản bị ảnh hưởng, @cap-js/sqlite@2.2.2, dường như đã bị gỡ xuống khỏi npm.
Ngân hàng của bạn đang sử dụng tiền của bạn. Bạn chỉ nhận được phần thừa. Xem video miễn phí của chúng tôi về cách trở thành ngân hàng của chính bạn


