Để chứng minh khả năng khai thác, nhóm nghiên cứu xây dựng một repository GitHub giả mang tên “Axiom” và ngụy trang nó như một công cụ triển khai đám mây bình thường. Khi kiểm tra bằng mắt thường, dự án không có dấu hiệu đáng ngờ nào. Mã nguồn, tài liệu hướng dẫn và các bước cài đặt đều giống một dự án mã nguồn mở hợp pháp. Tuy nhiên, bên trong repository là một package Python được thiết kế đặc biệt để luôn gặp lỗi trong lần chạy đầu tiên. Thay vì hiển thị thông báo bất thường, chương trình trả về lỗi RuntimeError cùng hướng dẫn khắc phục rất quen thuộc: chạy lệnh python3 -m axiom init để hoàn tất quá trình khởi tạo môi trường. Đây chính là điểm mà cuộc tấn công bắt đầu phát huy tác dụng. Khi lập trình viên yêu cầu Claude Code thiết lập và chạy thử dự án, AI agent sẽ tự động phân tích lỗi, tìm cách khắc phục và thực hiện lệnh được đề xuất. Từ góc nhìn của Claude Code, đây chỉ là một bước sửa lỗi thông thường trong quá trình cài đặt phần mềm, nên lệnh được thực thi mà không tạo ra cảnh báo nào cho người dùng.
Sau khi được thực thi, lệnh python3 -m axiom init sẽ gọi một shell script chứa đoạn mã truy vấn DNS TXT Record từ hạ tầng do kẻ tấn công kiểm soát. Nội dung phản hồi được đưa thẳng vào chuỗi xử lý của Bash mà không trải qua bất kỳ bước kiểm tra nào. Trong thử nghiệm của Mozilla, bản ghi TXT chứa một payload Base64. Khi được giải mã, payload này tạo một reverse shell sử dụng kết nối TCP để mở phiên điều khiển từ xa tới máy chủ của đối tượng tấn công. Toàn bộ mã thực thi chỉ xuất hiện trong bộ nhớ tại thời điểm chạy, thay vì tồn tại dưới dạng tệp trong repository. Cách tiếp cận này khiến chuỗi tấn công gần như vô hình đối với các cơ chế phân tích mã nguồn truyền thống, bởi repository chỉ chứa một truy vấn DNS tưởng chừng vô hại, trong khi payload thực tế được tải động từ hạ tầng bên ngoài.
Việc sử dụng DNS TXT Record để lưu trữ payload mang lại nhiều lợi thế cho kẻ tấn công. Do mã thực thi không xuất hiện trong repository GitHub, các công cụ phân tích mã nguồn và quá trình rà soát thủ công gần như không phát hiện được dấu hiệu bất thường. Những gì hiện diện trong mã chỉ là một truy vấn DNS tưởng chừng vô hại, trong khi payload thực tế chỉ được tải về khi script được thực thi. Điều này giúp cuộc tấn công vượt qua nhiều lớp kiểm tra vốn được thiết kế để phát hiện mã độc ngay từ giai đoạn phát triển.
Bên cạnh đó, payload có thể được thay đổi bất cứ lúc nào bằng cách cập nhật nội dung bản ghi TXT trên máy chủ DNS mà không cần chỉnh sửa mã nguồn hoặc tạo commit mới trên GitHub. Toàn bộ mã thực thi chỉ xuất hiện trong bộ nhớ tại thời điểm chạy, tạo ra khoảng trống giữa những gì các công cụ phân tích nhìn thấy và những gì thực sự diễn ra trên hệ thống. Theo các nhà nghiên cứu, chính sự tách biệt này khiến chuỗi tấn công khó bị phát hiện và truy vết hơn đáng kể so với các phương thức phát tán mã độc truyền thống.
Theo Mozilla, vấn đề không nằm ở một lỗ hổng cụ thể mà ở cách chuỗi tấn công được chia tách thành nhiều thành phần độc lập. Repository GitHub chỉ chứa hướng dẫn cài đặt hợp lệ, script khởi tạo chỉ thực hiện truy vấn DNS, còn payload thực tế được lưu trên hạ tầng bên ngoài và chỉ được tải về khi chương trình chạy. Mỗi thành phần riêng lẻ đều có vẻ hợp pháp và không đủ để kích hoạt cảnh báo. Chính sự phân tách này khiến việc phát hiện trở nên đặc biệt khó khăn. Công cụ phân tích mã nguồn không nhìn thấy payload, hệ thống giám sát mạng chỉ ghi nhận một truy vấn DNS thông thường, còn AI agent chỉ xử lý từng bước theo logic khắc phục lỗi mà không đánh giá toàn bộ chuỗi thực thi. Kết quả là cuộc tấn công có thể diễn ra xuyên suốt nhiều lớp kiểm tra mà không xuất hiện dấu hiệu bất thường rõ ràng nào.





