10月1日、IBTimes SGが「OpenAI Codex Security Can Now Find, Test and Patch Bugs Across Your Code」と題した記事を公開した。3万以上のコードベース・3,000万件超のコミットを解析済みというOpenAI Codex Securityは、脆弱性の検出にとどまらず、「本当に悪用可能か」の検証とパッチ生成までを一貫して自動化する点で、従来のSAST(静的解析)やDAST(動的解析)ツールとは設計思想が異なる。
「見つけて終わり」から「直して終わり」へ
従来のAIセキュリティツールは、脆弱性の一覧を出力してエンジニアに手渡す段階で止まっていた。SAST(Static Application Security Testing)はソースコードを字句・構文レベルで解析して問題箇所を列挙し、DAST(Dynamic Application Security Testing)は動作中のアプリケーションに擬似攻撃を仕掛けてレスポンスを検査するが、いずれも「アラートを出してレビュアーに判断を委ねる」モデルを基本とする。OpenAIのCodex Securityはその先、「この脆弱性は本当に悪用可能か」「攻撃者は実際にそのコードに到達できるか」という問いに踏み込む。
具体的には次の3ステップを自動で実行する。
- 候補となる脆弱性の調査(リポジトリ構造を理解し、プロジェクト固有の脅威モデルを生成)
- 隔離環境での検証(実際に攻撃パスをトレースし、悪用可能かどうかを確認)
- パッチの生成(人間のレビューに付す修正案を作成)
OpenAIはこれを「セキュリティの発見から根拠のある修正提案へ」と表現している。単なるアラートキューをまた一つ増やすのではなく、修正まで担うのが設計上の目標だ。
「静的解析より難しい問題」を狙う
一般的な静的解析ツールはSQLインジェクションの疑いがある行を特定して終わる。だがCodex Securityが対象にするのは、「攻撃者が本当にその脆弱なコードに到達し、主張された影響を生み出せるか」という問いだ。
OpenAIは「最も深刻な脆弱性は、たいていデータフローの問題ではない」と説明している。これは、「どのデータが汚染されているか」を追うだけでは捉えきれない脆弱性が多いという意味だ。たとえば、認証ロジックの設計ミスや複数のコンポーネントにまたがる権限昇格のような問題は、単一ファイル内のデータフローを追跡するSASTでは検出が難しく、システム全体のコンテキストを理解した上での判断が必要になる。Codex Securityはそうした複合的・文脈依存的な問題を、コードベース全体を横断して解析することで扱おうとしている。
Codex Security Cloudの実績
元記事は2024年10月1日付の公開だが、本節で引用する数値はOpenAIが2025年8月に公開したアップデートレポートに基づいている。すなわち、本記事の時点から見た直近の公式数値として参照いただきたい。
そのアップデートによると、Codex Security Cloudは3万以上のコードベースにまたがる3,000万件以上のコミットを解析した。
- 自動的に「修正済み」と判定されたfindingは50万件以上
- 人間のレビュアーが手動で「修正済み」とマークしたfindingは7万件以上
また、OpenAI社内でのセキュリティスプリントでは、プロダクトエンジニアの約4分の1が積み残しの問題に取り組み、初日に53件のクリティカルな発見を修正したという(DevDayでの発表より)。
ただし、これらの数字は従来の静的解析やペネトレーションテスト、人手によるコードレビューとの比較ではない。OpenAIが自社報告している数値であることは留意が必要だ。
運用モード:クラウド監視とCLIの両輪
Codex SecurityはGitHubリポジトリと連携し、新しいコミットを継続的に監視するCodex Security Cloudとして動作する。開発者が手動でスキャンを起動するのを待たず、常時バックグラウンドで監視が走る形だ。
ローカル環境やCI/CDパイプラインに組み込みたい場合向けにはCodex Security CLIも提供されている。
また、Codex Security Cloud内ではDaybreak Blueと呼ばれるモードが利用可能だ。これは防御的セキュリティ作業(脆弱性の発見・検証・修正)に特化した動作設定であり、攻撃的な探索や無関係なタスクを排除した形でエージェントを制約するためのプロファイルとして位置付けられている。攻撃的なセキュリティ用途(ペネトレーションテストや脆弱性の能動的な悪用)とは区別される概念だ。
人間のレビュアーには何が残るか
AIがパッチを生成できるようになると、レビュアーの仕事は「修正された行を確認する」では足りなくなる。確認すべき点は次の3つだ。
- 攻撃パスが本当に閉じているか
- アプリケーションの意図した動作がパッチ後も維持されているか
- パッチが別の箇所に新たなセキュリティ問題を生んでいないか
OpenAIは「エージェントが生成したコードはすべて、統合・実行前に人間が手動でレビューと検証を行うことが依然として不可欠だ」と明示している。
問題はスループットだ。AIがfindingとパッチを人間が確認できるペースより速く生み出し続けると、人間の承認が「diffの流し見」になる誘惑が生まれる。「機械は脆弱性が修正された証拠を生成できる。だが、その証拠で十分かどうかを判断するのは人間だ」というのが記事の結論である。
詳細はOpenAI Codex Security Can Now Find, Test and Patch Bugs Across Your Codeを参照していただきたい。