Dữ liệu mà xAI Grok Build CLI gửi về xAI: phân tích ở cấp độ đường truyền
(gist.github.com/cereblab)- Kết quả tự capture lưu lượng mạng của
grok 0.2.93cho thấy Grok Build đã gửi các tệp đã đọc mà không che giấu, lưu chúng dưới dạngsession_state, và cả các giá trị bí mật trong.envdùng để thử nghiệm cũng được đưa nguyên dạng vào cả hai đường dẫn - Tách biệt với việc yêu cầu mô hình gửi các tệp mà agent đã đọc, toàn bộ repository chứa mọi tệp trace và lịch sử Git đã được upload dưới dạng git bundle; ngay cả tệp được chỉ định là không được mở cũng được khôi phục nguyên văn
- Trong repository gồm các tệp ngẫu nhiên 12GB, tổng dung lượng yêu cầu
/v1/responseslà 192KB, nhưng lượng truyền qua/v1/storageđạt 5.10GiB tại thời điểm dừng capture, chênh khoảng 27.800 lần; mọi yêu cầu lưu trữ đều trả về HTTP 200 - Đích upload là bucket
grok-code-session-tracestrên Google Cloud Storage; ngay cả khi tắt “Improve the model”,trace_upload_enabled: truevàupload_enabled: truevẫn được giữ nguyên, và việc upload toàn bộ repository vẫn tiếp tục - Thử nghiệm chứng minh việc truyền, chấp nhận và lưu trữ dữ liệu, nhưng không xác nhận được liệu dữ liệu có được dùng để huấn luyện mô hình hay không; các tệp
.gitignorevà mọi tổ hợp tài khoản/cấu hình cũng chưa được thử nghiệm, nên kết quả chỉ giới hạn ở một phiên bản cụ thể vào tháng 7 năm 2026
Đối tượng thử nghiệm và phạm vi phân tích
- Đối tượng là Grok Build CLI chính thức của xAI, đăng nhập bằng tài khoản người dùng phổ thông
- Đường dẫn cài đặt là
~/.grok/bin/grok - Xác thực bằng tài khoản X hoặc SuperGrok trong trình duyệt, không dùng API key
- Binary thử nghiệm là
grok 0.2.93 (f00f96316d4b)cho Apple Silicon - SHA-256 là
2a97ba675bd992aa9b981e2e83776460d94f469b510c0b8efe28b50d236d767c
- Đường dẫn cài đặt là
- Từ chuỗi trong binary đã xác nhận có thành phần upload Rust riêng và các hằng số liên quan đến lưu trữ
crates/codegen/xai-data-collector/src/gcs.rsstorage_client.rs,queue.rs,file_access_tracker.rs,circuit_breaker_observer.rsxai-grok-shell/src/upload/{gcs,turn,trace,manifest}.rsgrok-code-session-traces,storage.googleapis.com,Uploading bytes to GCS via proxy
- Mọi capture chỉ nhắm vào máy tính và lưu lượng của người thực hiện thử nghiệm; repository chứa chuỗi canary duy nhất thay cho thông tin xác thực thật
Cách tái hiện và capture lưu lượng
- Trên macOS Apple Silicon, thêm CA của
mitmproxyvào login keychain dưới dạng chứng chỉ tin cậy, rồi đặtHTTPS_PROXYvàSSL_CERT_FILEđể capture các yêu cầu HTTPS của Grok - Với cấu hình này, Grok không chặn capture bằng certificate pinning
- Dùng addon
mitmdumpđể ghi lại method, host, path, trạng thái phản hồi và kích thước byte của yêu cầu theo từng request, đồng thời lưu body của các request hướng tới host xAI - Sao chép
~/.grok/upload_queue/*khi chương trình đang chạy, rồi giải nén bằnggzipvàtarđể kiểm tra cả artifact staging đang chờ truyền - Mỗi tệp được chèn marker duy nhất để phân biệt nguồn gốc; tệp bí mật dùng các giá trị giả sau
API_KEY=CANARY7F3A9-SECRET-should-not-leaveDB_PASSWORD=CANARY7F3A9-DBPASS
Kênh A: truyền tệp đã đọc và .env trong yêu cầu mô hình
- Nội dung tệp mà Grok đã đọc được serialize vào body lượt mô hình của
POST cli-chat-proxy.grok.com/v1/responses- Request 48.070 byte được capture chứa
"model":"grok-4.5"và mảng message - Canary
API_KEYvàDB_PASSWORDtrong.envđược tìm thấy nguyên dạng, gồm cả xuống dòng - Có thể khôi phục 6 marker trong body request, bao gồm source, logic, README, tệp JavaScript lồng nhau và hai giá trị bí mật
- Request 48.070 byte được capture chứa
- Cùng nội dung đó cũng được đưa vào archive
session_statevà upload bằngPOST /v1/storage; yêu cầu lưu trữ này được chấp nhận với HTTP 200- Khi giải nén archive nén để kiểm tra, cả hai giá trị bí mật và các marker tệp khác đều được tìm thấy
- Giá trị bí mật không chỉ được mô hình xử lý tạm thời mà còn được ghi vào archive dùng để lưu trữ
- Với prompt đối chứng
Reply exactly OK, do not read any files, marker củauntouched_secret.txtchưa được mở không xuất hiện trong body/v1/responses- Điều này chỉ chứng minh phạm vi rằng kênh yêu cầu mô hình chủ yếu được cấu thành từ các tệp mà agent thực sự đã đọc
- Vì kênh snapshot toàn bộ repository riêng biệt vẫn bao gồm cả tệp chưa đọc, kết quả đối chứng này không phủ nhận việc upload toàn bộ repository
- Giá trị bí mật nằm trong
.envhoặcsecrets.env, và là các tệp được Git theo dõi- Chưa thử riêng việc các tệp nằm trong
.gitignorecó bị upload hay không - Canary không phải token entropy cao thực tế, nên không chứng minh được rằng hoàn toàn không có cơ chế che giấu riêng cho các dạng cụ thể như
sk-… - Phạm vi đã xác nhận là nội dung
.envđược thử nghiệm đã được truyền đi mà không bị che giấu
- Chưa thử riêng việc các tệp nằm trong
Kênh B: upload toàn bộ repository, bao gồm cả tệp chưa đọc
/v1/storageđã upload snapshot toàn bộ workspace tách biệt với/v1/responses, vốn gửi các tệp mô hình đã đọc- Thử chạy trong repository
cereblab_apithực tế sau khi chỉ thịReply with exactly: OK. Do not read or open any files.- Grok gửi git bundle 152.102 byte qua
POST /v1/storagevà máy chủ trả về HTTP 200 - Khi
git clonetệpuploaded_repo.bundleđã capture, tệpsrc/_probe/never_read_canary.txtvốn được chỉ định không được mở đã được khôi phục - Marker
CANARY-XR47P2-NEVERREAD-UNIQUEtrong tệp cũng còn nguyên văn - Bundle chứa 4 commit, 47 tệp và toàn bộ lịch sử Git
- Grok gửi git bundle 152.102 byte qua
- Kết quả tương tự được tái hiện ở repository độc lập thứ hai
cereblab_auth- Git bundle 31.743 byte được upload qua
POST /v1/storagevà trả về HTTP 200 - Trong repository được khôi phục, marker
CANARY-AUTH-4T8K2-NEVERREADcủa tệp chưa đọc vẫn được xác nhận nguyên vẹn
- Git bundle 31.743 byte được upload qua
- Trong một lần chạy riêng với
cereblab_apiquy mô 298 tệp, manifest được staging liệt kê cả những tệp chưa đọcsrc/_probe/never_read_canary.txtđược ghi cùng với source thực nhưsrc/apns.tsvàsrc/index.tsfileIdtheo từng tệp trongmetadata.jsoncó dạnggs://grok-code-session-traces/repo_changes_dedup/v2/supplemental/sha256_…- Lần chạy này bị chặn bởi quota nên chưa hoàn tất truyền content blob, nhưng các thử nghiệm git bundle riêng và thử nghiệm 12GB đã xác nhận upload thực tế
- Binary cũng chứa các chuỗi như
after_codebase.tar.gz,repo_state.upload,collecting workspace files,spawning background coordinator, khớp với cơ chế thu thập workspace
Truyền nhiều GiB xác nhận trong repository 12GB
- Quan sát hành vi upload bằng cách tăng kích thước repository với các tệp ngẫu nhiên hầu như không nén được
- Ở 64MB, một
POST /v1/storageđơn lẻ khoảng 48MB trả về HTTP 200 nhưng log không được giữ lại - Ở khoảng 600MB, hàng chục chunk khoảng 7,5MB đều trả về HTTP 200 nhưng không còn log
- Ở khoảng 3GB, sau khi khởi tạo multipart, quan sát thấy các PUT 50MB tới
storage.googleapis.com, nhưng log PUT trực tiếp không được giữ lại - Ở khoảng 12GB, các chunk khoảng 75MB tiếp tục được gửi tới
/v1/storage, và capture bị dừng ở mốc 5.10GiB
- Ở 64MB, một
wire_12gb.logđược giữ lại có tổng cộng 83 phản hồi HTTP 200 cho/v1/storage*- 82 request
POST /v1/storageupload nội dung - Trong đó có 73 chunk khoảng 75MB
- Tổng của 73 chunk là
5,476,083,317B, tức 5.10GiB hoặc 5.48GB - Bao gồm thêm 9 POST nhỏ và 1 lần kiểm tra trùng lặp
/v1/storage/batch_exists - Tổng byte của các request
/v1/storage*là5,476,228,005B, không có yêu cầu lưu trữ nào thất bại
- 82 request
- Vì capture bị dừng khi upload vẫn đang tiếp diễn, điều này không chứng minh toàn bộ 12GB đã upload xong
- Bản ghi cuối cùng cũng là HTTP 200 cho một chunk khoảng 75MB
- Phạm vi được chứng minh là hơn 5.10GiB đã được truyền không lỗi và vẫn đang tăng tại thời điểm dừng
- Có chênh lệch dung lượng lớn giữa hai kênh trong cùng phiên
/v1/responsesgồm 5 request cộng lại là196,705B, khoảng 192KB; request lớn nhất cũng chỉ 60.394B/v1/storagelà 5.10GiB- Chênh khoảng 27.800 lần, cho thấy một lượng lớn dữ liệu repository không nằm trong yêu cầu mô hình đã được chuyển qua kênh lưu trữ riêng
- Lỗi quota mô hình và upload lưu trữ xảy ra độc lập
/v1/responsesphát sinh HTTP 402 một lần và 429 ba lần- Một request bookkeeping phiên có lỗi 404 không liên quan
- Sau lỗi 429 đầu tiên,
/v1/storagevẫn tiếp tục có 76 phản hồi HTTP 200 - Cả 82 request lưu trữ đều thành công, và trong phạm vi thử nghiệm không xảy ra lỗi giới hạn dung lượng lưu trữ
- Kết quả này không phụ thuộc vào hiện tượng hàng đợi
upload_queuecục bộ bị làm trống- Hàng đợi có thể bị làm trống cả khi upload thành công lẫn khi bị loại bỏ, nên không được dùng làm bằng chứng
- Căn cứ là capture body request thực sự đi ra mạng và nhận HTTP 200, cùng với kết quả khôi phục tệp từ git bundle đã upload
Vị trí lưu trữ và telemetry
- Đích lưu trữ được xác nhận không phải AWS S3 mà là bucket
grok-code-session-tracestrên Google Cloud Storage- Binary chứa
grok-code-session-traces,storage.googleapis.com,Uploading bytes to GCS via proxy - Đích tệp trong
metadata.jsonđược giữ lại ghi làgs://grok-code-session-traces/… - Trong thử nghiệm khoảng 3GB, cũng quan sát thấy multipart PUT trực tiếp tới host GCS đó nhưng log không được giữ lại
- Dù binary có chứa
aws-sdk-s3, đích được xác nhận trong thử nghiệm là GCS
- Binary chứa
- Cũng xác nhận có request telemetry của bên thứ ba và của chính dịch vụ
api.mixpanel.com/trackvà/engagecủa Mixpanelgrok.com/_data/v1/events- Các request này đều trả về HTTP 200
- Trong script cài đặt CLI và tài liệu quickstart đã xem xét, không tìm thấy việc upload
repo_state,session_state,~/.grok/upload_queue,grok-code-session-traces- Chưa khảo sát toàn bộ tài liệu và trợ giúp của xAI, nên không thể kết luận là không được ghi tài liệu ở đâu cả
- Phạm vi có thể xác nhận là không được thể hiện trong tài liệu cấu hình của chính CLI
~/.grok/upload_queuecó thể staging snapshot khoảng 3GB trong một lượt và có thể tăng tới hàng chục GB khi tải cao, làm cạn dung lượng đĩa- Đây là vấn đề độ tin cậy tách biệt với vấn đề quyền riêng tư của upload
Thiết lập “Improve the model” và phạm vi chính sách
- Bản thân việc cloud coding agent gửi ngữ cảnh mã cần thiết cho tác vụ lên máy chủ là hành vi cần thiết
- Hành vi được xác nhận trong thử nghiệm được chia thành ba điểm sau
- Truyền các tệp bí mật như
.envmà không che giấu - Lưu nội dung đó vào bucket GCS đã nêu
- Upload toàn bộ repository được bật mặc định mà không được thể hiện trong tài liệu cấu hình CLI đã xem xét
- Truyền các tệp bí mật như
- Chính sách dành cho người dùng của xAI đề cập rộng đến việc sử dụng dữ liệu để cải thiện mô hình và opt-out; Private Chat tự động opt-out, và opt-out không có hiệu lực hồi tố
- Tài liệu liên quan là xAI Privacy Policy và Consumer ToS
- Các chính sách huấn luyện chung như vậy không tương đương với việc ghi tài liệu pipeline upload
repo_statevà GCS cụ thể
-
Tắt “Improve the model” không dừng upload
- Ngay cả khi tắt thiết lập này, toàn bộ repository vẫn được upload lên
/v1/storagedưới dạng git bundle và trả về HTTP 200 - Có thể dùng
git cloneđể khôi phục tệp chưa đọc và lịch sử Git /v1/settingsmà CLI nhận vẫn giữ"trace_upload_enabled": true,"upload_enabled": true,"session_registry_enabled": true- Giới hạn mỗi tệp 1GiB cũng được trả về dưới dạng
"max_upload_file_bytes": 1073741824 - Theo kết quả thử nghiệm, opt-out kiểm soát việc có dùng cho huấn luyện hay không, nhưng không chặn hành vi repository rời khỏi máy tính để được upload và lưu trữ
- Ngay cả khi tắt thiết lập này, toàn bộ repository vẫn được upload lên
Những điều chưa được chứng minh và giới hạn của bằng chứng
- Chỉ bằng capture mạng thì không thể chứng minh xAI sử dụng dữ liệu để huấn luyện mô hình
- Phạm vi xác nhận là việc truyền, chấp nhận HTTP 200, archive dùng để lưu trữ và đích GCS
- Log PUT trực tiếp tới
storage.googleapis.com/grok-code-session-tracesquan sát trong lần chạy 3GB đã bị ghi đè và không được giữ lại- Căn cứ cho upload nhiều GiB là log
/v1/storagecủa lần chạy 12GB được giữ lại, cùng với binary và metadata nêu rõ bucket
- Căn cứ cho upload nhiều GiB là log
- Trong các thử nghiệm theo kích thước, log 64MB, 600MB và 3GB không còn, chỉ log 12GB được giữ lại
- Lần chạy 12GB bị dừng ở khoảng 5.10GiB, nên không thể kết luận toàn bộ 12GB sẽ được upload đến cuối
- Chưa thử mọi cấp tài khoản và tổ hợp cấu hình
- Ở gói miễn phí, upload nhiều GiB đã thành công
- Trên SuperGrok, upload git bundle vẫn thành công ngay cả khi tắt “Improve the model”
- Trong thử nghiệm không tìm thấy thiết lập tắt upload, nhưng không khẳng định rằng không thể vô hiệu hóa tuyệt đối trong mọi môi trường
- Ban đầu đã phán đoán sai rằng blob dung lượng lớn không được upload dựa trên kết quả
nettoptheo PID, nhưng nhận định đó đã được rút lại- Tiến trình điều phối upload riêng và PUT được ký sẵn đi trực tiếp tới IP Google có thể bị bỏ sót khi đo theo host API hoặc một PID đơn lẻ
- Capture wire qua proxy sau đó thay thế nhận định ban đầu
- Kết quả giới hạn trong môi trường
grok 0.2.93, macOS Apple Silicon, tháng 7 năm 2026; xAI có thể thay đổi hành vi về sau
Bằng chứng chính được giữ lại
secrets_responses_body.bin: cho thấy nguyên văn.envđược đưa vào body/v1/responsessecrets_session_state.tar.gz: cho thấy cùng các giá trị bí mật nằm trong archive dành cho/v1/storagewire_12gb.log: ghi lại upload lưu trữ 5.10GiB, 83 phản hồi HTTP 200 cho/v1/storage*, 0 lỗi lưu trữ và chênh lệch dung lượng khoảng 27.800 lần giữa hai kênhmodel_limit.txt: ghi lại 1 lần 402 và 3 lần 429 phát sinh trong request mô hìnhcrate_strings.txt: lưu các chuỗixai-data-collector,grok-code-session-traces,storage.googleapis.comuploaded_repo.bundle: bằng chứng repository đầu tiên cho thấy tệp chưa đọc và toàn bộ lịch sử Git được khôi phục từ git bundle đã uploaduploaded_repo_auth.bundle: bằng chứng tái hiện cùng kết quả ở repository độc lập thứ haistaged_base_tree_manifest.json: cho thấy các tệp chưa đọc được liệt kê trong manifest snapshot repositorystaged_metadata.json: cho thấy đích tệp làgs://grok-code-session-traces/…gcs_puts.txtlà placeholder rỗng vì không giữ lại được PUT trực tiếp tới GCS, và không thể dùng làm bằng chứng lưu giữ cho PUT đó
1 bình luận
Ý kiến trên Hacker News
Luôn tách riêng công cụ lập trình và nhà cung cấp LLM, đồng thời giới hạn quyền của công cụ lập trình bằng sandbox bubblewrap
Công cụ chỉ có thể đọc thư mục dự án đang làm việc,
.gitở chế độ chỉ đọc, còn các thư mục nhạy cảm được mount thành thư mục trốngCũng cô lập network namespace để chỉ cho phép truy cập Internet thông qua HTTP proxy trên Unix socket, chỉ cho phép host của nhà cung cấp LLM cụ thể và chặn host của chính công cụ
Ví dụ, với Crush thì cho phép truy cập
*.openrouter.ainhưng chặn*.charm.landvốn được dùng để tự động cập nhật danh sách LLM. Nhờ vậy thấy yên tâm hơn nhiều khi giao mọi việc trong chế độyolodebian:unstabletừ Docker Hub rồi dựng thành môi trường phân phối hoàn chỉnh trong một thư mục riêngCài AI agent vào đó, sau đó đặt rootfs của bản phân phối ở chế độ chỉ đọc, còn
/home/usertùy chỉnh ở chế độ đọc-ghi, rồi viết script chạybwrap. Như vậy các tệp quan trọng ngoài những thư mục đã chỉ định sẽ không hiển thị, và cũng có thể chạy nhiều agent mà chúng không nhìn thấy nhauMuốn siết chặt hơn nữa thì có thể gọi
runsc ... do ...của gVisor ở bên trong hoặc dùng trình giám sát máy ảo như muvm.bwraplo phần cấu hình môi trường, còn khóa lại bằng một công cụ sandbox riêng nên đáng tin cậyNếu cấu hình đúng thì chỉ riêng
bwrapcũng đủ để chặn phần lớn kẻ tấn công; để leo thang đặc quyền thì thực tế có lẽ phải dùng zero-day của nhân LinuxNếu mô hình ngu ngốc đến mức phải dùng ràng buộc để ngăn nó làm chuyện dại dột thì ngay từ đầu có lẽ đã không đáng dùng. Tôi cũng đang tự tăng cường môi trường của mình, nên không phải đang chỉ trích thông lệ này
Các trình chạy agent lập trình native độc quyền như claude-code, Codex, grok-build là rủi ro về quyền riêng tư vì không biết bản cập nhật tiếp theo sẽ bổ sung tính năng kín nào
Dùng mô hình qua API trong opencode an toàn hơn nhiều, nhưng phải chấp nhận đánh đổi là khó đạt hiệu năng tốt như trình chạy native
Cách của Grok chỉ lộ liễu hơn; opencode cũng không tạo ra ranh giới bảo mật thực sự, khá giống meme dùng Cheetos làm ổ khóa
Đương nhiên việc không vá ngay các lỗ hổng thực thi mã từ xa kiểu Windows XP SP1 cũng nguy hiểm, nhưng trong vài chục năm qua tôi đã thấy thiệt hại do cập nhật tự động gây ra còn nhiều hơn thiệt hại có thể xuất phát từ việc không cập nhật
Việc “tải lên toàn bộ kho mã, bao gồm mọi nội dung tệp đang được theo dõi và toàn bộ lịch sử Git, bất kể agent có đọc các tệp đó hay không” thực sự rất sốc
Cũng phần nào đoán được Elon có thể làm chuyện như vậy để đuổi kịp, nhưng vẫn cực kỳ đáng lo. Giá có tính cạnh tranh và hiệu năng của grok-4.5 cũng đủ tốt, nhưng chính vì lý do này mà tôi đã không chọn nó
CLI có thể vô tình lấy cả SSH key hay thông tin nhạy cảm khác, và lập trình viên thực sự rất hay mắc những lỗi như vậy. Tôi không muốn giao sự an toàn cho việc “tải lên mọi tệp có thể truy cập” là cố ý hay vô tình
Mục đầu tiên, “mô hình đã đọc một tệp chứa bí mật trong kho mã”, về thực chất là hành vi có chủ đích
LLM không thể biết trong tệp có bí mật hay không trước khi đọc nó. Vấn đề gốc rễ là cấp cho LLM quyền truy cập các tệp chứa bí mật dạng văn bản thuần rồi lại ngạc nhiên khi nó đọc chúng
Tuy nhiên, việc tự động tải lên toàn bộ kho mã thì vô lý. Nếu là kho mã cỡ nhiều GB thì trên một số đường truyền sẽ mất rất lâu, và nếu không có mục đích khác là gom toàn bộ dữ liệu thì nhìn chung cũng chẳng có mấy ý nghĩa
Tôi vốn luôn giả định rằng không gian làm việc hiện tại nơi đang chạy agent ít nhất là thứ agent có thể tự do xử lý, nên điều này có vẻ như hành vi đã được dự liệu
Phần lớn agent đều đọc mã và cả bí mật trong đó ngay từ prompt đầu tiên. Nếu việc này được tận dụng ở phía máy chủ để giảm độ trễ vòng lặp prompt và số lần gọi công cụ thì có khi lại có lợi cho người dùng?
Nhưng ở đây lại phát hiện một endpoint riêng để đẩy toàn bộ thư mục dự án lên bucket lưu trữ GCP. Ai từng thiết kế hệ thống phân tán quy mô lớn đều sẽ nhận ra đây là cấu trúc nhằm cào dữ liệu huấn luyện
Không cần tải lên toàn bộ tệp; có thể tìm kiếm để lấy đúng phần liên quan rồi gửi cho mô hình sử dụng
Sẽ tốt hơn nếu phần tổng quan do con người viết, nhưng bản thân nội dung thì đáng bất an
Báo cáo do AI viết quá khó đọc, tôi chỉ lướt khoảng 10 giây là mất hứng
Tò mò không biết thứ bị lấy cắp có được đưa vào dự án Macrohard “tự động hóa mọi doanh nghiệp” hay “everything app” không
Có cảm giác như họ nghĩ chẳng cần tự xây mọi thứ, cứ ăn cắp là được
Nếu điều hành kiểu công ty như vậy mà không có đạo đức, thì khi quy mô lừa đảo bị lộ và trước khi bị quản lý chặn lại, họ sẽ cố ăn cắp càng nhiều càng tốt. Không phải tôi nói họ đang thực sự làm thế, nhưng động cơ kinh tế thì được căn chỉnh chính xác theo hướng đó
Cần xem như AI agent có thể đọc các tệp trong thư mục nơi trình chạy được khởi động
Trong hầu hết trường hợp, ngay từ prompt đầu tiên nó sẽ đọc cả mã nguồn lẫn thông tin bí mật bên trong, và
.envchỉ dành cho môi trường cục bộ nên không được chứa bí mật thực sự. Không thể tin cậy chỉ thị dành cho AI agent, nên phải cô lập nó khỏi bí mật thậtNếu chấp nhận tiền đề đó, thì có thể lưu mã trên máy chủ còn hơn là gửi nó làm context mỗi lần
Lý do duy nhất để tải riêng như vậy, theo tôi, là Musk muốn thu thập dữ liệu huấn luyện sạch như cấu trúc dự án, thư viện phổ biến, quy trình CI cho mô hình tiếp theo
Mọi nhà cung cấp đều có đủ khả năng và động cơ để làm điều tương tự nếu điều đó giúp cải thiện kết quả
Khác biệt thực sự là nó gửi cả các tệp bí mật như
.envmà không che đi, rồi không chỉ xử lý tạm thời mà còn lưu vào một bucket GCS có tên cụ thể, đồng thời bật mặc định mà không thông báo cách tải lên trong tài liệu cấu hình CLIKhông nên để
.envkhông mã hóa ở đường dẫn có thể truy cập. Sẽ tốt hơn nếu Grok nhận diện và bỏ qua bí mật, nhưng người dùng không nên dựa vào hành vi như vậyViệc toàn bộ kho mã được tải lên y hệt dù bật hay tắt cài đặt “Improve the model” là cực kỳ nghiêm trọng
Phần lớn công ty AI khác cũng có thể làm điều tương tự trong trình chạy riêng nếu người dùng đồng ý thu thập dữ liệu, nhưng đã tắt rõ ràng mà vẫn tải lên thì là hành vi ác ý
Khi tải toàn bộ codebase lên, mô hình có thể xem mã trong lúc “suy nghĩ” mà không cần yêu cầu client thực hiện các lệnh gọi công cụ thực tế
Không rõ việc phải yêu cầu lại về client có nhược điểm gì nên đây không phải lý do quá thuyết phục, nhưng là lời biện minh hợp lý nhất tôi có thể nghĩ ra
Mã vốn là riêng tư nay trở thành mã của họ
Khá hữu ích, nhưng không hữu ích đến mức giao cả kho mã cho Elon. Việc họ khiến người dùng không thể từ chối và hoàn toàn không công khai điều đó càng củng cố kết luận rằng không nên giao dữ liệu này cho họ