Đừng Hỏi Lại Khi Bạn Đã Ghi Mật Khẩu Vào Git Apiiro Phát Hiện 2.539 Bí Mật Trong Các Tệp Phê Duyệt Agent. Xóa Tệp Không Khắc Phục Được Vấn Đề Có 104.185 bản sao công khai của tệp .claude/settings.local.json của Claude Code trên GitHub. Trong số đó, 1.122 bản (khoảng 1,1%) chứa ít nhất một bí mật. Tổng cộng, các tệp này chứa 1.379 giá trị phân biệt. Khi tính cả lịch sử git, các cài đặt chia sẻ và bản ghi agent, Apiiro xác định được 2.539 bí mật phân biệt trên 1.994 kho lưu trữ. ---------------------- Vậy ai đã trả tiền cho sự tiện lợi khi không bao giờ bị hỏi lại? 👇 🔹 Những Gì Thực Sự Được Lưu Trữ 🔹 Claude Code sẽ hỏi trước khi thực hiện hầu hết các lệnh shell. Nếu bạn chọn “Có, và đừng hỏi lại nữa”, nó sẽ lưu chính lệnh đó dưới dạng quy tắc cho phép trong tệp .claude/settings.local.json. Nếu lệnh đó chứa mật khẩu, token hoặc khóa, thì quy tắc này cũng sẽ chứa chúng — dưới dạng văn bản thuần. Apiiro đã tái hiện điều này với Opus 5.5 và Fable 5.1 — một sự phê duyệt thông thường, không phải lỗ hổng. 🔹 Vì Sao Tệp Địa Phương Vẫn Bị Công Khai 🔹 Khi được ghi lần đầu tiên trong một kho git, Claude Code có thể thêm tệp này vào danh sách loại trừ toàn cục của người dùng git. Tệp này chỉ tồn tại trên một máy tính, không đi theo dự án và không áp dụng cho các tệp đã được theo dõi. Công cụ không bao giờ ghi quy tắc loại trừ vào tệp .gitignore của chính repo. Trong 539 trong số 1.105 repo mà Apiiro theo dõi, một commit do Claude đồng tác giả đã thay đổi tệp cài đặt. Một nửa số tệp chứa bí mật đã tồn tại trên nhánh mặc định ít nhất 217 ngày. 🔹 Những Gì Con Số Bao Gồm Và Không Bao Gồm 🔹 Trong các bản sao hiện tại: hơn một phần ba bí mật mở kết nối cơ sở dữ liệu, bao gồm 379 mật khẩu cơ sở dữ liệu. Ngoài ra còn có 43 đăng nhập SSH cho các máy chủ công khai. Con số rộng hơn là 2.539 bao gồm các phiên bản cũ hơn (734 bí mật trong 509 repo không còn tồn tại trong tệp hiện tại), tệp .claude/settings.json chia sẻ và bản ghi agent. Apiiro không cố gắng sử dụng các thông tin xác thực. Một công ty được thông báo đã xác nhận khóa bị lộ của họ vẫn còn hoạt động. Nguy cơ bị lộ đã được chứng minh. Không có tuyên bố nào về một vụ xâm nhập thực tế đang diễn ra. Trong số 16 agent lập trình được so sánh qua tài liệu, Claude Code là duy nhất được xác nhận là ghi đầy đủ lệnh đã được phê duyệt vào tệp dự án theo mặc định. Trong 1.122 tệp chứa bí mật, TruffleHog phát hiện 643 và gitleaks phát hiện 564. Cả hai đều bỏ sót 215. Phần lớn các trường hợp bỏ sót là mật khẩu nằm trong lệnh — các công cụ quét tìm định dạng khóa. 🔹 Lời Khuyên Hành Động 🔹 ▫️ Đổi mật khẩu trước khi dọn dẹp 📝 Thay đổi mọi mật khẩu, token và khóa mà tệp từng chứa. Việc xóa bản sao hiện tại không xóa được lịch sử, phân nhánh hay bản sao. ▫️ Đặt quy tắc loại trừ vào repo 📝 git rm --cached .claude/settings.local.json, sau đó thêm nó vào .gitignore của dự án. ▫️ Phê duyệt mẫu, không phải bí mật 📝 Ưu tiên các quy tắc kiểu Bash(npm run:*) . Giữ thông tin xác thực dưới dạng biến từ hệ thống quản lý bí mật, thay vì ghi trực tiếp vào lệnh mà Claude lưu trữ. ▫️ Xử lý thư mục agent như .env 📝 Các thư mục .claude/, .cursor/ và .gemini/ cần được quét bí mật, bao gồm cả lịch sử, trên cả máy tính cá nhân lẫn máy chủ từ xa. Mục đích của việc phê duyệt là tiết kiệm thời gian. Nhưng tệp này lại lưu trữ mật khẩu. Sự tiện lợi tích lũy. Và cả một thông tin xác thực vốn chẳng nên xuất hiện dưới dạng dòng cấu hình. Khi bạn nhấn “đừng hỏi lại” trên một agent lập trình AI, chính xác thì nó đang ghi nhớ gì cho lần sau?
PetrAntoChia sẻ

Nguồn:Hiển thị bản gốc
Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này.
Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụng và Tiết lộ rủi ro của chúng tôi.
