Tổng quan về chiến dịch tấn công PhantomRaven
Trong những năm gần đây, các cuộc tấn công chuỗi cung ứng phần mềm đang trở thành một trong những mối đe dọa nghiêm trọng đối với hệ sinh thái phát triển phần mềm mã nguồn mở. Đặc biệt, hệ sinh thái NPM- một trong những kho thư viện JavaScript lớn nhất thế giới, đã trở thành mục tiêu của nhiều chiến dịch phát tán mã độc thông qua các gói phần mềm giả mạo hoặc bị cài cắm mã độc.
Chiến dịch PhantomRaven là một ví dụ điển hình cho xu hướng này, khi các tác nhân đe dọa đã phát tán hàng chục gói NPM độc hại nhằm thu thập thông tin nhạy cảm từ môi trường phát triển phần mềm. Các cuộc tấn công này không chỉ nhắm vào dữ liệu cá nhân của lập trình viên mà còn hướng tới các thông tin xác thực quan trọng như token truy cập kho mã nguồn và hệ thống CI/CD, từ đó có thể mở rộng phạm vi tấn công sang các dự án phần mềm khác. Nghiên cứu này nhằm phân tích phương thức hoạt động của chiến dịch PhantomRaven, các kỹ thuật né tránh phát hiện được sử dụng cũng như những rủi ro an ninh mạng mà cuộc tấn công này đặt ra đối với cộng đồng phát triển phần mềm.
Theo các báo cáo của Endor Labs, một làn sóng tấn công mới của PhantomRaven đã phát tán ít nhất 88 gói NPM độc hại nhằm thu thập dữ liệu từ môi trường phát triển của các lập trình viên. Đáng chú ý, nhiều gói độc hại vẫn tồn tại trên hệ thống NPM trong một thời gian dài trước khi bị phát hiện, cho thấy những hạn chế trong cơ chế kiểm duyệt tự động của các kho phần mềm mã nguồn mở.
Các gói phần mềm này thường được thiết kế để trông giống như các thư viện hợp pháp hoặc các công cụ hỗ trợ phát triển quen thuộc nhằm tạo sự tin tưởng cho người dùng. Khi lập trình viên cài đặt các gói này, mã độc sẽ tự động được tải xuống và thực thi mà không cần thêm bất kỳ tương tác nào từ phía người dùng.
Mục tiêu chính của chiến dịch là thu thập thông tin từ môi trường phát triển như địa chỉ email, token xác thực, thông tin hệ thống và các biến môi trường. Những dữ liệu này có thể được sử dụng để truy cập trái phép vào kho mã nguồn hoặc hệ thống triển khai phần mềm của tổ chức.
Kỹ thuật tấn công sử dụng trong PhantomRaven
Một trong những kỹ thuật đáng chú ý được sử dụng trong chiến dịch PhantomRaven là Remote Dynamic Dependencies (RDD). Đây là một cơ chế cho phép các gói NPM tải các thành phần phụ thuộc từ các máy chủ bên ngoài thay vì từ kho chính thức. Kỹ thuật này giúp kẻ tấn công tránh việc nhúng trực tiếp mã độc vào gói phần mềm, từ đó làm giảm khả năng bị phát hiện bởi các công cụ kiểm tra mã nguồn tự động.
Khi người dùng thực hiện lệnh cài đặt, các dependency độc hại sẽ được tải từ máy chủ do kẻ tấn công kiểm soát và được thực thi ngay trong quá trình cài đặt. Điều này khiến nhiều nhà phát triển không nhận ra rằng họ đã vô tình thực thi mã độc ngay trong môi trường phát triển của mình.
Ngoài ra, các gói độc hại còn sử dụng nhiều kỹ thuật khác như thay đổi metadata, luân chuyển tài khoản phát hành gói và sử dụng hạ tầng máy chủ khác nhau nhằm kéo dài thời gian tồn tại của chiến dịch tấn công. Những thay đổi này cho thấy chiến dịch được duy trì có hệ thống và có sự thích nghi nhằm né tránh các biện pháp phát hiện.

Hình 1. Chuỗi thực thi của PhantomRaven
Tác động và rủi ro an ninh mạng
Các gói phần mềm độc hại trong chiến dịch PhantomRaven được thiết kế để thu thập nhiều loại dữ liệu nhạy cảm khác nhau. Trong đó bao gồm thông tin cấu hình Git, token NPM, thông tin xác thực GitHub, GitLab, Jenkins và CircleCI. Những dữ liệu này có thể cho phép kẻ tấn công truy cập vào các hệ thống phát triển phần mềm quan trọng.
Ngoài thông tin xác thực, mã độc còn thu thập dữ liệu về hệ thống như địa chỉ IP, tên máy, phiên bản hệ điều hành và phiên bản Node.js nhằm phục vụ việc phân tích giá trị của mục tiêu. Việc thu thập thông tin này cho thấy cuộc tấn công không mang tính ngẫu nhiên mà có thể phục vụ cho các chiến dịch xâm nhập sâu hơn vào hệ thống của tổ chức. Một rủi ro nghiêm trọng khác là khả năng mở rộng tấn công theo chuỗi cung ứng. Khi kẻ tấn công chiếm được token phát hành gói phần mềm, chúng có thể chèn mã độc vào các dự án khác, từ đó mở rộng phạm vi ảnh hưởng sang nhiều tổ chức khác nhau.
Khuyến nghị và biện pháp giảm thiểu rủi ro
Từ các phân tích trên có thể thấy rằng các nhà phát triển phần mềm cần áp dụng các biện pháp kiểm soát chặt chẽ hơn đối với các thư viện bên thứ ba. Việc kiểm tra nguồn gốc của các gói phần mềm, sử dụng các thư viện từ các nhà phát hành uy tín và tránh cài đặt các gói không rõ nguồn gốc là những biện pháp quan trọng để giảm thiểu rủi ro.
Bên cạnh đó, các tổ chức nên triển khai các công cụ kiểm tra thành phần phần mềm nhằm phát hiện các dependency độc hại hoặc có lỗ hổng bảo mật. Việc kiểm tra định kỳ các dependency và thực hiện kiểm toán bảo mật đối với môi trường phát triển cũng là những biện pháp cần thiết.
Ngoài ra, việc nâng cao nhận thức về an ninh mạng cho lập trình viên cũng đóng vai trò quan trọng. Các nhà phát triển cần thận trọng khi sử dụng các gợi ý từ công cụ AI hoặc các nguồn không được kiểm chứng, đồng thời cần xác minh kỹ các thư viện trước khi tích hợp vào dự án phần mềm.
Kết luận
Chiến dịch PhantomRaven cho thấy các cuộc tấn công chuỗi cung ứng phần mềm đang ngày càng tinh vi và có khả năng khai thác các điểm yếu trong quy trình phát triển phần mềm hiện đại. Việc lợi dụng các cơ chế hợp pháp như dependency management cho thấy ranh giới giữa chức năng hợp lệ và hành vi độc hại ngày càng khó phân biệt.
Do đó, các tổ chức cần xây dựng chiến lược bảo mật toàn diện không chỉ tập trung vào hệ thống vận hành mà còn mở rộng sang môi trường phát triển phần mềm. Việc kết hợp các giải pháp kỹ thuật, quy trình kiểm soát và đào tạo nhận thức người dùng sẽ là yếu tố then chốt để giảm thiểu rủi ro từ các cuộc tấn công chuỗi cung ứng trong tương lai.
