Một sự cố liên quan đến công cụ hỗ trợ lập trình ZCode đang khiến cộng đồng phát triển phần mềm đặt câu hỏi về cách các trợ lý AI xử lý dữ liệu trên máy tính. Theo thông tin được công bố, công cụ của Z.ai đã tự động đưa tệp dự án lên máy chủ đám mây khi một tính năng được bật sẵn, trong khi người dùng không có tùy chọn rõ ràng để tắt.


Vấn đề không chỉ nằm ở việc một tệp được truyền đi mà còn ở phạm vi dữ liệu mà một dự án phần mềm có thể chứa. Bên trong thư mục mã nguồn thường có lịch sử thay đổi, cấu hình môi trường, thông tin kết nối cơ sở dữ liệu và nhiều thành phần chưa được chuẩn bị để chia sẻ ra bên ngoài.
ZCode âm thầm tạo dữ liệu để tải lên cloud
Sự việc được phát hiện vào ngày 18/9, khi một blogger công nghệ Trung Quốc có tên Ferstar kiểm tra các thư mục trên máy tính. Người này nhận thấy một tệp nén có dung lượng khoảng 313 MB đang chờ được tải lên dịch vụ đám mây của Alibaba.
Điểm bất thường là hệ thống đã thử truyền tệp này tới 564 lần nhưng không thành công, nhiều khả năng do dung lượng quá lớn. Trong khi đó, một tệp nhỏ hơn, khoảng 15 KB, lại được tải lên hoàn tất. Theo Ferstar, tệp dung lượng lớn chứa bản sao của một dự án thương mại đang được phát triển, bao gồm cả lịch sử thay đổi mã nguồn trên Git.
Những chi tiết này cho thấy hoạt động không đơn thuần là gửi một đoạn mã ngắn để AI phân tích. Nếu phát hiện trên phản ánh đúng cơ chế vận hành của ZCode, công cụ đã có khả năng quét và đóng gói dữ liệu trong phạm vi dự án trước khi truyền lên hạ tầng đám mây.
Codebase Indexing được bật mặc định
Z.ai, doanh nghiệp AI Trung Quốc còn được biết đến với tên Zhipu AI, cho biết nguyên nhân liên quan đến tính năng “Codebase Indexing”. Đây là cơ chế được thiết kế để công cụ lập chỉ mục cơ sở mã, từ đó có thể hiểu bối cảnh của dự án và đưa ra hỗ trợ phù hợp hơn khi lập trình.
Tuy nhiên, vấn đề nằm ở chỗ tính năng này được bật mặc định. Người dùng không được cung cấp một nút tắt rõ ràng trước khi dữ liệu được xử lý, khiến họ khó biết chính xác công cụ đang truy cập những thư mục nào, tạo ra loại tệp gì và gửi dữ liệu đến đâu.
Đối với một trợ lý AI viết mã, quyền truy cập rộng có thể giúp cải thiện khả năng trả lời. Công cụ có thêm bối cảnh để tìm lỗi, giải thích quan hệ giữa các mô-đun hoặc đề xuất thay đổi trên nhiều tệp. Nhưng đổi lại, ranh giới giữa “đọc để hỗ trợ” và “đưa dữ liệu ra khỏi thiết bị” phải được thông báo minh bạch và đặt dưới sự kiểm soát của người dùng.
Mã hóa không giải quyết toàn bộ lo ngại
Z.ai cho biết các tệp được mã hóa trong quá trình xử lý. Dù vậy, người dùng không thể tự mở dữ liệu để kiểm tra vì khóa giải mã nằm trên hệ thống máy chủ của công ty.
Cách triển khai này tạo ra một khoảng trống về khả năng xác minh. Ngay cả khi doanh nghiệp khẳng định các tệp đã được xóa, người sử dụng vẫn không có phương thức độc lập để kiểm tra dữ liệu từng được tải lên đã thực sự biến mất khỏi hệ thống hay chưa. Mã hóa giúp giảm nguy cơ dữ liệu bị đọc trái phép trong một số tình huống, nhưng không thay thế cho sự đồng ý, nhật ký truy cập và cơ chế xóa có thể kiểm chứng.
Rủi ro càng đáng chú ý khi dự án phần mềm không chỉ gồm các tệp mã nguồn. Một thư mục làm việc có thể chứa tệp cấu hình, khóa truy cập, thông tin đăng nhập thử nghiệm, dữ liệu khách hàng hoặc lịch sử commit. Không phải mọi thành phần trong số này đều dễ nhận biết bằng tên tệp, đặc biệt với người dùng chỉ cài công cụ AI để tăng tốc công việc.
Z.ai xin lỗi và thay đổi cách vận hành
Sau khi thông tin được chú ý, Z.ai cho biết đã vô hiệu hóa một số tính năng của ZCode, khắc phục vấn đề và xin lỗi người dùng. Công ty cũng cam kết mở mã nguồn ZCode để cộng đồng và các bên thứ ba có thể kiểm tra cách công cụ hoạt động.
Doanh nghiệp này đồng thời khẳng định dữ liệu được xóa ngay sau khi tải lên. Một đánh giá độc lập do một tổ chức tiêu chuẩn công nghệ thuộc Bộ Công nghiệp Trung Quốc phối hợp với công ty an ninh mạng NSFOCUS thực hiện được cho là đã xác nhận dữ liệu mã nguồn bị xóa và không được nền tảng cloud lưu giữ.
Z.ai sau đó cho biết đã triển khai cơ chế không lưu dữ liệu cho các công cụ hướng tới nhà phát triển và doanh nghiệp. Đây là bước cần thiết, nhưng hiệu quả thực tế còn phụ thuộc vào việc cơ chế này được bật ở cấp độ nào, có áp dụng mặc định hay không và người dùng có thể tự kiểm tra trạng thái ra sao.
Không chỉ một nhà phát triển nhìn thấy dữ liệu bị tải lên
Ferstar không phải người duy nhất cho biết đã phát hiện hoạt động tải tệp. Một số nhà phát triển khác cũng chia sẻ rằng dữ liệu dự án của họ xuất hiện trong quá trình truyền lên cloud.
Một doanh nghiệp Trung Quốc từng nói 6 dự án lập trình của mình bị tải lên, trong đó có mã nguồn, mật khẩu cơ sở dữ liệu và thông tin cá nhân của nhân viên. Tuy nhiên, doanh nghiệp này sau đó rút lại tuyên bố và cho biết bằng chứng ban đầu không chính xác. Chi tiết này cho thấy cần phân biệt rõ giữa những gì đã được kiểm chứng, phản ánh của người dùng và các cáo buộc chưa có bằng chứng đầy đủ.
Dù vậy, chỉ riêng việc một công cụ có thể tự động lập chỉ mục và tạo tệp dữ liệu từ dự án đã đủ để đặt ra câu hỏi về thiết kế quyền riêng tư. Với người dùng cá nhân, họ có thể không đọc kỹ chính sách hoặc không biết cách giám sát lưu lượng mạng. Với doanh nghiệp, một lần truyền nhầm mã nguồn cũng có thể ảnh hưởng đến bí mật thương mại và quy trình tuân thủ.
Bài học cho người dùng AI hỗ trợ lập trình
Sự cố của ZCode cho thấy việc đánh giá một công cụ AI không nên chỉ dựa trên khả năng sinh mã hoặc sửa lỗi. Quyền truy cập dữ liệu và cách công cụ giao tiếp với máy chủ cũng cần được xem xét ngay từ đầu.
- Kiểm tra quyền truy cập: Xác định công cụ được phép đọc thư mục nào, có tự động quét toàn bộ dự án hay chỉ xử lý tệp người dùng chọn.
- Không đặt thông tin nhạy cảm trong thư mục làm việc: Mật khẩu, khóa API, dữ liệu khách hàng và tệp cấu hình sản xuất cần được tách khỏi mã nguồn dùng để thử nghiệm với AI.
- Đọc chính sách lưu trữ: Cần biết dữ liệu có được dùng để huấn luyện, lưu tạm, mã hóa và xóa theo yêu cầu hay không.
- Theo dõi hoạt động mạng: Doanh nghiệp nên sử dụng nhật ký, tường lửa hoặc các biện pháp giám sát phù hợp để nhận diện việc truyền dữ liệu bất thường.
- Ưu tiên chế độ không lưu dữ liệu: Nếu công cụ cung cấp lựa chọn này, người dùng nên kiểm tra trạng thái trước khi mở dự án có tính bảo mật cao.
Những nguyên tắc này cũng phù hợp với người mới bắt đầu dùng AI trong học tập và công việc. Việc hiểu rõ dữ liệu nào được phép chia sẻ là yếu tố quan trọng, bên cạnh khả năng đặt câu hỏi cho công cụ.
Độc giả có thể tham khảo thêm cách sử dụng AI an toàn trong học tập, đặc biệt khi phải làm việc với tài liệu cá nhân hoặc dữ liệu của tổ chức.
Niềm tin là thách thức lớn nhất với công cụ AI coding
Một nhà phát triển AI tại Thượng Hải nhận định sự cố có thể ảnh hưởng đến niềm tin dành cho Z.ai nhiều hơn là chất lượng các mô hình của công ty. Một kỹ sư tại doanh nghiệp robot lớn ở Trung Quốc cũng cho biết công ty của mình đã cấm sử dụng công cụ Z.ai vì lo ngại bảo mật.
Trước ZCode, Claude Code của Anthropic và Grok Build của xAI cũng từng liên quan đến các sự cố tương tự trong năm nay, theo thông tin được đề cập. Điều đó cho thấy đây không phải vấn đề riêng của một nhà cung cấp. Khi AI ngày càng tham gia sâu vào quy trình phát triển phần mềm, việc trao cho công cụ quyền đọc mã nguồn sẽ trở thành một quyết định về an toàn thông tin, không chỉ là lựa chọn năng suất.
Việc Z.ai vô hiệu hóa tính năng, cam kết mở mã nguồn và triển khai cơ chế không lưu dữ liệu có thể giúp công ty khôi phục niềm tin. Tuy nhiên, người dùng vẫn cần được trao quyền kiểm soát rõ ràng ngay trước thời điểm dữ liệu được truy cập hoặc truyền đi. Một trợ lý lập trình hữu ích không chỉ cần viết mã tốt, mà còn phải cho người dùng biết nó đang đọc gì, gửi gì và lưu trữ trong bao lâu.
