OpenAIのコーディング支援機能「Codex」で、コマンドインジェクションの脆弱性が見つかった。悪用された場合、コンテナ環境内で任意のコードを実行し、GitHubの認証トークンを窃取できる可能性があったとする報告書が公開された。
米SiliconANGLEが30日(現地時間)に報じた。報告書を公表したのは、IAMセキュリティを手がけるBeyondTrust傘下のPhantom Labs。脆弱性は、Codexが作業環境を構築する際のブランチ名の取り扱いに起因するとしている。
Codexは、ChatGPTに組み込まれたコーディング支援機能だ。開発者がプロンプトでコード生成やレビュー、プルリクエスト作成などを指示すると、自動で関連タスクを実行する。処理は管理されたコンテナ環境で進められ、リポジトリをクローンしたうえで、短期間有効なGitHub OAuthトークンを使って認証する仕組みという。
報告書によると、問題はタスク生成時にブランチパラメータを細工できたことにある。環境設定段階で実行されるシェルコマンドに任意の命令を埋め込めるため、コンテナ内でコードを実行できたとしている。研究チームは検証の結果、リポジトリへのアクセスに使われたOAuthトークンを取得し、タスクの出力結果に表示させたり、外部に送信したりできたと説明した。
トークンが流出した場合、影響は単一のリポジトリにとどまらない可能性がある。報告書は、攻撃者がトークンを入手すればGitHub内部で横展開できる余地があると指摘。特にエンタープライズ環境で、Codexに複数のリポジトリやワークフローにまたがる広範な権限が与えられている場合、リスクは一段と高まるとしている。