Codexの機密file除外論争、ignore fileだけでは足りない権限境界
Original: A way to exclude sensitive files issue still open for OpenAI Codex View original →
OpenAI Codex issue #2847は一見すると単純なfeature requestだが、coding agentのsecurity問題の中心に触れている。提案はrepo-localな.codexignoreやglobal ignore fileにより、agentが読んだりmodelへ送ったりしてはいけないpathを明示する仕組みだ。.env、.env.*、*.pem、id_*、.aws/**、.ssh/**などが例として挙がっている。issueは2025年8月に開かれ、2026年6月28日時点でもopenのまま更新が続いている。
表面上は見慣れたignore fileの話に見える。ただしHNの議論はすぐに「listを作れば十分か」という問題へ進んだ。agentがshellを実行できるなら、read_file toolだけを止めても足りない。rgやgrepの結果にsecretが混ざることもあり、build logやtest output経由で機密文字列がmodel contextに入る可能性もある。
そのためコメントではUnix permission、container、devcontainer、低リスクworkspaceへのcopyといった低いlayerの隔離が繰り返し挙げられた。Codex processがそもそも機密fileを読めない状態にすべきだ、という考え方だ。別の見方では、coding agentを信頼しない人間が別accountでSSHしているものとして扱うべきだという話になる。ignore fileはUXやteam policyには効くが、それ自体をsecurity boundaryにするのは難しい。
issue本文も二つのuse caseを分けている。一つは機密dataがmodelへ送られるのを防ぐこと。もう一つは大きいfileや無関係なfileを除外してagent作業を効率化することだ。両者は似ているが、失敗時の重さが違う。効率化用のignoreは多少漏れても不便で済むが、secret保護用のignoreは一つの迂回経路でも致命的になり得る。
coding agentが実際の開発環境に入るほど、「modelに何を見せるか」はpromptではなくruntime boundaryの問題になる。ignore fileは必要なUXかもしれない。ただし機密file保護を本当に約束するには、filesystem permission、sandbox mount、container境界、credential proxyと組み合わせる必要がある。この議論の価値は、agent securityの責任層をはっきりさせた点にある。
Related Articles
HNはCodexをfeature一覧ではなくpermission問題として読んだ。desktop agent、non-developer workflow、sensitive file、そしてAIにcomputer操作をどこまで任せるのかが議論の中心だった。
Claude CodeやCoworkが実作業の権限を持つほど、リスク管理は説得文ではなく実行環境の制御に寄る。Anthropicは、Claude Codeの権限プロンプトが約93%承認されていたと明かした。
ChatGPT Enterpriseの管理者は、ChatGPTとCodexのAI credit消費をユーザー、製品、モデル別に確認できるようになった。ワークスペース、グループ、個人ごとの上限設定も追加された。