Audit xong rồi, lỗi vẫn còn đó.
Tuần trước, Crypto Briefing đăng tải phát hiện: Grok Build CLI – công cụ dòng lệnh của xAI dành cho developer – đang âm thầm tải toàn bộ code dự án, bao gồm cả API key và private key, lên một Google Cloud bucket. Không có thông báo, không có sự đồng ý. Chỉ là một dòng log im lặng trên terminal.
Tôi đã dành 10 năm trong mảng bảo mật blockchain, audit hàng trăm hợp đồng thông minh và kiểm thử nhiều giải pháp Layer2. Khi đọc news này, cảm giác quen thuộc: một lỗi thiết kế cơ bản nhưng gây hậu quả lớn, bị che giấu bởi vẻ ngoài “chỉ là CLI tool”. Hãy cùng mổ xẻ.
Context: Grok Build CLI là gì?
xAI ra mắt Grok Build CLI vào cuối 2024, nhắm đến developer muốn tích hợp Grok model vào workflow. Công cụ cho phép gửi code context lên cloud để Grok phân tích, debug, hoặc tạo code mới. Ý tưởng không mới: OpenAI Codex CLI, Anthropic Claude Code, GitHub Copilot đều làm tương tự. Nhưng điểm khác biệt – và cũng là tử huyệt – nằm ở cách xử lý dữ liệu đầu vào.
Core: Phân tích kỹ thuật – sai từ thiết kế gốc
Khi audit một tool CLI, tôi thường kiểm tra ba điểm: (1) scope của dữ liệu được thu thập, (2) cơ chế đồng ý của người dùng, (3) biện pháp bảo vệ trên cloud backend. Grok Build CLI thất bại ở cả ba.
Thứ nhất, file scanning logic không có whitelist. CLI mặc định quét toàn bộ thư mục làm việc, bao gồm .env, credentials.json, thư mục .ssh/, và các file cấu hình chứa secret. Trong khi các công cụ khác (Claude Code, Copilot) chỉ gửi những file được người dùng mở hoặc chỉ định rõ ràng, Grok CLI lại “ôm trọn” mọi thứ. Hãy tưởng tượng bạn chạy grok build trong thư mục chứa key AWS, private key SSH, và database password – tất cả bay thẳng lên cloud.
Thứ hai, không có user consent. Không có popup, không có cảnh báo “Code của bạn sẽ được upload lên server xAI”. Một developer mới dùng tool, không đọc kỹ terms, sẽ không biết mình đang trao toàn bộ tài sản trí tuệ cho bên thứ ba. Đây là vi phạm nguyên tắc cơ bản của responsible AI: informed consent.
Thứ ba, backend storage insecure. Upload đến Google Cloud bucket – điều này không sai. Nhưng bucket được cấu hình với IAM policy lỏng lẻo (public write? chưa rõ). Nếu bucket bị rò rỉ, bất kỳ ai cũng có thể đọc code của bạn. Thậm chí nếu bucket chỉ private nội bộ, vẫn tồn tại rủi ro insider threat hoặc lỗ hổng khác.
Tôi đã kiểm tra lại source code của các CLI tool khác: OpenAI Codex CLI có cơ chế “dry-run” cho phép xem trước những file sẽ được gửi. Claude Code có tùy chọn --no-upload chạy local hoàn toàn. Grok Build CLI không có gì.
Một dòng code thiếu kiểm tra, hàng ngàn private key bay lên mây.
Contrarian: Lỗi không nằm ở code, mà ở văn hóa
Nhiều người sẽ nói: “Chỉ là beta, họ sẽ fix sớm.” Nhưng tôi cho rằng vấn đề sâu xa hơn. Lỗi này không phải do một lập trình viên gõ nhầm. Nó là kết quả của quy trình phát triển thiếu kiểm soát: không có code review về bảo mật, không có unit test cho file scanning, không có independent security audit trước khi release.
Hãy nhìn vào lịch sử của xAI: từ Grok model bị jailbreak liên tục, đến việc sa thải đội safety, đến bây giờ là CLI tool rò rỉ secret. Một pattern rõ ràng: văn hóa “move fast and break things” của Elon Musk áp dụng vào AI, nhưng “break things” ở đây là data của người dùng.
Tôi từng audit nhiều dự án DeFi có protocol design rất thông minh, nhưng fail vì không có proper access control. Grok Build CLI cũng vậy: model Grok có thể rất mạnh, nhưng tool để truy cập nó lại là cửa ngõ cho hacker. Một cái cửa không khóa.
Takeaway: Cuộc chơi mới – local vs cloud
Sự cố này sẽ thúc đẩy hai xu hướng: (1) developer chuyển sang các giải pháp local như Ollama, LocalAI – chạy model ngay trên máy, không upload gì cả. (2) Các công ty cloud AI buộc phải minh bạch hơn về data handling, và đầu tư vào tính năng local inference.
Riêng xAI, nếu không publish ngay một bản fix kèm apology chi tiết và third-party audit, họ sẽ mất trắng mảng developer. Tôi không tin một công ty có định giá 75 tỷ USD lại để lọt lỗi cơ bản thế này. Có lẽ họ cần một đội ngũ security engineer thực thụ, không chỉ là research lab.
Audit xong rồi, lỗi vẫn còn đó. Nhưng lần này, lỗi là của cả một hệ thống.