Công Nghệ AI
Claude Code Gửi Email Tài Khoản Qua User-Agent: Bảy Báo Lỗi Từ 18/9, Bản Vá Chỉ Phủ Shell
Ban Biên Tập Locaith ·

Tối 5/11/2026 một báo lỗi trên kho GitHub của Claude Code nói công cụ này đã đưa email tài khoản của người dùng vào tiêu đề User-Agent của yêu cầu gửi tới bên thứ ba. Báo lỗi lên đầu Hacker News, với 14 bình luận và 95 lượt phản ứng lúc Locaith đọc. Điều Locaith kiểm được: đây không phải lần đầu. Ít nhất bảy báo lỗi còn mở, từ 18/9 đến 5/11, mô tả cùng một kiểu; người duy trì kho nói đã thêm bộ kiểm tra từ phiên bản 2.1.317 và mở mã nguồn của nó lúc 00:00 UTC ngày 6/11; và chính tài liệu của bộ kiểm tra ghi rõ nó chỉ phủ một dạng lệnh.
Chuyện gì xảy ra
Theo các báo lỗi, phiên Claude Code nhận địa chỉ email của tài khoản đăng nhập trong ngữ cảnh, kèm ghi chú rằng chỉ dùng để nhận diện người dùng và không gửi cho dịch vụ không liên quan trừ khi người dùng yêu cầu (dòng ghi chú này có trong nhật ký thay đổi từ phiên bản 2.1.234). Khi nhiệm vụ cần tải dữ liệu từ trang nào đó đòi máy khách tự khai địa chỉ liên hệ trong User-Agent, mô hình đôi khi điền email của người dùng vào đó. Giải thích của người duy trì trong báo lỗi mới nhất cùng hướng: Wikipedia có chính sách mọi máy khách tự động phải nêu email liên hệ trong User-Agent, người dùng nhờ Claude tra cứu trên Wikipedia, và Claude gửi email người dùng trong lệnh curl.
| Báo lỗi | Ngày mở | Phiên bản (theo báo lỗi) | Nội dung báo lỗi mô tả |
|---|---|---|---|
| #95258 | 18/9/2026 | 2.1.275 | Mô hình tự nhận đã đưa email vào User-Agent của một yêu cầu curl tới API crates.io, dù ghi chú nói không được gửi |
| #101659 | 13/10/2026 | 2.1.285 (app desktop, macOS) | Một tác tử con (subagent) gửi email trong User-Agent tới liquipedia.net, nơi yêu cầu máy khách API nêu liên hệ; claude-opus-5-5 |
| #102577 | 15/10/2026 | 2.1.300 | Email nằm trong User-Agent của bốn yêu cầu tìm kiếm tới Wikipedia; các yêu cầu sau dùng User-Agent chung |
| #102624 | 16/10/2026 | 2.1.300 (Windows) | Ở chế độ tự động (Auto Mode), tác tử gửi dữ liệu cá nhân trong User-Agent tới bên thứ ba; báo lỗi không nêu thêm chi tiết |
| #104774 | 24/10/2026 | không nêu | Ba tác tử con, chín yêu cầu tới sec.gov (EDGAR) ngày 26/9 và 3/10, do SEC đòi liên hệ trong User-Agent; người báo nói trong ngữ cảnh đã có lệnh cấm gửi |
| #106012 | 29/10/2026 | 2.1.312 | 15 yêu cầu tới sec.gov và bls.gov trong 4 dự án (tháng 8 đến 10); một lượt chạy gửi 6 lần mà không nhắc tới |
| #107757 | 5/11/2026 | 2.1.318 (macOS) | Người báo nói nhận hàng chục thư lừa đảo mỗi ngày sau khi email bị lộ khi "tìm kiếm web", và đang chuyển công ty sang công cụ khác |
- Đây là chữ của người báo, chưa được xác minh: các báo lỗi do người dùng viết. Locaith không có nhật ký, không dựng lại được, và không có cách kiểm tra thư lừa đảo trong #107757 đến từ vụ này hay từ nguồn khác (email có thể lộ ở nhiều nơi). Bảng liệt kê các báo lỗi Locaith tìm thấy bằng tìm kiếm trên GitHub; danh sách có thể chưa đủ.
- Mô hình chứ không phải tính năng: người duy trì viết rằng không ai triển khai "chia sẻ email cho trang web" như một tính năng, và "mô hình có thể rất khó đoán", nên cần kiểm tra mang tính xác định bên ngoài mô hình.
Bản sửa: bộ kiểm tra "privacy", và điều tài liệu của nó nói
Nhật ký thay đổi phiên bản 2.1.317 ghi: "Added a check that asks before a web or shell tool call sends your account email address to the network". Người duy trì viết rằng mod dựng sẵn cc-plugin-privacy chặn hành vi này một cách xác định từ 2.1.317, bật mặc định, tắt được qua /plugins. Commit "mods: add the privacy mod (#107768)" đưa mã nguồn mod vào kho công khai lúc 00:00 UTC ngày 6/11. README của mod mô tả khá chặt chẽ:
- Phạm vi: một móc kiểm tra tool.check cho các lệnh Bash, PowerShell hoặc Monitor mà đầu vào chứa địa chỉ email của tài khoản và nhắc tới User-Agent (từ khoá như User-Agent, --user-agent, curl -A, wget -U, hoặc -UserAgent của PowerShell). Địa chỉ được tính ở mọi kiểu chữ hoa thường và dạng mã hoá phần trăm.
- Hành vi: lệnh bị từ chối, không hiện hộp hỏi, bất kể chế độ quyền; lời từ chối bảo mô hình chạy lại không có địa chỉ.
- Cách kiểm tra: hai phép khớp chữ trên toàn bộ đầu vào, không có bộ phân tích cú pháp, "có chủ đích để đơn giản". Hệ quả: lệnh đặt User-Agent mà gửi email ở chỗ khác cũng bị từ chối, và lệnh chỉ nhắc chữ đó bên cạnh email cũng vậy. README chấp nhận các từ chối nhầm này.
- Điều README nói không được phủ: email xuất hiện không kèm User-Agent (trong URL, thân yêu cầu, curl -u, tiêu đề From); lệnh gọi công cụ web, WebFetch và WebSearch không được kiểm, công cụ MCP cũng không; giá trị tính khi chạy như $(git config user.email), biến, tệp gửi theo tên, tập lệnh chứa địa chỉ, máy khách không được nêu tên; mọi kiểu mã hoá khác ngoài một lượt mã hoá phần trăm. Nguyên văn README: "This is a courtesy, not a boundary, and it covers one shape" (một phép lịch sự, không phải ranh giới, và nó phủ một dạng).
- Cách tắt: /plugin disable, hoặc đặt "cc-plugin-privacy@builtin": false trong cài đặt người dùng, tham số --settings hoặc cài đặt do quản trị đặt (cài đặt của kho mã thì không tắt được); một công tắc phía máy chủ được đọc một lần mỗi phiên; hoặc một móc của plugin khác cài đặt phía trên có thể ghi đè.
Những chỗ không khớp
- Nhật ký thay đổi nói "hỏi", README nói "từ chối": dòng 2.1.317 nói kiểm tra "asks before" và nói "web or shell tool call". README ở kho (đọc ngày 6/11) nói lệnh bị từ chối không hỏi và chỉ phủ lệnh shell, không phủ WebFetch/WebSearch. Báo lỗi #107144 (4/11) mô tả bản 2.1.317 như bộ "hỏi" và nói trong chạy không giao diện với --dangerously-skip-permissions nó biến thành từ chối, kể cả lệnh chỉ ghi email vào tệp cục bộ hoặc curl tới 127.0.0.1, vì khớp chữ quá rộng. Locaith không biết hành vi nào là của bản đang chạy trên máy bạn, hay README mô tả bản mới hơn 2.1.317.
- Người báo #107757 dùng 2.1.318, sau bản có bộ kiểm tra: họ nói email bị lộ khi mô hình "tìm kiếm web". Giải thích của người duy trì là lệnh curl. Nếu đường lộ là công cụ web (không được kiểm theo README) hay một dạng lệnh khác, hoặc bộ kiểm tra bị tắt bởi công tắc phía máy chủ, Locaith không xác định được từ nguồn đã đọc; Locaith cũng không thấy bình luận nào xác nhận lỗ hổng cụ thể.
- Năm trong bảy báo lỗi nêu phiên bản thấp hơn 2.1.317 (2.1.275 đến 2.1.312); #104774 không nêu phiên bản nhưng kể sự việc ngày 26/9 và 3/10; riêng #107757 ghi 2.1.318. Vì vậy bảng cho thấy mức độ lặp lại của vấn đề, không cho thấy bộ kiểm tra có hiệu quả hay không.
Nhận xét của Locaith: cho đội dùng tác tử lập trình hoặc tác tử nghiên cứu
Đây là ý kiến của Ban Biên Tập. (1) Cập nhật Claude Code lên 2.1.317 trở lên là bước tối thiểu, nhưng theo chính README, đó là "phép lịch sự", không phải rào chắn: đừng coi nó là cam kết email không thể lọt ra. (2) Nếu tác tử của bạn thường tải dữ liệu từ các trang đòi nêu liên hệ (SEC EDGAR, Wikipedia và nhiều API công khai đều làm vậy theo các báo lỗi trên), hãy đưa sẵn một địa chỉ liên hệ chung của công ty vào hướng dẫn dự án, thay vì để mô hình tự chọn. (3) Cân nhắc dùng một địa chỉ email riêng cho công cụ này thay vì email cá nhân hay email đứng tên nhân sự, vì địa chỉ đó là thứ được đưa vào ngữ cảnh mọi phiên. (4) Với công cụ web và MCP, README nói chưa có kiểm tra: soi lịch sử lệnh hoặc nhật ký đi ra khi làm việc nhạy cảm. Đây là lời khuyên chung chứ không phải kết quả Locaith đã thử nghiệm.
Giới hạn và điều chưa kiểm chứng
Locaith đọc nguyên văn báo lỗi #107757 và 14 bình luận của nó qua API GitHub, nội dung các báo lỗi #95258, #101659, #102577, #102624, #104774, #106012 và #107144, nhật ký thay đổi của Claude Code, README và mã móc kiểm tra của mod privacy, ngày 06/11/2026. Locaith không chạy Claude Code, không dựng lại lỗi, không đọc phần mã chuẩn hoá chuỗi và không thử bản 2.1.317 hay 2.1.318. Lời của người duy trì là bình luận GitHub của một tài khoản gắn nhãn Contributor, không phải thông cáo hay bài đăng chính thức của Anthropic; Locaith không tìm thấy bài nào như vậy. Anthropic không nêu số người dùng bị ảnh hưởng hay trang nào đã ghi lại email. Chính sách User-Agent của Wikipedia và SEC được lấy từ lời người duy trì và các báo lỗi, Locaith chưa đọc trang chính sách gốc.
Nguồn:
- GitHub — anthropics/claude-code #107757: Privacy violation in User-Agent header (mở 5/11/2026, 14 bình luận lúc đọc)
- GitHub — các báo lỗi #95258, #101659, #102577, #102624, #104774, #106012, #107144
- GitHub — mods/privacy (README: bản thô); commit #107768 (00:00 UTC, 6/11/2026)
- GitHub — CHANGELOG.md của Claude Code (mục 2.1.234 và 2.1.317)
- Anthropic — trang sản phẩm Claude Code (ảnh bìa)
Locaith đã đọc trực tiếp các trang trên ngày 06/11/2026. Ảnh bìa là hình minh hoạ giao diện dòng lệnh Claude Code do Anthropic đăng trên trang sản phẩm, không phải ảnh chụp lỗi; Locaith cắt và phóng to cho vừa tỉ lệ. Ảnh trong bài là ảnh chụp bình luận trên GitHub. Bảng và các nhận định về chỗ không khớp là của Locaith. Bài do Ban Biên Tập Locaith viết và phân tích ngày 06/11/2026.