Cảnh báo: Tính năng ‘Don’t Ask Again’ của Claude Code làm lộ hàng ngàn API key và mật khẩu trên GitHub
Nghiên cứu mới từ Apiiro phát hiện hơn 1.100 kho lưu trữ công khai trên GitHub chứa các tệp tin cấu hình của Claude Code, trong đó lưu trữ trái phép mật khẩu và API key dưới dạng văn bản thuần...
- Giọng nữ Bắc
Một lỗ hổng nghiêm trọng liên quan đến cách thức hoạt động của trợ lý lập trình AI Claude Code vừa được công ty bảo mật phần mềm Apiiro công bố. Cụ thể, tính năng “Don’t ask again” (Không hỏi lại) của công cụ này đã vô tình lưu trữ các lệnh shell chứa mật khẩu và API key vào tệp cấu hình cục bộ, dẫn đến việc hàng ngàn thông tin nhạy cảm bị đẩy lên các kho lưu trữ công khai trên GitHub.
Table Of Content
Cơ chế rò rỉ dữ liệu
Theo tài liệu kỹ thuật, khi người dùng chọn “Yes, and don’t ask again” cho một lệnh shell, Claude Code sẽ lưu lại lệnh đó vào tệp .claude/settings.local.json để tự động thực thi trong các phiên làm việc sau. Vấn đề nằm ở chỗ, nếu lệnh đó chứa mật khẩu hoặc token, chúng sẽ bị lưu lại dưới dạng văn bản thuần túy (plain text).
Mặc dù Claude Code cố gắng ngăn chặn việc đưa tệp này vào Git bằng cách thêm nó vào danh sách loại trừ toàn cục (global git excludes), nhưng cơ chế này không bảo vệ được các tệp đã được commit trước đó hoặc khi tệp bị đẩy lên các fork của dự án. Đáng chú ý, trong nhiều trường hợp, chính Claude Code đã tự động commit tệp này vào kho lưu trữ.
Phạm vi ảnh hưởng
Nghiên cứu của Apiiro cho thấy:
- Hơn 1.100 bản sao công khai của tệp
settings.local.jsontrên GitHub chứa ít nhất một thông tin nhạy cảm. - Tổng cộng có 1.379 bí mật (secrets) bị lộ, bao gồm mật khẩu cơ sở dữ liệu, khóa AWS, token GitHub/GitLab/npm và thông tin đăng nhập SSH.
- 63 tổ chức, bao gồm nhiều công ty phần mềm, đã bị ảnh hưởng.
- Nhiều thông tin nhạy cảm đã tồn tại công khai trên GitHub trong hơn 200 ngày.
Các công cụ quét bảo mật truyền thống như gitleaks hay TruffleHog thường bỏ sót các tệp này vì mật khẩu nằm trong các lệnh shell không tuân theo định dạng khóa (key format) tiêu chuẩn.
Khuyến nghị cho lập trình viên và đội ngũ bảo mật
Để khắc phục rủi ro, các chuyên gia khuyến nghị:
- Kiểm tra lịch sử Git: Rà soát toàn bộ lịch sử commit để tìm các tệp
.claude/settings.local.jsonvà.claude/settings.json, ngay cả khi tệp đã bị xóa. - Thay đổi thông tin xác thực: Thực hiện xoay vòng (rotate) ngay lập tức mọi mật khẩu, token và khóa đã từng xuất hiện trong các tệp này.
- Cấu hình .gitignore: Loại bỏ tệp cấu hình khỏi Git bằng lệnh
git rm --cachedvà thêm vào.gitignorecủa dự án. - Sử dụng biến môi trường: Thay vì nhập trực tiếp mật khẩu vào lệnh, hãy sử dụng các biến từ trình quản lý bí mật (secrets manager).
- Chính sách bảo mật: Các đội ngũ an ninh mạng nên đưa các thư mục như
.claude/,.cursor/vào danh sách cần quét bảo mật (CI/CD) tương tự như tệp.env.
Trước đó, cộng đồng người dùng đã từng phản ánh vấn đề này từ tháng 8/2025, tuy nhiên các báo cáo lỗi liên quan đều bị đóng bởi bot tự động mà không nhận được phản hồi từ phía Anthropic.
Nguồn tham khảo: The Hacker News


No Comment! Be the first one.