
GuardFall: Bypass kiểm tra an toàn lệnh shell của AI coding agent mã nguồn mở
"Adversa AI disclosed GuardFall, a shell-injection bypass that can evade command-safety checks in 10 of 11 tested open-source AI coding and computer-use agents by exploiting differences between plain-text filtering and Bash command parsing. The issue affects agents running with auto-execute or reduced sandboxing and can lead to arbitrary command execution, file deletion, or secret theft; no single CVE was assigned, and Continue was the only tested tool with effective default protection."
Nguy cơ cao do bypass cơ chế chặn lệnh: vượt kiểm tra plain-text, dẫn tới thực thi lệnh tùy ý trong ngữ cảnh tài khoản người dùng, đặc biệt khi bật auto-execute hoặc giảm sandboxing.
Có thể gây gián đoạn và rò rỉ dữ liệu trong pipeline tự động: xóa tệp và lộ bí mật có thể ảnh hưởng tiến độ phát triển, tuân thủ và chi phí khắc phục, dù chưa có bằng chứng khai thác công khai.
Nghiên cứu từ Adversa AI công bố kỹ thuật GuardFall cho thấy nhiều AI coding and computer-use agents mã nguồn mở có thể bị vượt qua cơ chế “chặn lệnh nguy hiểm” bằng một thủ thuật liên quan đến cách Bash diễn giải lệnh. Theo báo cáo, GuardFall hoạt động với 10/11 tác nhân được thử nghiệm; chỉ Continue là công cụ duy nhất có cơ chế phòng vệ hiệu quả mặc định.
Vấn đề xuất phát từ việc các agent thường kiểm tra lệnh theo chuỗi văn bản (plain-text) trước khi chạy, trong khi Bash sẽ biến đổi cú pháp (loại bỏ/giải thích dấu nháy, mở rộng rút gọn, xử lý pipeline) trước khi thực thi. Vì vậy, bộ lọc có thể không nhận ra phần lệnh thực sự sẽ chạy, dẫn đến nguy cơ thực thi lệnh tùy ý, xóa tệp hoặc trộm bí mật (ví dụ SSH keys, credential cloud, dữ liệu trong thư mục người dùng).
Tấn công cần hai điều kiện: agent phải tạo ra lệnh độc hại và agent phải chạy ở chế độ auto-execute hoặc giảm sandboxing. Adversa cho biết chưa ghi nhận khai thác công khai; không có CVE được gán.
Khuyến nghị: chạy agent với $HOME trỏ tới thư mục tạm, tắt các cờ --auto-exec/--auto-run/--auto-test và dangerously-skip-permissions, không cho chạy trên pull request từ fork, và coi các file cấu hình trong repo (ví dụ .aider.conf.yml) là không đáng tin.