Tấn công chuỗi cung ứng Axios: Nguy hiểm từ Social Engineering

Vào ngày 31 tháng 3 năm 2026, hai phiên bản độc hại của thư viện HTTP JavaScript phổ biến Axios đã bị phát tán lên kho lưu trữ npm. Các phiên bản này cài đặt một mã độc RAT (Remote Access Trojan) trên các hệ thống macOS, Windows và Linux. Sự kiện này không khai thác lỗ hổng trong mã nguồn Axios mà nhắm vào yếu tố con người, làm nổi bật nguy cơ của một cuộc tấn công chuỗi cung ứng thông qua social engineering.
Cuộc tấn công này đã phơi bày sự mong manh của lớp con người trong chuỗi cung ứng mã nguồn mở, cho thấy những lỗ hổng mà các biện pháp kiểm soát kỹ thuật truyền thống khó có thể ngăn chặn.
Chi tiết kỹ thuật về Tấn công Chuỗi Cung Ứng Axios trên npm
Khai thác thông qua Social Engineering Mục tiêu
Kẻ tấn công đã thực hiện một chiến dịch social engineering được lên kế hoạch tỉ mỉ nhắm vào Jason Saayman, người duy trì chính của dự án Axios. Chúng mạo danh đại diện của một công ty uy tín, tạo dựng liên hệ dưới vỏ bọc hợp tác kinh doanh.
Để tăng tính xác thực, kẻ tấn công đã tạo ra một danh tính công ty giả mạo, thiết lập một không gian làm việc Slack thuyết phục và tổ chức nhiều cuộc họp dàn dựng. Thông qua đó, chúng thành công xây dựng niềm tin với Saayman.
Sau khi giành được lòng tin, kẻ tấn công đã thuyết phục Saayman cài đặt một ứng dụng trên máy của mình, cấp cho chúng toàn quyền truy cập từ xa. Điều này là điểm khởi đầu cho việc chiếm quyền điều khiển hệ thống.
Từ máy của Saayman, kẻ tấn công đã thu thập các phiên duyệt web đang hoạt động và đánh cắp cookie. Chúng âm thầm chiếm đoạt thông tin đăng nhập npm và GitHub của Saayman mà không kích hoạt bất kỳ cảnh báo bảo mật nào.
Mã độc và Ảnh hưởng Lan rộng đến Hệ sinh thái Phát triển
Các nhà nghiên cứu tại Socket.dev đã nhanh chóng xác định các gói độc hại sau khi chúng được phát tán trên npm. Phân tích chi tiết của họ cho thấy mức độ ảnh hưởng của cuộc tấn công mạng này vượt xa người dùng Axios trực tiếp.
Do cách thức npm xử lý các phụ thuộc bắc cầu (transitive dependencies), hàng nghìn gói phần mềm phụ thuộc hạ nguồn (downstream packages) tự động kéo Axios vào cũng bị phơi nhiễm. Điều này khiến phạm vi tác động của cuộc tấn công chuỗi cung ứng rộng hơn đáng kể so với dự kiến ban đầu.
Các phiên bản độc hại được phát tán là Axios 1.8.2 và 1.8.3. Mỗi phiên bản này đều chứa một phụ thuộc ẩn cài đặt mã độc RAT trên các hệ thống macOS, Windows và Linux. Sự lây nhiễm này đã đặt ra một nguy cơ bảo mật nghiêm trọng cho toàn bộ hệ sinh thái phụ thuộc.
Phân tích Kỹ thuật và Điểm yếu trong Bảo mật Chuỗi Cung Ứng
Thách thức đối với Các Biện pháp Kiểm soát Kỹ thuật
Điều làm cho cuộc tấn công chuỗi cung ứng này đặc biệt khó ngăn chặn là ngay cả các biện pháp bảo mật mạnh mẽ như xác thực đa yếu tố (2FA) và phương thức xuất bản dựa trên OIDC (OpenID Connect) cũng không thể ngăn cản được. Kẻ tấn công hoạt động trực tiếp từ máy tính đã bị xâm nhập của Saayman, sử dụng các phiên làm việc đang hoạt động của anh ấy.
Từ góc độ của npm, mọi hành động của kẻ tấn công đều trông hoàn toàn hợp lệ. Saayman sau đó xác nhận rằng quyền truy cập của kẻ tấn công là “hoàn chỉnh bất kể thiết lập gì đã có”. Điều này là do không có quy trình xuất bản nào được xây dựng để phát hiện một người duy trì hợp pháp thực hiện hành vi độc hại từ chính thiết bị của họ.
Axios và Sự Mong Manh của Mã nguồn Mở
Axios là một trong những gói được tải xuống nhiều nhất trong toàn bộ hệ sinh thái JavaScript, lặng lẽ cấp nguồn cho các yêu cầu HTTP trong các ứng dụng sản xuất, hệ thống xây dựng, công cụ CLI và các lớp hạ tầng. Nhiều đội ngũ phát triển không hề chủ động chọn sử dụng Axios, mà nó được tích hợp thông qua các phụ thuộc khác, sâu trong chuỗi.
Tuy nhiên, một dự án quan trọng toàn cầu như vậy lại được duy trì bởi một số ít cá nhân, hoạt động mà không có nguồn lực bảo mật thể chế hay bất kỳ sự hỗ trợ chuyên biệt nào. Thực tế khó khăn này đã trở thành một vấn đề không thể bỏ qua, tương tự như vụ việc backdoor xz utils, nơi kẻ tấn công đầu tư thời gian thực để xây dựng uy tín trước khi ra tay.
Đây là một cách tiếp cận dài hạn mà các kiểm soát kỹ thuật thuần túy không thể ngăn chặn, vì điểm đột nhập là con người chứ không phải phần mềm. Khi việc tiếp cận một người duy trì có nghĩa là tiếp cận toàn bộ cây phụ thuộc bên dưới họ, kẻ tấn công sẽ luôn coi quyền truy cập đó là xứng đáng với mọi nỗ lực.
Thông tin chi tiết về vụ việc có thể tìm thấy tại Socket.dev.
Biện pháp Khắc phục và Khuyến nghị Tăng cường An ninh Mạng
Hành động Khẩn cấp sau Sự cố
Sau sự cố, Saayman đã hành động nhanh chóng. Anh ấy đã xóa sạch tất cả thiết bị của mình, đặt lại mọi thông tin xác thực và bắt đầu áp dụng các khóa bảo mật phần cứng cùng với các quy trình xuất bản được cải thiện.
Trong một bình luận công khai trên GitHub, anh thừa nhận đã trở thành nạn nhân của “một cuộc tấn công social engineering khá nổi tiếng” và thẳng thắn về việc kẻ tấn công đã chiếm quyền kiểm soát môi trường của anh ấy một cách triệt để như thế nào. Phản ứng của anh ấy phản ánh cả mức độ nghiêm trọng của sự việc và cam kết chân thành trong việc xây dựng lại hệ thống an toàn hơn.
Khuyến nghị Bảo mật cho Cộng đồng Phát triển
Các tổ chức sử dụng Axios nên kiểm tra cây phụ thuộc của mình để tìm các phiên bản bị xâm nhập (1.8.2 và 1.8.3) và cập nhật ngay lập tức. Nhà phát triển cũng nên sử dụng các công cụ quét phụ thuộc để phát hiện những thay đổi phiên bản bất ngờ, nhằm ngăn chặn các cuộc tấn công chuỗi cung ứng tương tự.
Đối với những người duy trì mã nguồn mở, đặc biệt là những người quản lý các gói được sử dụng rộng rãi, cần áp dụng các khóa bảo mật phần cứng, hạn chế thời gian lộ phiên làm việc và coi máy cá nhân của họ như các mục tiêu hạ tầng có giá trị cao. Việc này là cực kỳ quan trọng để bảo vệ chống lại các mối đe dọa xâm nhập mạng thông qua các phương pháp social engineering.







