Công ty bảo mật Apiiro phát hiện 2.539 bí mật thực sự trong 1.994 kho lưu trữ GitHub công khai, bao gồm thông tin xác thực trong các tệp cài đặt Claude Code, lịch sử Git, cài đặt được chia sẻ và bản ghi hội thoại của tác nhân.

Điểm chính

  • Apiiro phát hiện 2.539 bí mật thực sự trong 1.994 kho lưu trữ GitHub công khai, bao gồm thông tin xác thực trong các tệp Claude Code và hồ sơ liên quan của tác nhân.

  • Vấn đề tập trung vào các tệp cục bộ “.claude/settings.local.json” được tạo sau khi chọn tùy chọn “đừng hỏi lại” trong Claude Code

  • Apiiro cho biết họ đã xác định được các bí mật thực sự trong những kho lưu trữ công khai, nghĩa là khóa đám mây, mã thông báo API hoặc thông tin xác thực nội bộ có thể đã bị lộ

  • Các nhóm nên rà soát quy tắc bỏ qua, mở rộng công cụ quét bí mật sang các thư mục ẩn và xoay vòng mọi khóa đã xuất hiện trong kho mã nguồn công khai

Apiiro cho biết vấn đề tập trung ở “.claude/settings.local.json”, một tệp cục bộ mà nhà phát triển có thể vô tình commit sau khi dùng tùy chọn “đừng hỏi lại” trong Claude Code. Trong số 104,185 bản sao công khai của tệp này trên GitHub, 1,122 bản chứa bí mật thực sự và 63 tổ chức bị ảnh hưởng, trong đó có một tổ chức xác nhận khóa của họ đã bị lộ.

Cũng đọc: Claude Code của Anthropic đã gửi địa chỉ email của người dùng đến các trang web

Những con số này quan trọng vì đây không phải là các chuỗi thử nghiệm giả định. Apiiro cho biết họ đã phát hiện bí mật thực sự trong các kho mã nguồn công khai, nghĩa là khóa đám mây, mã thông báo API hoặc thông tin xác thực nội bộ có thể đã bị lộ cho bất kỳ ai thu thập dữ liệu trên GitHub.

Điều đó biến một tính năng tiện lợi thành rủi ro chuỗi cung ứng.

Bí mật trong Claude Code biến sự tiện lợi thành nguy cơ lộ lọt

Các tác tử lập trình ngày càng thường yêu cầu quyền thường trực để chạy lệnh, cài đặt gói hoặc gọi công cụ mà không cần dừng lại xin phê duyệt mỗi lần. Điều đó khiến các công cụ có vẻ nhanh hơn, nhưng cũng tạo ra một dạng dấu vết mới: các cài đặt nhạy cảm được ghi vào ổ đĩa rồi sau đó được đẩy vào hệ thống quản lý phiên bản.

Một khi tệp được đưa vào kho mã nguồn công khai, các bản sao có thể nhanh chóng lan truyền qua các nhánh rẽ, bản sao nhân bản và chỉ mục tìm kiếm.

Ngay cả khi nhà phát triển xóa tệp sau đó, bí mật có thể đã bị sao chép.

Phát hiện của Apiiro xuất hiện trong bối cảnh rộng hơn, khi lĩnh vực này chuyển từ tính năng tự động hoàn thành sang lập trình bằng tác tử. Các công cụ mới không chỉ đề xuất dòng mã mà còn kiểm tra tệp, thực hiện tác vụ và ghi nhớ quyết định.

Phạm vi rộng hơn đó khiến các tệp cấu hình cục bộ nhạy cảm hơn nhiều so với trước đây, khi các trợ lý lập trình còn cũ.

Từ cài đặt mặc định hữu ích đến bề mặt tấn công thực sự

Các nhóm bảo mật đã cảnh báo suốt nhiều năm về việc ghi cứng khóa vào mã nguồn. Điểm mới là các tác tử AI có thể tạo ra những nguy cơ lộ lọt này thông qua tính năng ghi nhớ quyền, thay vì để nhà phát triển tự dán thông tin xác thực vào ứng dụng.

Sự khác biệt đó rất quan trọng đối với các kế hoạch ứng phó.

Công cụ quét bí mật truyền thống tìm kiếm mã thông báo bên trong các tệp mã nguồn, trong khi rủi ro do tác tử tạo ra có thể nằm trong các đường dẫn cục bộ ẩn, cài đặt công cụ hoặc thư mục dành riêng cho máy tính mà nhà phát triển không bao giờ nghĩ sẽ công khai. Các chương trình bảo mật chỉ dựa vào đánh giá mã có thể bỏ sót con đường này.

Vấn đề này cũng phù hợp với xu hướng triển khai AI trong doanh nghiệp.

Các công ty bổ sung tác tử để đẩy nhanh công việc kỹ thuật, rồi phát hiện công cụ đã tạo ra các trạng thái lưu trữ, ghi nhật ký hoặc phê duyệt mới nằm ngoài những biện pháp kiểm soát chính sách thông thường. Những điểm mù đó là một trong các lý do khiến nhiều tổ chức hiện xem công cụ AI dành cho nhà phát triển là sản phẩm bảo mật, chứ không chỉ là phần mềm tăng năng suất.

Những điều nhà phát triển cần kiểm tra ngay

Các nhóm sử dụng Claude Code nên kiểm tra xem tệp cài đặt cục bộ đã được loại trừ khỏi các commit hay chưa, đồng thời xác nhận công cụ quét kho mã nguồn có bao phủ các thư mục ẩn hay không.

Họ nên xoay vòng mọi khóa có thể đã xuất hiện trong kho mã nguồn công khai, vì xóa tệp không đảm bảo thông tin xác thực vẫn được giữ kín.

Báo cáo của Apiiro đặc biệt nhấn mạnh “.claude/settings.local.json” là đường dẫn lưu các bản ghi quyền truy cập lâu dài sau khi dùng tùy chọn “đừng hỏi lại”. Tệp này là mắt xích nối hành vi của tác tử Anthropic với các mã thông báo bị lộ trong kho mã nguồn công khai trên GitHub.

Nhà phát triển nên theo dõi những thay đổi của nhà cung cấp đối với đường dẫn tệp, quy tắc bỏ qua và cách lưu trữ quyền, vì những chi tiết giao diện này quyết định liệu tốc độ của tác tử chỉ được duy trì cục bộ hay trở thành một vụ rò rỉ công khai.

Vì sao tệp ẩn ngày càng quan trọng

Bí mật trong Claude Code nguy hiểm vì chúng ẩn ở những nơi mà nhiều nhóm không kiểm tra kỹ.

Nhà phát triển có thể nghĩ rằng thao tác nhạy cảm đã diễn ra bên trong trợ lý, nhưng bằng chứng thực sự nằm trong một tệp cấu hình trên ổ đĩa. Khi tệp đó được commit lên GitHub, sự cố không còn là lỗi cá nhân mà trở thành vấn đề của kho mã nguồn.

Đối với các nhóm nền tảng, cách khắc phục khá đơn giản.

Thêm đường dẫn tệp cục bộ vào danh sách bỏ qua, mở rộng công cụ quét bí mật sang các thư mục ẩn và chặn những commit có chứa các tệp cài đặt tác tử đã biết. Nhanh chóng xoay vòng thông tin xác thực khi một kho mã nguồn được công khai.

Đối với các nhà cung cấp như Anthropic, áp lực sẽ gia tăng để lựa chọn cách lưu trữ mặc định và ghi nhớ quyền an toàn hơn. Chiến trường tiếp theo của các tác tử lập trình có thể là nơi tác tử ghi lại bộ nhớ của mình.

Đọc tiếp: Hướng dẫn của GitHub đưa Copilot vào 4 công việc lập trình, con người đưa ra quyết định