Từ trái sang phải: Joel de la Garza của Andreessen Horowitz, Malika Aubakirova và Jane Larkey. Ảnh: LinkedIn, biên tập bằng Gemini

Vụ xâm nhập nhằm vào Axios gần đây đang làm dấy lên lo ngại về một điểm yếu ngày càng lớn trong chuỗi cung ứng phần mềm khi AI coding được sử dụng rộng rãi hơn. Theo phân tích của Joel de la Garza, đối tác an ninh thông tin tại Andreessen Horowitz, Malika Aubakirova, nhà đầu tư thuộc nhóm hạ tầng AI, và Jane Larkey, tổng đối tác, các công cụ lập trình bằng AI đang giúp tăng tốc phát triển phần mềm nhưng đồng thời cũng mở rộng bề mặt tấn công.

Axios là một trong những gói phần mềm phổ biến nhất trên Internet, với hơn 100 triệu lượt tải mỗi tuần. Trong vụ việc này, kẻ tấn công không cần sửa mã nguồn của Axios nhưng vẫn có thể đưa mã độc lên hàng triệu thiết bị.

Cách thức tấn công khá đơn giản: chiếm quyền tài khoản của người duy trì gói, thêm một gói phụ thuộc mới, rồi phát hành bản cập nhật. Gói được cài thêm là plain-crypto-js, chỉ mới được đăng ký vài giờ trước khi vụ tấn công xảy ra.

Sau khi được cài đặt, gói này sẽ nhận diện hệ điều hành, tải về và thực thi một trojan truy cập từ xa được tùy biến, rồi xóa dấu vết. Khi lập trình viên mở thư mục node_modules, gói độc hại có thể đã biến mất, trong khi mã độc đã kịp kết nối tới máy chủ do kẻ tấn công kiểm soát.

Điều đáng lo hơn là nhiều công cụ bảo mật hiện nay không phát hiện được kiểu tấn công này. Theo nhóm tác giả, phần lớn công cụ phân tích thành phần phần mềm hiện vẫn dựa vào việc đối chiếu với cơ sở dữ liệu lỗ hổng đã công bố như CVE. Với các gói độc hại hoàn toàn mới, cách làm này gần như không có tác dụng. Ngay cả khi chạy npm audit trên phiên bản Axios bị xâm nhập, hệ thống vẫn trả về kết quả “không có vấn đề”.

Nhóm phân tích cho rằng đây là ví dụ điển hình cho thấy rủi ro chuỗi cung ứng phần mềm tăng lên cùng với làn sóng AI coding. Các công cụ này không chỉ nâng năng suất lập trình mà còn khiến quy trình phát triển dễ bị khai thác hơn.

Dẫn một nghiên cứu phân tích hơn 117.000 thay đổi liên quan đến gói phụ thuộc tại hàng nghìn kho GitHub, nhóm tác giả cho biết các AI agent chọn phiên bản đã có lỗ hổng được biết đến nhiều hơn 50% so với con người. Không chỉ vậy, những phiên bản do AI chọn thường khó khắc phục hơn và đòi hỏi nâng cấp trên diện rộng, ảnh hưởng tới toàn bộ mã nguồn.

Một kỹ thuật tấn công mới khác là slopsquatting cũng đang nổi lên. Các mô hình ngôn ngữ lớn thường tạo ra tên gói không tồn tại, và kẻ tấn công tận dụng chính điểm yếu này. Theo nghiên cứu được trích dẫn, khoảng 20% gói do AI đề xuất là không có thật. Trong số đó, 43% lặp lại cùng một tên ngay cả khi được hỏi nhiều lần, tạo điều kiện để kẻ tấn công đăng ký trước và cài cắm mã độc.

Rủi ro còn tăng lên với các agent lập trình tự động. Nhóm tác giả cho rằng những agent này có thể tự cài gói phụ thuộc, chạy build và tạo pull request mà không cần con người can thiệp. Mục tiêu của chúng là giúp mã chạy được, chứ không phải đánh giá mức độ an toàn, khiến thời gian rà soát bảo mật gần như bằng 0.

Một ví dụ khác là chiến dịch TeamPCP, được mô tả là cho thấy cách tấn công chuỗi cung ứng có thể lan rộng theo hiệu ứng dây chuyền và gây tác động lớn hơn cả vụ Axios. Theo phân tích này, điểm khởi phát là Trivy, một công cụ quét lỗ hổng mã nguồn mở. Kẻ tấn công đã khai thác lỗi cấu hình trong workflow của GitHub Actions để đánh cắp access token, sau đó chèn mã độc vào gần như toàn bộ tag phiên bản của Trivy.

Người dùng tải Trivy để kiểm tra bảo mật vì thế có thể vô tình chạy luôn đoạn mã do kẻ tấn công cài vào. Mã độc sau đó đánh cắp nhiều loại khóa truy cập đang được lưu trong môi trường phát triển tự động, gồm khóa máy chủ, thông tin xác thực dịch vụ đám mây và quyền phát hành gói. Token dùng để truy cập npm cũng bị chiếm đoạt, tạo bàn đạp cho giai đoạn tấn công tiếp theo.

Theo nhóm tác giả, chỉ từ một token, cuộc tấn công đã lan sang GitHub Actions, Docker Hub, npm, PyPI và chợ tiện ích mở rộng của VS Code trong vòng 8 ngày. Hàng nghìn tổ chức bị đặt vào diện có nguy cơ chịu ảnh hưởng.

Báo cáo cho rằng cách hiệu quả nhất để đối phó với rủi ro bảo mật gia tăng cùng AI coding là rút ngắn mạnh thời gian phát hiện. Mã nguồn hiện được tạo ra với tốc độ của máy. Nếu năng lực phòng thủ không theo kịp, chính hệ thống triển khai phần mềm cũng có thể trở thành kênh phát tán mã độc trên diện rộng.

Tuy nhiên, khả năng phát hiện của ngành vẫn là dấu hỏi lớn. Thời gian trung bình để phát hiện một vụ xâm nhập chuỗi cung ứng hiện vào khoảng 267 ngày. Vụ SolarWinds mất 14 tháng mới bị phát hiện, còn vụ tiện ích XZ kéo dài tới 2 năm.

Trong bối cảnh đó, startup bảo mật Socket thu hút sự chú ý khi phát hiện gói phụ thuộc độc hại trong vụ Axios chỉ 6 phút sau khi nó được phát hành. Theo nhóm tác giả, tốc độ này nhanh hơn mức trung bình của ngành khoảng 63.000 lần. Socket thậm chí phát hiện gói mã độc sớm hơn 16 phút so với thời điểm phiên bản Axios bị xâm nhập được phát hành lần đầu.

Điểm khác biệt của Socket nằm ở cách tiếp cận. Thay vì chỉ đối chiếu CVE, công ty phân tích trực tiếp hành vi của mã: có thực hiện truy cập mạng hay không, có chạy tiến trình shell hay không, có làm rối payload hay không, và có đọc biến môi trường hay không. Nhờ vậy, công cụ này có thể phát hiện các gói độc hại hoàn toàn mới, kể cả khi chưa có CVE hay tiền lệ tấn công trước đó.

Nhóm tác giả nhấn mạnh rằng những đơn vị đi trước đều có một điểm chung: họ không chờ đến khi được thông báo là đã bị xâm nhập. Thay vào đó, họ đưa kiểm soát bảo mật tới sát nơi phát sinh rủi ro nhất, tức thời điểm gói phụ thuộc đi vào quy trình build; không chỉ dựa vào CVE mà phân tích hành vi thực tế của gói; đồng thời xem đồ thị phụ thuộc không phải là một danh sách thư viện tĩnh, mà là một bề mặt tấn công sống cần được giám sát liên tục.

Từ khóa

#AI coding #chuỗi cung ứng phần mềm #Axios #npm #GitHub Actions #slopsquatting #Socket #CVE
Copyright © DigitalToday. All rights reserved. Unauthorized reproduction and redistribution are prohibited.