-
09/04/2020
-
141
-
2.006 bài viết
Mozilla cảnh báo kỹ thuật mới nhắm vào Claude Code và các AI lập trình
Các nhà nghiên cứu từ Mozilla Zero Day Investigative Network (0DIN) vừa công bố một kỹ thuật tấn công mới cho thấy các trợ lý lập trình AI có thể bị lợi dụng để thực thi mã từ xa ngay trên máy của lập trình viên, dù kho mã GitHub được sử dụng không chứa bất kỳ đoạn mã độc nào có thể nhận biết bằng các phương pháp kiểm tra thông thường.
Nghiên cứu tập trung vào các AI coding agents như Claude Code, Cursor và Gemini CLI. Khác với các cuộc tấn công truyền thống dựa trên lỗ hổng phần mềm, kỹ thuật này khai thác khả năng tự động đọc mã nguồn, phân tích lỗi và thực hiện các bước khắc phục của AI agent. Chuỗi tấn công được xây dựng theo mô hình nhiều tầng, trong đó payload cuối cùng không tồn tại trong repository mà chỉ được tải về tại thời điểm thực thi.
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.
Sau khi reverse shell được kích hoạt, máy chủ của kẻ tấn công sẽ nhận được một phiên shell tương tác chạy với quyền của người dùng hiện tại. Trong môi trường phát triển phần mềm, đây thường là tài khoản đang sở hữu nhiều khóa truy cập và thông tin xác thực quan trọng, từ token GitHub, khóa API của các dịch vụ AI cho tới thông tin xác thực đám mây và các biến môi trường lưu trong tệp .env. Với quyền truy cập này, đối tượng tấn công có thể tiếp tục triển khai SSH key, thiết lập tác vụ định kỳ hoặc cài thêm các thành phần nhằm duy trì hiện diện trên hệ thống trong thời gian dài.