LLM Frontline
開発・エージェント

OpenAIがCodex Security CLIをオープンソース公開|AIで脆弱性を見つけて直す

ミナト開発・API担当
・ 約8分で読めます
OpenAIがCodex Security CLIをオープンソース公開|AIで脆弱性を見つけて直す

OpenAIが、コードの脆弱性を見つけて検証し、修正まで支援するCLIとTypeScript SDK「Codex Security」をオープンソースで公開しました。ライセンスはApache-2.0で、リポジトリは2026年7月中旬に公開されています。静的解析ツールのようにパターンで引っかけるのではなく、コーディングエージェントの仕組みを使って文脈から判断する点が特徴です。この記事では、実際に何ができるのか、動かすための前提は何かを、業務目線で整理します。

何が公開されたか

公開されたのは、コードのセキュリティ上の問題を見つけ、検証し、修正を支援するためのCLIとTypeScript SDKです。GitHubの公式リポジトリ(openai/codex-security)でApache-2.0ライセンスとして公開されており、npmパッケージ@openai/codex-securityとして配布されています。

OpenAI自身が「静かにリリースしたところ、告知前にHacker Newsで見つかった」と述べているとおり、大々的な発表を伴わない公開でした。位置づけとしては早期リリースで、フィードバックを受けながら改善している段階とされています。

使い始めるまで

前提となる環境は、Node.js 22以上、Python 3.10以上です。認証はChatGPTアカウントでのサインインか、OPENAI_API_KEY環境変数によるAPIキー認証を選べます。

# ChatGPTアカウントでサインイン
npx codex-security login

# カレントディレクトリのリポジトリをスキャン
npx codex-security scan .

対話的なスキャンでは、サインインとAPIキーの両方が使える場合にどちらを使うか尋ねられます。CIのような非対話環境ではAPIキーが優先されます。認証方法を明示したい場合は--auth chatgpt--auth api-keyを付けます。

TypeScript SDKからも同じ処理を呼び出せます。

import { CodexSecurity } from "@openai/codex-security";

const security = new CodexSecurity();
const result = await security.run(".");
console.log(result.reportPath);

できること

  1. 1

    リポジトリ全体のスキャン

    対象のパスを指定して脆弱性を検出します。複数のパスを指定して、サービス単位でスキャンすることもできます。
  2. 2

    差分・作業ツリーのレビュー

    --diff origin/mainのようにブランチ間の差分だけをレビューできます。作業ツリーの変更を対象にする指定もあり、プルリクエスト前の確認に向きます。
  3. 3

    検出結果の書き出し

    結果はレポート(Markdown)のほか、findings.jsonresults.sarifといった構造化データとして書き出せます。SARIF形式に対応しているため、既存のセキュリティツールやGitHubの表示と連携させやすい形です。
  4. 4

    スキャン履歴の管理

    保存したスキャンの一覧表示、詳細確認、同じ設定での再実行、スキャン同士の比較ができます。修正後に再スキャンして、指摘が解消されたかを追えます。

スキャンの深さやコストを制御するオプションもあります。より広範囲にレビューするモードの指定や、アーキテクチャや脅威モデルの情報を渡して精度を高める指定、そして費用の上限をドル単位で設けるオプションが用意されています。実行前に確認するドライラン指定もあります。

メモ

出力されるアーティファクトは、人が読むレポートに加えて、検出結果(重大度・位置・根拠)、カバレッジ(何をレビューし、何を除外したか)、スキャンの対象範囲を記録したマニフェストに分かれています。「どこを見ていないか」が記録される点は、レビューの限界を把握するうえで実務的です。

CIに組み込む

CIで動かす場合は、OPENAI_API_KEYを環境変数に設定します。非対話環境ではAPIキーが優先されるため、認証で止まることなくスキャンが走ります。検出結果をSARIFで書き出せるので、プルリクエストのチェックに組み込む使い方が想定されています。

静的解析ツールは誤検知が多くて形骸化しがちです。文脈を読んで判断するタイプのツールは期待できますが、CIに入れる前に、自分たちのコードベースで検出の精度と実行コストを測っておくべきだと思います。
開発チームのリード

業務で使うときの注意点

まず、早期リリース段階である点です。公式にも「early release」と明記されており、仕様やコマンドは変わりうると考えておくのが安全です。また、利用にはCodex Securityへのアクセス権が必要とされており、環境によってはすぐに使えない可能性があります。

そして、AIによるスキャンは万能ではありません。検出されたものが本当に問題か(誤検知でないか)、逆に見落としがないかは、人のレビューで確かめる前提が要ります。出力にカバレッジ情報が含まれるのは、まさにこの「何を見ていないか」を意識させる設計だと読めます。コード生成AIとの付き合い方と同じで、レビューを省かない姿勢が前提になります。

あわせて読みたい

コード生成AIとの付き合い方|レビュー前提で品質を保つ使い方

注意

スキャン対象のコードは、認証したアカウント経由でモデルの処理に渡ります。機密性の高いコードベースを扱う場合は、データの取り扱い条件を確認したうえで、社内規程に照らして判断してください。実行コストも利用量に応じて発生するため、上限オプションの活用と、対象範囲の絞り込みを検討することをおすすめします。

この記事は公開時点(2026年7月末)のリポジトリと公式ドキュメントに基づく整理です。早期リリース段階のため、コマンド・オプション・提供条件は変更される可能性があります。導入時は必ず公式ドキュメントで最新の仕様を確認してください。

よくある質問

無料で使えますか
ツール自体はApache-2.0のオープンソースとして公開されています。ただし実行にはChatGPTアカウントまたはOpenAI APIキーによる認証が必要で、スキャンの実行に応じた利用料が発生します。費用の上限を指定するオプションが用意されています。
既存の静的解析ツールを置き換えられますか
置き換えというより補完と捉えるのが現実的です。パターンマッチ中心の従来ツールとは検出の性質が異なります。早期リリース段階でもあるため、まず既存の仕組みと並走させ、検出内容を比較してから判断することをおすすめします。
プルリクエストのレビューに使えますか
ブランチ間の差分を対象にするオプションがあり、変更部分だけをレビューできます。結果をSARIF形式で書き出せるため、CIのチェックとして組み込む使い方が想定されています。
検出結果はそのまま信用してよいですか
人によるレビューを前提にしてください。AIによる判断のため、誤検知も見落としもあり得ます。出力にはカバレッジ情報(何をレビューし何を除外したか)が含まれるので、確認範囲の限界も併せて把握するとよいです。
すぐに誰でも使えますか
利用にはCodex Securityへのアクセス権が必要とされており、環境によっては即座に使えない場合があります。またNode.js 22以上とPython 3.10以上が前提です。詳細は公式ドキュメントで確認してください。

まとめ

Codex Security CLIを試すときの確認事項

  • Node.js 22以上・Python 3.10以上の環境を用意した
  • 認証方法(ChatGPTアカウント/APIキー)と利用条件を確認した
  • まず小さなリポジトリや差分スキャンで検出精度を確かめた
  • 検出結果を人がレビューする前提の運用にした
  • スキャン対象コードのデータ取り扱い条件と、実行コストの上限を確認した

Codex Securityは、AIによるコードレビューをセキュリティの文脈に持ち込む試みです。差分レビューやSARIF出力、カバレッジの記録など、既存の開発フローに載せることを意識した設計になっています。一方で早期リリース段階であり、検出を鵜呑みにしない運用が欠かせません。まずは小さく試して、自分たちのコードベースでの精度とコストを測るところから始めるのが堅実です。

あわせて読みたい

プロンプトインジェクションとは|LLMアプリを狙う攻撃と実務でできる多層防御

出典・参考

この記事をシェア

関連する記事

開発・エージェント

AIにコードを書かせる時代のGit/GitHub書籍ガイド|差分を読む・分ける・戻す・自動で検査する4冊

コーディングエージェントに書かせる量が増えるほど、人間側のボトルネックはバージョン管理と自動チェックの運用に移ります。差分を読む・ブランチを分ける・壊れたら戻す・自動で検査するという4段階に対応する実在の日本語書籍4冊を、扱う範囲と扱っていない範囲つきで整理します。