Claude Code 2.1.221 hiện cho phép người dùng Linux và WSL2 che giấu (mask) các tệp thông tin xác thực trước khi một lệnh trong môi trường sandbox có thể đọc chúng. Tính năng này cung cấp cho lệnh một bản sao "sentinel" vô hại và chỉ thay thế bằng thông tin bí mật thật khi một yêu cầu được cho phép đi qua một proxy.

Quy trình che giấu trông như thế nào

  1. Bản sao Sentinel – Khi một tệp được đánh dấu để che giấu, Claude Code sẽ tạo một bản sao chứa một chuỗi giữ chỗ (placeholder) thay vì thông tin bí mật thực tế.
  2. Hoán đổi qua Proxy – Sandbox chạy đằng sau một proxy kết thúc TLS (TLS-terminating proxy). Nếu sandbox gửi một yêu cầu khớp với một mục trong danh sách injectHosts, proxy sẽ thay thế chuỗi giữ chỗ bằng token thật trước khi yêu cầu rời khỏi máy.
  3. Xử lý lỗi – Nếu biểu thức chính quy (regex) trích xuất không tìm thấy thông tin bí mật, sandbox có thể hủy bỏ thay vì tiếp tục với tệp gốc đang bị lộ.

Cách tiếp cận này chỉ hoạt động trên Linux và WSL2; macOS hiện mặc định là từ chối hoàn toàn (hard deny), nghĩa là sandbox không thể đọc tệp đó chút nào.

Danh sách kiểm tra để triển khai an toàn

Xác minh phiên bản

  • Xác nhận bạn đang chạy Claude Code 2.1.221 hoặc mới hơn. Chuỗi phiên bản trong terminal là phương pháp đáng tin cậy duy nhất; các tệp package lock có thể gây nhầm lẫn.

Sử dụng token dùng một lần

  • Đừng bao giờ thử nghiệm với thông tin xác thực GitHub hoặc đám mây chính của bạn. Hãy tạo một token có thời hạn ngắn trỏ đến một điểm cuối (endpoint) "canary" vô hại và thu hồi nó ngay lập tức nếu có điều gì đó không ổn.

Chọn chế độ che giấu phù hợp

Chế độ Khi nào nên dùng
File Deny Chặn cứng; mọi nỗ lực đọc đều thất bại.
Whole-File Mask Tệp chứa một thông tin bí mật duy nhất (ví dụ: một API key dạng văn bản thuần túy).
Structured Mask Tệp trộn lẫn thông tin bí mật với các dữ liệu khác (JSON, YAML, .netrc). Sử dụng chế độ extract và một regex bắt được thông tin bí mật trong nhóm 1 (group 1). Điều này giúp giữ cho cú pháp xung quanh hợp lệ đối với chương trình khách.

Thiết lập các quy tắc lỗi nghiêm ngặt

  • Đặt onExtractNoMatch thành error. Nếu regex không khớp, sandbox sẽ dừng lại. Nếu để mặc định là warn, tệp gốc có thể bị lọt qua mà không được chú ý.

Bật TLS termination

  • Proxy phải kết thúc TLS để thực hiện việc hoán đổi. Nếu không có TLS termination, proxy không thể thấy nội dung yêu cầu (payload) và việc thay thế sẽ không bao giờ diễn ra.

Thu hẹp phạm vi host

  • Điền injectHosts với các hostname cụ thể từ allowedDomains của bạn. Tránh sử dụng các ký tự đại diện như *.example.com; các mẫu rộng sẽ làm tăng bề mặt tấn công và làm mất đi mục đích của việc che giấu.

Xác minh kết quả

  • Quét nhật ký (logs), các đối số của tiến trình và thông báo lỗi để tìm bất kỳ sự xuất hiện nào của token thật. Giá trị sentinel phải là giá trị duy nhất xuất hiện trong các tạo tác (artefacts) đó.

Những giới hạn bạn cần lưu ý

Việc che giấu chỉ bảo vệ token duy nhất khỏi góc nhìn hệ thống tệp của lệnh trong sandbox. Nó không ngăn lệnh thực hiện các cuộc gọi mạng tùy ý, cũng như không bảo vệ chống lại các công cụ tích hợp sẵn của Claude vốn có thể có quyền truy cập đặc quyền.

Tóm lại

Tính năng che giấu thông tin xác thực của Claude Code 2.1.221 mang lại cho các nhà phát triển Linux và WSL2 một cách thực tế để giữ các bí mật nằm ngoài các tiến trình sandbox.