Cảnh Báo: Thư Viện Axios Bị Tấn Công Mã Độc Trên NPM – Cài Đặt Ngay Bản Vá!

webadmin

webadmin

Đăng ngày: 31/03/2026
axios compromised on npm malicious versions drop remote access trojan

Axios – thư viện HTTP client phổ biến nhất thế giới với hơn 300 triệu lượt tải hàng tuần – vừa trở thành nạn nhân của một cuộc tấn công chuỗi cung ứng (supply chain attack) cực kỳ tinh vi. Kẻ tấn công đã chiếm quyền điều khiển tài khoản của quản trị viên để tung ra các phiên bản chứa mã độc nhằm cài đặt Trojan điều khiển từ xa (RAT).

1. Tóm tắt sự việc: Chuyện gì đã xảy ra với Axios?

Vào ngày 30/03/2026, các chuyên gia bảo mật tại StepSecurity đã phát hiện hai phiên bản độc hại của Axios được tải lên nền tảng npm: axios@1.14.1axios@0.30.4.

Điểm đáng sợ là kẻ tấn công không sửa đổi bất kỳ dòng mã nào bên trong mã nguồn chính của Axios. Thay vào đó, chúng tiêm vào một dependency “ma” có tên là plain-crypto-js@4.2.1. Gói này chứa một tập lệnh postinstall tự động thực thi ngay khi người dùng chạy lệnh npm install.

2. Phân tích kỹ thuật: Cách thức mã độc hoạt động

Cuộc tấn công này được đánh giá là có sự chuẩn bị vô cùng kỹ lưỡng với các bước thực hiện chuyên nghiệp:

Bước 1: Chiếm quyền tài khoản Quản trị viên (Maintainer)

Kẻ tấn công đã chiếm được tài khoản npm của jasonsaayman (duy trì chính của Axios). Chúng thay đổi email đăng ký sang một địa chỉ ProtonMail ẩn danh và thực hiện việc xuất bản (publish) thủ công từ máy cá nhân, thay vì thông qua quy trình CI/CD bảo mật bằng GitHub Actions như thông thường.

Bước 2: Chuẩn bị “Vũ khí” (Malicious Dependency)

Trước khi tấn công Axios, kẻ tấn công đã tạo ra gói plain-crypto-js. Gói này giả mạo thư viện mã hóa nổi tiếng crypto-js để đánh lừa các công cụ quét bảo mật tự động.

  • Phiên bản 4.2.0: Là một bản “sạch” để tạo dựng uy tín.
  • Phiên bản 4.2.1: Chứa mã độc thực sự (RAT Dropper).

Bước 3: Cơ chế “Thả” mã độc (Dropper) đa nền tảng

Tập lệnh setup.js trong gói độc hại sử dụng kỹ thuật xáo trộn mã (obfuscation) phức tạp để tránh bị phát hiện. Khi được thực thi, nó sẽ kiểm tra hệ điều hành của nạn nhân và tải xuống các payload tương ứng:

  • macOS: Sử dụng AppleScript để tải một file nhị phân vào thư mục cache hệ thống, giả mạo là một tiến trình của Apple (com.apple.act.mond).
  • Windows: Sử dụng VBScript và PowerShell để tải mã độc, đồng thời sao chép PowerShell thành wt.exe (giả danh Windows Terminal) để duy trì sự hiện diện lâu dài.
  • Linux: Sử dụng tập lệnh Python để kết nối với máy chủ điều khiển (C2).

3. Khả năng tự xóa dấu vết (Anti-Forensics)

Một trong những điểm tinh vi nhất của cuộc tấn công này là khả năng “tự hủy”. Sau khi mã độc đã được cài đặt vào hệ thống, nó sẽ tự động ghi đè tệp package.json của chính nó bằng một phiên bản sạch.

Điều này khiến cho các nhà phát triển khi kiểm tra thư mục node_modules sau đó sẽ không thấy bất kỳ dấu hiệu khả nghi nào (như các script postinstall độc hại).

4. Dấu hiệu nhận biết hệ thống bị xâm nhập (IoCs)

Nếu bạn hoặc dự án của bạn có các dấu hiệu sau, hãy coi như hệ thống đã bị chiếm quyền điều khiển:

  • Đã cài đặt hoặc cập nhật lên phiên bản axios@1.14.1 hoặc axios@0.30.4.
  • Sự xuất hiện của thư mục node_modules/plain-crypto-js/.
  • Có kết nối mạng bất thường đến domain: sfrclak.com:8000.
  • Sự xuất hiện của các file lạ: /tmp/ld.py (Linux), %PROGRAMDATA%\wt.exe (Windows), hoặc /Library/Caches/com.apple.act.mond (macOS).

5. Hành động ngay: Cách khắc phục và phòng ngừa

Để bảo vệ dự án của bạn, hãy thực hiện ngay các bước sau:

  1. Kiểm tra phiên bản: Chạy lệnh npm list axios để xem bạn có đang dùng phiên bản lỗi hay không.
  2. Hạ cấp hoặc Cập nhật: Ngay lập tức gỡ bỏ phiên bản lỗi và quay về các bản ổn định trước đó (ví dụ: 1.14.0 hoặc 0.30.3), hoặc cập nhật lên bản vá mới nhất nếu đã có.
  3. Xóa bộ nhớ đệm: Chạy npm cache clean --force để đảm bảo không còn tàn dư của gói độc hại.
  4. Kiểm tra hệ thống: Tiến hành quét virus và kiểm tra các tiến trình chạy ngầm để đảm bảo Trojan chưa kịp thiết lập kết nối C2.
  5. Sử dụng công cụ bảo mật: Cân nhắc sử dụng các giải pháp như StepSecurity Harden-Runner để giám sát các kết nối mạng và tiến trình lạ ngay trong quy trình CI/CD.
5/5 - (1089 đánh giá)

Tác giả

Kỹ sư tại @EzTech
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận