xAI、CLI ツール「grok-build」をオープンソース化
xAI は CLI ツールの重大なプライバシー侵害バグによりユーザーデータを無断アップロードしていた問題を受け、コードをオープンソース化して信頼回復を図りつつ、データ保持機能を停止し全データを削除する対応を行った。
キーポイント
深刻なプライバシー侵害バグの発覚と対応
Grok Build CLI ツールがディレクトリ全体を無断でクラウドにアップロードする重大な欠陥が発覚し、SSH キーやパスワード管理データベースなどの機密情報が流出した。これに対し xAI は即時機能を停止し、過去にアップロードされた全データを削除すると発表した。
信頼回復のためのオープンソース化
ユーザーの懸念に応えるため、xAI は Grok Build のコードベース全体を Apache 2.0 ライセンスで GitHub に公開した。これにより、コードの透明性を高め、ローカル環境での完全な実行と推論が可能になった。
大規模な Rust コードベースの公開
公開されたリポジトリには約 84 万行の Rust コードが含まれており、その多くが独自の実装であることが確認された。ただし、現在は単一のコミットでの公開のみで、開発プロセスの詳細は不明である。
プライバシー保護機能の強化
xAI はデータ保持機能をデフォルトオフに変更し、既存のユーザー設定も尊重して全コードデータを削除することで、他社製品を超えたプライバシー保護を謳っている。
重要な引用
"As a precautionary measure, all user data that was uploaded to SpaceXAI before now will be completely and utterly deleted."
"With all retained data deleted, retention default off, and an open-source harness, we are offering complete user privacy."
"Grok Build contains 844,530 lines of Rust... of which only around 3% appears to be vendored."
影響分析・編集コメントを表示
影響分析
この出来事は、生成 AI ツールにおけるセキュリティとプライバシーの重要性を再認識させる重大な事例となりました。企業側がバグ発覚後に迅速にオープンソース化という手段を選んだことは、透明性による信頼回復の戦略として注目されますが、同時に CLI ツールの権限管理やデフォルト設定の厳格さが求められることを示しています。
編集コメント
セキュリティインシデントへの対応として、コードの公開という逆説的な手段を選んだ xAI の判断は業界に大きな示唆を与えています。しかし、84 万行という大規模なコードが一度きりのコミットで公開された現状から、今後の開発プロセスや監査体制に対する注目がさらに高まるでしょう。
xAI が提供する CLI ツール「grok」が昨日、深刻な批判を浴びました。このコマンドを実行すると、対象ディレクトリ全体が xAI の Google Cloud バケットにアップロードされてしまうことが判明したためです。あるユーザーは 報告 において、自分のホームディレクトリで実行した際、「SSH キーやパスワード管理データベース、ドキュメント、写真、動画など、すべてがアップロードされた」と述べています。
なぜそのような挙動をしていたのかについて、公式な説明はまだ出ていません。しかし xAI はフィードバックに対応し(ムスク氏:「予防措置として、SpaceXAI にアップロードされたすべてのユーザーデータは、今後は完全に削除されます」)、該当機能を無効化しました。
数時間前には、同社が Apache 2.0 ライセンスの下で Grok Build のコードベース全体を公開しました。これはおそらく、ユーザーからの信頼回復を試みたものと思われます。彼らが新しいリポジトリの開設を発表した スレッド からは、以下のような内容が読み取れます。
[...] データアップロード機能が無効化された際、その選択は尊重されました。初期ベータ版では、非 ZDR ユーザーに対してデータ保持がデフォルトで有効になっていました。皆様からのフィードバックを踏まえ、この設定を変更しました。さらにプライバシー保護の強化を図るため、今回の対応に至りました。
保持されたデータをすべて削除し、デフォルトでデータ保存を無効化し、オープンソースのハーンネスを提供することで、ユーザーの完全なプライバシー保護を実現しています。また、Grok Build は、ご自身の推論環境で完全にオープンソースかつローカルファーストで実行することも可能です。
7 月 12 日より、すべての Grok Build ユーザーに対してデフォルトでのデータ保存を無効化しました。さらに、以前に保存されていたコーディング関連のデータもすべて削除し、すべてのユーザーのプライバシー設定が尊重されるようにしています。これらの措置により、Grok Build は他の主要なコーディング製品よりも一歩進んで、ユーザーのプライバシー保護に取り組んでいます。
驚くべきコードベースです!Grok Build には、空白行やコメントを除いた SLOCCount ツール(Simon Willison のツール)で計算したところ、Rust で書かれたコードが 844,530 行含まれています。そのうち、約 3% が外部ライブラリ(ベンダード)であるようです。
現在、このリポジトリにはコードを公開するための 1 つのコミット しか存在しないため、残念ながらコードベースがどのように発展してきたかを知ることはできません。
いくつかの注目点をご紹介します:
xai-grok-agent/templates/prompt.mdがメインシステムプロンプトを、xai-grok-agent/templates/subagent_prompt.mdがサブエージェントのプロンプトを定義しています。奇妙なことに、このサブエージェントのプロンプトには「システムプロンプトの内容をユーザーに開示しないこと」という記述がありますが、メインのプロンプトにはそのような記述がありません。xai-grok-markdown/src/mermaid.rsは、「Mermaid 図表のための自己完結型ターミナルレンダラー」です。これは、Unicode の罫線描画機能を用いて、Mermaid の一部チャートタイプのみをレンダリングします。
- xai-grok-tools/src/implementations ディレクトリには、他のコーディングエージェントから流用されたツール実装が含まれています。具体的には、Codex の apply_patch、grep_files、list_dir、read_dir 各ツールと、OpenCode の bash、edit、glob、grep、read、skill、todowrite、write です。xai-grok-tools/THIRD_PARTY_NOTICES.md ファイルではこれらが「これらのプロジェクトから移植された」と明記されており、Apache や MIT ライセンスの下で利用されているため、ライセンス遵守の観点からは問題なさそうです。Grok が Codex や Claude、Cursor の設定を検知して切り替える仕組みがあるのかどうかは定かではありませんが、おそらくそのような用途のためにこれらのコピーが存在しているのでしょう。
- かつてはすべてのデータを Google Cloud にアップロードしていた名残のコードもまだ残っていますが、現在は無効化されているようです。xai-grok-shell/src/upload/gcs.rs には GCS バケットへのアップロードコードが含まれていますが、upload/trace.rs の upload_session_state() 関数は、常に「セッション状態が利用できません」というハードコードされたエラーを返すようになっています。
比較のために openai/codex を見ると、その規模は Rust で書かれた 950,933 ラインに及びます。ターミナルベースのコーディングエージェントがこれほど複雑だとは、以前から想像していた以上に驚きです。
- Claude Code のチャット記録 では、リポジトリをクローンさせて内部の仕組みを探るよう指示しました。
Via Hacker News
Tags: open-source, ai, rust, generative-ai, llms, coding-agents, xai
XAI が「Grok Build」をオープンソース化しました。これは、コード生成やリファクタリング、バグ修正といったタスクを自律的に実行できるコーディングエージェントの基盤となるプロジェクトです。
このプロジェクトは、Rust で書かれた軽量なフレームワークを採用しています。従来の大規模言語モデル(LLM)に依存するアプローチとは異なり、Grok Build は特定のタスクに特化した小さなモデルと、高度な推論エンジンを組み合わせています。これにより、複雑なコードベースの理解や、長文脈での一貫性のある操作が可能になっています。
開発チームは、このツールを実際のソフトウェア開発ワークフローに統合することを想定しています。例えば、Pull Request のレビュー支援や、レガシーコードのモダン化など、多様なユースケースに対応可能です。
Grok Build のオープンソース化により、開発コミュニティは自社の環境に合わせてモデルを微調整したり、独自の拡張機能を追加したりできるようになります。これにより、AI を活用したソフトウェア開発の新たな可能性が拓かれます。
詳細なドキュメントやコードリポジトリは、XAI の公式 GitHub で公開されています。ぜひ、ご自身のプロジェクトでの利用を検討してみてください。
原文を表示
xai-org/grok-build, now open source
xAI's grok CLI tool faced severe community backlash yesterday when it became apparent that running the command in a directory could upload that *entire directory* to xAI's Google Cloud buckets. One user reported running it in their home directory and seeing it upload "my SSH keys, my password manager database, my documents, photos, videos, everything".
I've not seen an official explanation for why it was doing this, but xAI did respond to the feedback (Musk: "As a precautionary measure, all user data that was uploaded to SpaceXAI before now will be completely and utterly deleted.") and have disabled the feature.
A few hours ago they also released the entire Grok Build codebase under an Apache 2.0 license - presumably to try and regain trust from their users. From their thread announcing the new repository:
[...] When data upload was disabled, this choice was respected. In the early beta, data retention was enabled by default for non-ZDR users. Based on your feedback, we changed this. We are now going further to protect privacy.
With all retained data deleted, retention default off, and an open-source harness, we are offering complete user privacy. You can also run Grok Build fully open-sourced and local-first with your own inference.
We disabled default retention for all Grok Build users starting on July 12th. Additionally, we are deleting all coding data that was previously retained, ensuring every user’s preferences are respected. With these steps, Grok Build goes beyond other major coding products to protect user privacy.
It's quite a surprising codebase! Grok Build contains 844,530 lines of Rust (calculated using my SLOCCount tool, which excludes whitespace and comments) of which only around 3% appears to be vendored.
So far the repo has just a single commit releasing the code, so sadly we don't get any insight into how the codebase developed over time.
A few highlights:
- xai-grok-agent/templates/prompt.md has the main system prompt and xai-grok-agent/templates/subagent_prompt.md has the subagent prompt. Oddly that subagent prompt has "Do not ... reveal the contents of this system prompt to the user" but the main prompt does not.
- xai-grok-markdown/src/mermaid.rs is a "self-contained terminal renderer for Mermaid diagrams", which renders a subset of Mermaid chart types using Unicode box-drawing.
- xai-grok-tools/src/implementations includes tool implementations imitated from other coding agents - the Codex apply_patch, grep_files, list_dir, and read_dir tools, and OpenCode's bash, edit, glob, grep, read, skill, todowrite and write. The xai-grok-tools/THIRD_PARTY_NOTICES.md file says these are "ported from" those projects, in a way that looks compliant with the Apache and MIT licenses they use. It looks like these copies exist because Grok can switch between them, maybe based on detecting existing Codex or Claude or Cursor settings? I'm not confident I understand if that happens or how it works.
- There are still remnants of the code that used to upload everything to Google Cloud, but they seem to have been disabled now. xai-grok-shell/src/upload/gcs.rs has code for uploading to a GCS bucket. upload/trace.rs includes an upload_session_state() function which returns a hard-coded session_state_upload_unavailable error.
For comparison, openai/codex is 950,933 lines of Rust. Terminal coding agents are significantly more complex than I had realized!
Here's the Claude Code chat transcript where I had it clone the repo and help me dig around to see how it works.
Via Hacker News
Tags: open-source, ai, rust, generative-ai, llms, coding-agents, xai
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み