Theo nghiên cứu mới của công ty bảo mật ứng dụng Apiiro, nút thuận tiện nhất trong Mã Claude của Anthropic - "Có, và không hỏi lại" - đã âm thầm biến thành một cỗ máy rò rỉ thông tin xác thực. Khi các nhà phát triển phê duyệt một lệnh chứa bí mật, Claude Code sẽ lưu lệnh chính xác đó, bao gồm cả bí mật, vào một tệp cài đặt cục bộ thường được đưa vào kho lưu trữ GitHub công khai. Quá trình quét của Apiiro đã tìm thấy 2.539 bí mật thực sự nằm trong 1.994 kho lưu trữ công khai: mật khẩu cơ sở dữ liệu, khóa API đám mây, mã thông báo và thông tin đăng nhập gốc SSH, trải rộng trên 63 tổ chức, hầu hết là các công ty phần mềm. Một công ty bị ảnh hưởng đã xác nhận với các nhà nghiên cứu rằng một khóa bị lộ đã tồn tại. Đây là sự cố về quyền riêng tư thứ hai của Claude Code trong tháng này, sau tiết lộ email của người dùng tới các trang web thông qua tiêu đề Tác nhân người dùng — và sự cố này liên quan đến cơ sở hạ tầng sản xuất chứ không chỉ chi tiết liên hệ. Chúng tôi tuân thủ chặt chẽ vấn đề bảo mật tác nhân mã hóa AI trong phạm vi bảo hiểm của các công cụ AI.
Quy tắc cấp phép trở thành rò rỉ như thế nào
Cơ chế này là một tác dụng phụ của hệ thống cấp phép của Claude Code, hệ thống này yêu cầu phê duyệt trước khi chạy các lệnh shell - thường nhiều lần trong mỗi phiên. Yêu cầu tác nhân gỡ lỗi kết nối cơ sở dữ liệu hoặc gọi API nội bộ và lệnh mà tác nhân đề xuất mang theo bất kỳ thông tin xác thực nào mà tác vụ yêu cầu vì nó không thể hoạt động nếu không có chúng.
Chọn "Có, và không hỏi lại" và Claude Code chạy lệnh và viết quy tắc cấp phép cho `.claude/settings.local.json` bên trong thư mục dự án. Quy tắc này không phải là một sự trừu tượng: nó là chuỗi lệnh đầy đủ, mật khẩu được nhập ở dạng văn bản thuần túy và tất cả.
Tệp được thiết kế để nằm trên máy của nhà phát triển và Claude Code cố gắng bảo vệ nó - bằng cách thêm nó vào danh sách bỏ qua git toàn cầu của nhà phát triển. Điều đó bao gồm trường hợp thông thường, nhưng không bao gồm các trường hợp đặc biệt: một thư mục sau này trở thành kho lưu trữ, một bản sao trên một máy khác mà tính năng bỏ qua toàn cục không tồn tại hoặc một tệp mà ai đó đã cam kết trước khi mục nhập bỏ qua được thêm vào. Điều quan trọng là quy tắc không bao giờ nằm trong `.gitignore` của chính kho lưu trữ, vì vậy không có biện pháp bảo vệ nào được áp dụng cùng với dự án.
Vấn đề còn phức tạp hơn khi Claude Code thường xuyên cam kết chính tệp đó. Trong 539 trong số 1.105 kho lưu trữ nơi Apiiro lần ra một bí mật thực sự, một cam kết do Claude đồng tác giả đã thay đổi tệp cài đặt - cam kết đặt tên cho các mô hình từ Sonnet 4.5 đến Opus 5.5. Apiiro lưu ý rằng hành vi này là của riêng Claude Code, không phải của mô hình: công ty đã sao chép nó bằng cả Opus 5.5 và Fable 5.1.
Quy mô phơi nhiễm
Apiiro đếm được 104.185 bản sao công khai của `.claude/settings.local.json` trên GitHub. Trong số đó, 1.122 chứa ít nhất một bí mật thực sự. Các nhà nghiên cứu đã tìm thấy thêm 1.160 bí mật ẩn trong lịch sử kho lưu trữ git, trong các tệp `settings.json` được chia sẻ mà các nhóm cố tình cam kết và trong bản ghi cuộc trò chuyện của nhân viên đã lưu được kiểm tra trong kho lưu trữ.
Các ví dụ về tài liệu Apiiro trông giống như một danh sách kiểm tra các phương pháp tồi tệ nhất. Một nhà cung cấp cơ sở dữ liệu đã tiết lộ khóa API đám mây cấp quản trị viên của riêng mình — với quyền quản lý quyền truy cập và không hết hạn — cùng với máy chủ cụm của nó. Một công ty khởi nghiệp B2B đã rò rỉ mật khẩu Azure Postgres sản xuất. Một công ty phần mềm đã tiết lộ mã thông báo truy cập sản xuất Square. Một công ty dịch vụ CNTT đang xây dựng ứng dụng hồ sơ y tế đã làm rò rỉ mật khẩu chủ sở hữu của cơ sở dữ liệu đó. Các dự án nguồn mở cũng không khá hơn: một dự án có hơn 1.000 sao đã xuất bản khóa API định dạng OpenAI, một dự án khác là mã thông báo npm.
Bối cảnh bảo mật làm cho việc tìm kiếm trở nên tồi tệ hơn. Phần mềm độc hại đánh cắp thông tin xác thực đã quét hàng loạt máy của nhà phát triển — Apiiro chỉ ra sâu Shai-Hulud npm, chạy trình quét TruffleHog trên các tệp của nạn nhân. Máy quét tương tự sẽ gắn cờ 643 trong số 1.122 tệp bị rò rỉ mà Apiiro tìm thấy. Đáng lo ngại hơn là phần còn lại: một trong năm tệp bị rò rỉ không được TruffleHog hay gitleaks gắn cờ, thường là do bí mật là mật khẩu được nhập bên trong lệnh chứ không phải khóa ở định dạng mã thông báo có thể nhận dạng được. Nói cách khác, các máy quét bí mật không có cấu trúc đối với loại rò rỉ này.
Nhóm bị ảnh hưởng nên làm gì
Hướng dẫn khắc phục của Apiiro bắt đầu bằng việc xác định phạm vi bán kính vụ nổ. Tìm kiếm `.claude/settings.local.json` và `.claude/settings.json` trong tổ chức GitHub của bạn — mỗi lần truy cập là một tệp mà bất kỳ ai cũng có thể đọc ngay bây giờ. Kiểm tra lịch sử git của từng kho lưu trữ để tìm tệp ngay cả khi nó đã bị xóa, bởi vì mọi nhánh và bản sao đều lưu giữ mọi lịch sử chứa đựng. Sau đó kiểm tra các bản sao cục bộ trên mọi máy của nhà phát triển: mỗi mục trong danh sách cho phép là một lệnh mà ai đó đã phê duyệt, với bất kỳ nội dung nào được nhập vào đó.
Vấn đề đặt hàng của công ty: xoay vòng trước, dọn dẹp sau. Việc xóa một tệp khỏi kho lưu trữ không ảnh hưởng gì đến thông tin xác thực đã được công khai và lịch sử git sẽ giữ cho các bí mật bị lộ vô thời hạn.
Một mẫu, không phải một lần
Đối với Anthropic, phát hiện này diễn ra một tuần sau khi Claude Code bị phát hiện rò rỉ địa chỉ email của người dùng tới mọi trang web mà nó truy cập thông qua tiêu đề Tác nhân người dùng - một lỗi được sửa bằng cách gửi một sửa đổi về quyền riêng tư mà các nhà phê bình gọi là hỗ trợ ban nhạc. Hai sự cố này có chung một nguyên nhân cốt lõi: một tác nhân xử lý bối cảnh mạnh mẽ — thông tin xác thực, chi tiết liên hệ, tên máy chủ nội bộ — và đưa ra các quyết định mặc định về nơi bối cảnh đó di chuyển.
Bài học khái quát hóa ngoài Mã Claude. Khi các tác nhân mã hóa trở thành thiết bị tiêu chuẩn, các tệp mà chúng viết để tự tổ chức đang trở thành một góc mới, chưa được quét của chuỗi cung ứng phần mềm. Những con số của Apiiro cho thấy góc đó đã bị rò rỉ ở quy mô mà hầu hết các tổ chức chưa bắt đầu đo lường.
Đi trước AI
Các công cụ AI đang vận hành nhanh hơn tốc độ mà các đánh giá về an toàn của chúng có thể theo kịp. Theo dõi mọi diễn biến trong tin tức AI của chúng tôi.
Đọc thêm tin tức về AI →