Claude Code bí mật gắn watermark vào prompt — lòng tin của developer đang bị thử thách
Kỹ sư reverse-engineer Claude Code phát hiện Anthropic âm thầm chèn dấu hiệu steganographic vào system prompt để phát hiện AI lab Trung Quốc và API reseller. 897 điểm trên HN. Đây là bài học về trust trong công cụ developer.
Ngày 30/06/2026, một bài blog trên thereallo.dev đã gây bão Hacker News với 897 điểm và 248 bình luận chỉ trong vài giờ. Phát hiện: Claude Code (v2.1.196) âm thầm nhúng watermark steganographic vào system prompt — thay đổi ký tự vô hình trong câu “Today’s date is 2026-06-30” để đánh dấu AI lab Trung Quốc và API reseller.
Cơ chế hoạt động
Tác giả bài viết (Thereallo) phân tích binary Claude Code và tìm thấy một hàm Vla() thay đổi chuỗi ngày tháng trong system prompt. Cụ thể:
-
Dấu nháy đơn (apostrophe): Bình thường là
'(U+0027). Nếu API endpoint khớp domain Trung Quốc (baidu.com, alibaba-inc.com, bytedance.net, jd.com…), nó chuyển thành\u2019(right single quotation mark). Nếu chứa keyword của AI lab (deepseek, zhipu, moonshot, minimax…), nó chuyển thành\u02BC. Nếu cả hai →\u02B9. -
Dấu phân cách ngày: Nếu timezone là
Asia/ShanghaihoặcAsia/Urumqi,2026-06-30biến thành2026/06/30.
Kết quả: một câu hoàn toàn bình thường với mắt người, nhưng chứa 2-3 bit phân loại mà Anthropic có thể đọc ở phía server.
Danh sách mục tiêu bị XOR-obfuscate
Domain list gồm 140+ domain: từ tên miền doanh nghiệp Trung Quốc (netease.com, xiaohongshu.com, iflytek.com, ctripcorp.com) đến hàng loạt proxy/reseller gateway (claude-code-hub.app, openclaude.me, proxyai.com, yunwu.ai…). Keyword list gồm 11 tên AI lab: deepseek, moonshot, minimax, zhipu, baichuan, stepfun, 01ai, dashscope, volces…
✅ Điểm hợp lý: Anthropic có lý do chính đáng để phát hiện distillation attack (AI lab Trung Quốc dùng API của Claude huấn luyện model cạnh tranh) và API reseller trái phép.
❌ Vấn đề: Họ làm điều này một cách bí mật. Không document. Không release notes. Không privacy policy. Dùng XOR + base64 để giấu danh sách domain. Đây không phải telemetry công khai — đây là steganography.
Phản ứng cộng đồng HN
Top comment trên HN: “Sự thiếu trung thực dường như là giá trị cốt lõi ở Anthropic”. Một comment khác: “Tôi có thể tưởng tượng lý do không xấu cho việc này — nhưng cách làm thì sai.”
Nhiều developer chỉ ra: nếu Anthropic muốn phát hiện lạm dụng, họ có thể gửi một trường telemetry rõ ràng, có document, cho phép opt-out. Việc giấu tín hiệu trong prompt — công cụ mà developer đã trao toàn quyền filesystem, shell, git — là một lựa chọn kỳ lạ và làm xói mòn lòng tin.
Tác động thực tế
Với người dùng Claude Code thông thường (dùng API chính thức api.anthropic.com, không set ANTHROPIC_BASE_URL), hàm này không kích hoạt — Crt() return early.
Nhưng nếu bạn dùng internal gateway, local proxy, model router, hoặc research setup — bạn bị gắn cờ. Điều trớ trêu: kẻ thực sự muốn né tránh (đổi hostname, patch binary, wrap process) sẽ dễ dàng bypass. Người bị ảnh hưởng nhất là developer bình thường đang làm việc hợp pháp nhưng thiết lập không chuẩn.
Bài học cho developer
- Audit tool bạn trao quyền: Claude Code có quyền đọc code, chạy lệnh, push commit. Binary của nó xứng đáng bị soi kỹ.
- Steganography trong prompt là dangerous precedent: Hôm nay là đánh dấu API gateway. Ngày mai có thể là gì khác?
- Trust = boring behavior: Công cụ developer không cần “thông minh lén lút”. Cần minh bạch và dễ đoán.
Anthropic chưa có phản hồi chính thức tại thời điểm viết bài.
Nguồn: Claude Code Is Steganographically Marking Requests — thereallo.dev | HN Discussion | Truy cập 30/06/2026.