𝟭𝟰𝟰 𝗣𝗮𝗰𝗸𝗮𝗴𝗲 𝗡𝗽𝗺 𝗠𝗮𝘀𝘁𝗿𝗮 𝗕𝗶̣ 𝗫𝗮𝗺 𝗡𝗵𝗮̣𝗽

Một cuộc tấn công chuỗi cung ứng phần mềm lớn vừa nhắm vào hệ sinh thái JavaScript.

Những kẻ tấn công đã chiếm quyền điều khiển một tài khoản đóng góp npm duy nhất. Chúng đã sử dụng quyền truy cập này để phát hành các bản cập nhật độc hại cho 144 gói khác nhau thuộc namespace @mastra.

Mastra là một framework phổ biến để xây dựng các ứng dụng AI. Điều này có nghĩa là rủi ro sẽ lan trực tiếp vào các công cụ AI mà bạn đang xây dựng và sử dụng.

Cuộc tấn công, được gọi là easy-day-js, hoạt động bằng cách đầu độc các thư viện đáng tin cậy. Vì kẻ tấn công có quyền ở cấp độ tài khoản, chúng đã vượt qua các quy trình kiểm duyệt thông thường. Khi bạn chạy lệnh cài đặt hoặc nâng cấp, bạn có thể vô tình tải về mã độc mà không hề hay biết.

Các rủi ro bao gồm:

Bạn phải hành động nhanh chóng để bảo vệ các dự án của mình. Hãy thực hiện các bước sau:

  1. Kiểm tra ngay lập tức các phụ thuộc (dependencies) của bạn. Chạy lệnh này để tìm bất kỳ gói @mastra nào trong dự án của bạn: npm ls --all | grep "@mastra/"

  2. Sử dụng các trình quét bảo mật. Chạy npm audit để kiểm tra các lỗ hổng đã biết. Sử dụng các công cụ như Socket hoặc JFrog để theo dõi các cảnh báo trực tiếp.

  3. Cố định phiên bản (Pin your versions). Không sử dụng ký tự đại diện (wildcards) trong package.json. Hãy khóa các phụ thuộc của bạn ở một phiên bản cụ thể và an toàn để ngăn chặn việc tự động cập nhật lên mã độc.

  4. Thay đổi thông tin xác thực (Rotate your credentials). Nếu bạn nghi ngờ có sự xâm nhập, hãy thay đổi các khóa và bí mật (secrets) của mình ngay lập tức.

  5. Áp dụng 2FA. Nếu bạn quản lý các gói npm, hãy sử dụng xác thực đa yếu tố cho tất cả các tài khoản đóng góp.

Mô hình tin cậy mã nguồn mở rất mong manh. Chỉ một tài khoản bị xâm nhập có thể ảnh hưởng đến hàng ngàn nhà phát triển. Đừng chờ đợi. Hãy kiểm tra cây phụ thuộc (dependency tree) của bạn ngay hôm nay.

Nguồn: https://dev.to/davekurian/144-mastra-npm-packages-compromised-in-major-software-supply-chain-attack-5fif