Codexに秘密を渡さない3つの境界

Codexに秘密を渡さない3つの境界

Codexに秘密を渡さない3つの境界

Codexに仕事を任せる範囲が広がるほど、気をつけたいのは「AIが賢いか」より「どこまで見えて、どこまで実行できるか」です。便利さを落とさずに事故を減らすには、秘密情報を隠すだけでなく、アクセス範囲、実行権限、公開前検査を別々に設計する必要があります。

先に結論

守るべき境界は次の3つです。

1. 入力の境界: 作業フォルダーへ秘密情報を置かない

2. 実行の境界: 書き込み先とネットワーク接続を必要最小限にする

3. 公開の境界: コミット前と公開前の2回、秘密情報らしい文字列を検査する

OpenAIは、Codexの安全運用でサンドボックスと承認を組み合わせ、書き込み範囲、ネットワーク、保護対象を技術的に制限する考え方を説明しています。GitHubも、漏えい後に警告するだけでなく、秘密情報を含むpush自体を止めるPush protectionを提供しています。

境界1: 作業フォルダーへ置かない

最初に分けるのは、Codexへ渡す指示ではなくファイル配置です。除外指示だけに頼ると、検索、ログ収集、バックアップ、添付操作の別経路から秘密情報が混ざる余地が残ります。

対象から外したい代表例は次のとおりです。

  • 本番用の環境変数ファイル
  • 秘密鍵、アプリパスワード、アクセストークン
  • 顧客情報や未公開の契約資料
  • 認証ヘッダーを含むデバッグログ
  • 管理画面や接続情報を含むスクリーンショット

設定例やテストデータが必要なら、実値を消したテンプレートを別に用意します。ファイル名だけを除外するより、「作業ルートに実値を置かない」ほうが確認しやすく、別のAIツールへ切り替えたときもルールを引き継げます。

境界2: 実行権限を狭くする

OpenAIの説明では、サンドボックスは書き込める場所やネットワーク到達先を決め、承認ポリシーは境界を越える操作を人が確認する役割を持ちます。この2つは代替関係ではありません。

実務では、次の順で権限を広げると判断しやすくなります。

1. 読み取りだけで調査する

2. 対象プロジェクト内だけ書き込みを許可する

3. 必要な検証コマンドだけ実行する

4. 外部送信や本番反映は内容を確認してから許可する

常にフルアクセスへ固定すると作業は速く見えますが、誤った対象を編集したときの影響範囲も広がります。日常作業は狭い境界で進め、公開やデプロイなど結果が外部へ出る操作だけを別の確認点にするほうが運用しやすいです。

境界3: 公開直前にも検査する

GitHubのPush protectionは、対応する秘密情報を検出すると、コマンドライン、Web UI、ファイルアップロード、REST APIなどからのpushを止めます。ただし、検出対象や条件には限界があるため、これだけで完全とは考えません。

ブログやnoteの自動化では、リポジトリの検査に加えて公開本文も確認します。

  • ドライブ名から始まるローカルパスがないか
  • 内部用URIや管理画面URLがないか
  • password、token、secretなどの語の周辺に実値がないか
  • 長いランダム文字列や認証ヘッダーがないか
  • 画像に端末、管理画面、個人情報が写っていないか

検出したら自動的に別経路で公開せず、outboxへ残して人が確認します。「失敗したら強い権限で再試行する」より、止まった理由を残す設計のほうが事故を追跡できます。

このブログ運用で実際に変えたこと

今回の見直しでは、記事生成から公開までを次のように分離しました。

  • 認証情報は記事原稿と同じ場所へ保存しない
  • WordPress本文は公開用HTMLへ変換してから、ローカルパスと内部URIを検査する
  • REST認証が使えない場合も、監査済みHTMLだけをWordPress公開経路へ渡す
  • noteは公式エディタだけを使い、公開操作と見出し画像を画面上で確認する
  • 公開後にHTTP 200、タイトル、出典URL、OGP画像を外部から再確認する

この分離で漏えいを完全に防げるとは言えませんが、「AIへ渡す前」「実行するとき」「外へ出す前」のどこで止めるかが明確になります。

10分でできる確認

まずは次の5項目だけでも確認できます。

1. 作業フォルダー内に本番用認証情報がないか

2. Codexの書き込み先が必要なフォルダーだけか

3. ネットワーク接続が必要な処理だけ許可されているか

4. GitHubのSecret scanningやPush protectionを利用できるか

5. 公開本文と画像を外部表示で再確認しているか

自動化を増やす前に境界を決めると、あとからツールや投稿先が増えても同じ基準で判断できます。

関連記事

出典

1. Running Codex safely at OpenAI / OpenAI

2. Introducing the Codex app / OpenAI

3. Push protection / GitHub Docs