Drama nổ não: Thư viện quốc dân Axios bị tiêm mã độc trên NPM, tặng kèm Trojan cho anh em dev. Hóng ngay toàn cảnh vụ úp sọt và cách sinh tồn.

Chào các đạo hữu. Anh em làm web, đặc biệt là hệ Node.js/Frontend thì lạ đ*o gì con hàng Axios nữa. Nó là cái thư viện quốc dân, chân ái của mọi nhà mỗi khi cần gọi API. Nhưng sáng nay thức dậy, ly cà phê chưa kịp ngấm thì giang hồ đã rúng động: Axios trên NPM vừa dính chưởng, bị chèn mã độc thả Trojan thẳng vào máy nạn nhân!
Để tôi kể cho các ông nghe cái drama hú hồn chim én này.
Chuyện là mấy pháp sư bảo mật bên StepSecurity vừa túm được một rổ các phiên bản dính mã độc núp bóng Axios trên NPM. Thủ đoạn của bọn hacker này rất ma giáo:
npm install, thay vì chỉ kéo thư viện về để request API cho mượt, anh em lại vô tình rước luôn một con Trojan vào nhà.Dù bài post trên Hacker News vọt lên hơn 1600 upvote (chứng tỏ độ hot bỏng tay), cộng đồng dev chia làm mấy phe combat cực gắt:
fetch API mặc định của trình duyệt và Node.js cho nó lành. Đỡ phải ôm cái cục node_modules nặng cả GB mà đ*o biết bên trong chứa cái thứ tà đạo gì.package-lock.json xem hôm qua mình có lỡ tay gõ npm update trong cơn ngái ngủ hay không.Nói đi cũng phải nói lại, Axios đ*o có lỗi, lỗi là ở cái cơ chế quản lý lỏng lẻo và thói quen cắm đầu gõ lệnh của anh em mình. Vụ này là một cái tát lật mặt cho những thanh niên nào vẫn giữ tư duy "cứ tải bản mới nhất là ngon".
Chốt hạ vài bài học xương máu cho anh em:
package-lock.json hoặc yarn.lock. Fix cứng cái version lại. Đừng có để dấu ^ hay ~ ở đầu version trong file package.json nữa.Đấy, code dạo đã nghèo lại còn hay gặp eo. Anh em tự bảo trọng nhé!
Nguồn hóng hớt: Axios compromised on NPM – Hacker News | StepSecurity Blog