
Lỗ hổng GhostApproval dùng symlink có thể khiến repo độc hại chiếm quyền ghi tệp trong AI coding agents
"Researchers at Wiz disclosed GhostApproval, a symlink-based flaw in six AI coding assistants that can cause malicious repositories to redirect approved file writes into sensitive locations such as ~/.ssh/authorized_keys or ~/.zshrc, enabling code execution or credential theft. Amazon Q Developer, Cursor, and Google Antigravity have fixes or updates available, while Augment and Windsurf were still unpatched and Anthropic disputed the issue as outside its threat model; no active exploitation was reported."
Nguy cơ cao do khả năng ghi đè qua symlink vào ~/.ssh/authorized_keys hoặc ~/.zshrc, dẫn tới chiếm quyền đăng nhập hoặc thực thi mã. Điểm then chốt: informed-consent bypass (hộp phê duyệt hiển thị sai đích) và một số công cụ ghi trước khi người dùng có thể can thiệp.
Tác động vận hành ở mức trung bình đến cao vì có thể gây gián đoạn do lộ khóa/chiếm quyền trên endpoint và tăng chi phí xử lý sự cố. Điểm cần lưu ý: phải cập nhật nhanh các công cụ bị ảnh hưởng và siết quy trình duyệt repo trước khi cho AI agent thao tác.
Các nhà nghiên cứu tại Wiz công bố GhostApproval, một lỗi dựa trên symlink ảnh hưởng đến sáu AI coding assistants. Theo mô tả, tác nhân yêu cầu người dùng phê duyệt việc chỉnh sửa một tệp “trông có vẻ vô hại”, nhưng thao tác ghi lại có thể bị chuyển hướng sang vị trí nhạy cảm trên máy, dẫn tới thực thi mã hoặc đánh cắp thông tin xác thực.
Cụ thể, Wiz xây dựng một repo độc hại với symlink tên project_settings.json trỏ tới ~/.ssh/authorized_keys. Khi người dùng làm theo hướng dẫn “set up the workspace” hoặc theo README, khóa SSH có thể được ghi trực tiếp qua symlink. Phiên bản khác chuyển hướng ghi sang ~/.zshrc, khiến nội dung được thực thi khi mở terminal. Wiz cho biết chưa ghi nhận khai thác thực tế.
Về trạng thái khắc phục: Amazon Q Developer (fix qua Language Server 1.69.0, CVE-2026-12958), Cursor (v3.0, CVE-2026-50549), Google Antigravity (cập nhật phiên bản hiện hành, CVE pending). Augment và Windsurf chưa có bản vá; Claude Code bị tranh luận về phân loại lỗi.
Khuyến nghị: cập nhật phần mềm, hạn chế quyền truy cập tệp của tác nhân (sandbox/container), rà soát README và tệp ẩn trước khi cho phép “set up”, và kiểm tra các tệp ngoài dự án như ~/.zshrc và ~/.ssh/authorized_keys sau khi chạy tác nhân.