OpenAI、Codex Securityをオープンソース化:脆弱性のスキャン、検証、修正方法

OpenAIは、Codex SecurityコマンドラインインターフェースとTypeScript SDKのソースコードを静かに公開しました。公開パッケージ@openai/codex-securityは、セキュリティを支援することを目的としています。

发布于 2026年8月6日generalGEO 评分: 06 次阅读
画像はOpenAI Codex Securityオープンソースガイドのカバーデザインです。背景は暗色で、左上にコードインターフェースのアイコン、右上に鍵付きの盾のアイコンがあります。中央に大きな文字で「Codex Security Open Source Guide」と表示され、その下に「CLI」「SDK」「Scans」「CI」「Limitations」が異なる色で表示されています。下部には、接続、チェックマーク、立方体、盾をそれぞれ表す4つのアイコンがあり、異なる機能を象徴しています。この画像は、ドキュメントにおけるCodex Security Open Source Guideの紹介に関連し、その中核となる内容と機能を示しています。

OpenAI がCodex Securityをオープンソース化:脆弱性のスキャン、検証、修正方法

はじめに

OpenAIは、Codex SecurityコマンドラインインターフェースとTypeScript SDKのソースコードを静かに公開しました。

この公開パッケージ@openai/codex-securityは、セキュリティチームとエンジニアリングチームが以下を行うのを支援することを目的としています:

  • コードベースをスキャンして脆弱性を発見する。
  • 妥当な発見結果を検証する。
  • コードをマージする前に変更をレビューする。
  • 複数回のスキャンにわたって発見結果を追跡する。
  • 誤検知をマークして記憶する。
  • 修正が元の問題を解決したかどうかを検証する。
  • 自動化のために構造化された結果をエクスポートする。
  • セキュリティレビューをCI/CDワークフローに統合する。
  • TypeScript SDKを通じてカスタムセキュリティツールを構築する。

このコードベースはApache License 2.0で公開されています。

これは、CLIとSDKのコードがオープンソースであることを意味します。しかし、これはCodex Securityサービス全体、その基盤となるモデル、保護された発見結果のすべて、または無制限のネットワークアクセスが、現在無料でオフラインで利用できるようになったという意味ではありません

スキャンを実行するには、依然としてCodex Securityへのアクセス権が必要です。OpenAIはまた、一部のリポジトリ全体のスキャン、保護された発見結果、および高度なサイバーセキュリティリクエストには、サイバーセキュリティのための信頼できるアクセス(Trusted Access for Cyber) の承認が必要になる場合があると述べています。

この違いは非常に重要です:

オープンソースのCLIとSDK
≠
オープンウェイトのセキュリティモデル
≠
制限のないクラウドスキャンアクセス

Codex SecurityはもともとAardvarkと呼ばれる内部プロジェクトでした。その後、研究プレビュー版のアプリケーションセキュリティエージェントとしてCodexに導入され、新しい公開パッケージにより、開発者はスキャナーをローカルターミナル、社内ツール、バッチコードベースアクティビティ、コミット前チェック、CIパイプラインに持ち込めるようになりました。

AardvarkからCodex Securityへ

OpenAIは2025年10月に、GPT-5を搭載したインテリジェントなセキュリティリサーチャーであるAardvarkを初めて発表しました。

この当初のシステムの設計目標は、従来のシグネチャスキャナーというよりも、人間のアプリケーションセキュリティリサーチャーのように動作することでした。

既知のパターンに基づいてコードをマッチングするだけでなく、Aardvarkは以下を行うことができました:

  • コードベースを読み取る。
  • システムがどのように機能するかのモデルを構築する。
  • 新しいコミットを検査する。
  • 悪用可能性について推論する。
  • テストを作成して実行する。
  • セキュリティツールを使用する。
  • 脆弱性を説明する。
  • 的を絞ったパッチ案を提案する。

2026年3月、OpenAIはAardvarkをCodex Securityに改名し、Codexに統合しました。

この製品は、Codex Webを通じて研究プレビュー版として一部のChatGPTプランユーザーに提供され、接続されたGitHubリポジトリをサポートしています。

その後のオープンソースリリースにより、さまざまなデプロイメントレイヤーが追加されました。

開発者は現在、CLIをインストールするかTypeScript SDKをインポートできますが、マネージド型のCodex Securityクラウド体験は独立して存在し続けています。

実際にオープンソース化されたもの

公開されているGitHubリポジトリには以下が含まれています:

  • Codex Security CLI。
  • TypeScript SDK。
  • DockerおよびDocker Composeリソース。
  • CI向けのコマンドと構造化出力のサポート。
  • スキャン履歴と発見結果の管理機能。
  • ドキュメントとコントリビューション用ファイル。

このパッケージはnpmを通じて以下として公開されています:

@openai/codex-security

このコードベースのApache-2.0ライセンスは、ライセンス条項の範囲内での使用、変更、再配布を一般的に許可しています。

オープンモデルとして含まれていないもの

今回のリリースでは、GPT-5.6 Sol、Terra、または専用のCodex Securityモデルのウェイトは提供されません。

デフォルトのスキャンは現在、以下を使用します:

gpt-5.6-sol
推論強度:xhigh

CLIは、認証されたアクセスを通じて推論サービスを呼び出します。

このリポジトリはまた、選択したモデルに対するプロバイダーオプション(OpenRouterやFireworksなど)を文書化していますが、Codex Securityのスキャンワークフローと保護されたネットワーク機能には、依然としてOpenAI側の承認が必要な場合があります。

オープンソース化はアクセス制御を解除しない

npmパッケージをインストールすることは、毎回のスキャンを実行する許可を得ることと同等ではありません。

OpenAIのドキュメントによると:

  • Codex Securityへのアクセス権が必要です。
  • 一部のリポジトリまたはリクエストには「ネットワーク信頼できるアクセス」が必要な場合があります。
  • ログインやAPIキーの設定によって、「信頼できるアクセス」が自動的に付与されるわけではありません。
  • セキュリティ上の発見結果には、機密性の高いソースコードの抜粋や悪用の詳細が含まれる場合があります。
  • ユーザーは、自分が所有するか、評価する権限のあるコードのみをスキャンする必要があります。

公開コードにより、ワークフローは検査可能で拡張可能になります。しかし、高度なネットワーク利用を取り巻くセキュリティと承認のレイヤーが取り除かれるわけではありません。

なぜ今回のリリースが重要なのか

AIコーディングエージェントがソフトウェアを生成・変更する速度は、多くの組織がレビューできる速度を超える可能性があります。

これにより、セキュリティのボトルネックが発生します。

製品がアイデアからデプロイされたアプリケーションになるまでに数日または数時間しかかからない可能性がある一方で、従来のアプリケーションセキュリティレビューは依然として以下に依存している可能性があります:

  • 手動の脅威モデリング。
  • 静的解析の設定。
  • ペネトレーションテスト。
  • 依存関係のレビュー。
  • 人間によるトリアージ。
  • リリースのスケジューリング。
  • セキュリティチームの可用性。

問題は、開発者に脆弱性レポートが不足していることだけではありません。

多くのメンテナーは、すでに過剰なレポートを受け取っています。以下が含まれます:

  • 重複した発見。
  • 影響の少ない警告。
  • 誤った深刻度評価。
  • 到達不能なコードパス。
  • 証拠のない発見。
  • 漠然とした修正提案。
  • プロジェクトのアーキテクチャを無視したレポート。

Codex Securityの設計は、逆の目標を中心に据えています:より少なく、より文脈に沿った発見結果を証拠とともに提供し、レビュー担当者が何を修正すべきかを判断できるようにすることです。

Codex Securityの仕組み

OpenAIはこのシステムを、多段階のアプリケーションセキュリティワークフローと説明しています。

1. リポジトリコンテキストと脅威モデルの構築

Codex Securityはまずリポジトリを調査し、プロジェクト内のセキュリティ関連の構造を理解します。

それは以下を特定しようとします:

  • システムが何を行うか。
  • どのコンポーネントが互いに信頼しているか。
  • ユーザー制御の入力がどこに入るか。
  • ユーザー、テナント、ロール、またはサービスを分離する境界。
  • どの操作が特権を持つか。
  • どの資産が機密であるか。
  • システムが攻撃者にどこで露出しているか。

その結果は、汎用的なチェックリストではなく、プロジェクトに固有の脅威モデルです。

チームは、アーキテクチャドキュメント、セキュリティポリシー、重点領域、既知の攻撃ベクトルを追加することで、このコンテキストを改善できます。

2. コンテキスト内での脆弱性の検索

このエージェントは、関連するコードをレビューする際に脅威モデルを使用して、現実世界への影響を判断します。

これにより、ルールベースのスキャナーが単独では理解しにくい問題について推論できます。

例としては以下が含まれます:

  • テナント間の境界を越えた認可のギャップ。
  • 特権ツールにアクセスするための間接的なプロンプトインジェクション。
  • プロキシ追跡による機密データの露出。
  • 認証バイパス。
  • サーバーサイドリクエストフォージェリ。
  • 通常は普通のコンポーネント間の危険な相互作用。

スキャナーは以下をレビューできます:

  • コードリポジトリ全体。
  • 1つまたは複数の選択されたパス。
  • コミット範囲。
  • プルリクエストの変更。
  • ステージング済みおよび未ステージングのワークツリー変更。
  • バッチアクティビティ内の複数のコードリポジトリ。

3. 妥当な発見結果の検証

可能な場合、Codex Securityは隔離された環境で高シグナルの問題を検証しようとします。

検証は以下に答えるのに役立ちます:

  • 脆弱なパスが到達可能かどうか。
  • 提案された悪用条件が現実的かどうか。
  • 概念実証が機能するかどうか。
  • 問題が誤って分類されているかどうか。
  • 発見結果が実行中のシステムに影響を与える可能性があるかどうか。

このステップは誤検知を減らすことを目的としています。

すべての発見結果が再現されたことや、完全なスキャンがリポジトリのセキュリティを証明することを保証するものではありません。

スキャンのcoverage.jsonファイルは、カバレッジステータスが次のいずれであるかを記録します:

完全
部分
不明

レビュー担当者は、スキャンを包括的なレビューの証拠と見なす前に、除外事項、延期された領域、未解決の問題を読む必要があります。

4. 的を絞った修正の提案

受け入れられた発見結果に対して、Codex Securityは現在のシステムに適合することを目的としたパッチを提案できます。

目標は単にスキャナーを静かにさせることだけではありません。

良い修正とは、以下のことを行うべきです:

根本原因を排除または軽減する。

  • 期待されるアプリケーションの動作を維持する。
  • 広範囲にわたる無関係なリファクタリングを避ける。
  • リグレッションを最小限に抑える。
  • 適切な場合は、証拠またはテストを含める。
  • 人間のエンジニアによるレビューが可能な状態を維持する。

Codex Securityスキャンはデフォルトではレポートのみを提供する。推奨されるパッチは、通常のコードレビュー、テスト、デプロイ管理のプロセスを経る必要がある。

5. レビューからのフィードバックを学習する

CLIはスキャン履歴を保存し、発見事項へのフィードバックをサポートしている。

レビュー担当者は発見事項を誤検知としてマークし、理由を記録できる。

後続のスキャンでは、現在のコードを再確認する際にその説明を考慮できる。

これにより、将来脆弱になる可能性のあるコードパスを恒久的に抑制することなく、スキャナーがリポジトリ固有の事実に適応できるようになる。

OpenAIが報告した結果

OpenAIは、プレビュー展開における採用状況と品質に関する複数のデータを公開している。

これらは同社が報告した指標であり、独立したベンチマーク結果ではない。

2026年3月 研究プレビュー

OpenAIは、30日間の期間においてCodex Securityが以下の実績を上げたと発表:

指標 OpenAI報告結果
スキャンされたコミット数 120万以上
重大な発見事項数 792
高重大度の発見事項数 10,561
重大な問題を含むスキャン済みコミット 0.1%未満

OpenAIはまた、ベータ版の改善点として以下を報告:

  • 継続的にスキャンされているリポジトリにおいて、不要なアラートが84%減少。
  • 重大度が誇張された発見事項が90%以上減少。
  • 各種リポジトリにおける誤検知が50%以上減少。

2026年6月 Daybreakアップデート

OpenAIはその後、Codex Securityクラウド版が以下の機能を備えたと発表:

指標 OpenAI報告結果
スキャンされたコードベース数 30,000以上
スキャンされたコミット数 3,000万以上
手動で修正済みとマークされた発見事項数 70,000以上
自動的に修正が確認された件数 50万以上

規模は大きいが、これらの数値はCodeQL、Semgrep、Snyk、または手動のペネトレーションテストとの管理された比較として解釈されるべきではない。

これらのツールは動作方法が異なり、発見事項、修正、カバレッジを異なる方法で測定する可能性がある。

Codex Securityインターフェース

Codex Securityは現在、複数の関連インターフェースを通じて利用できる。

インターフェース 主な用途
Codex Securityプラグイン ChatGPTデスクトップアプリまたはCodex CLIでのインタラクティブなスキャンと修正
Securityワークベンチ 保存されたスキャン、発見事項、リポジトリ履歴、カバレッジ、アーティファクトの表示
Codex Security CLI 再現可能なローカル、ターミナル、pre-commit、バッチ、およびCIワークフロー
TypeScript SDK スキャンとライフサイクル制御をアプリケーションまたは開発者ツールに組み込む
Codex Securityクラウド Codexクラウドを介した接続済みGitHubリポジトリのスキャン

パブリックCLIとSDKは、プラグインと同じ一般的なスキャナーワークフローを使用するが、プラグインディレクトリ、CLIパッケージ、クラウド研究プレビュー間で、可用性と機能の成熟度が異なる場合がある。

クイックスタート:Codex Securityのインストールと実行

以下のコマンドは、OpenAIの現在の公式CLIドキュメントに従っている。

ステップ 1: 前提条件を確認する

CLIには以下が必要:

Node.js 22 またはそれ以降
Python 3.10 またはそれ以降
Codex Security へのアクセス権

GitHubリポジトリには現在、より具体的なサポート対象のNode.jsバージョン範囲(最新の22.x、24.x、26.xバージョンを含む)が記載されている。

環境を確認する:

node --version
python3 --version

ステップ 2: パッケージをインストールする

npmからCodex Securityをインストール:

npm install @openai/codex-security

インストールされたバージョンを確認:

npx @openai/codex-security --version

コマンドを一覧表示:

npx @openai/codex-security --help

ステップ 3: 認証を行う

ローカルでのインタラクティブな使用には、ChatGPTアカウントでログイン:

npx @openai/codex-security login

リモートまたはヘッドレスマシンの場合:

npx @openai/codex-security login --device-auth

CIやその他の無人ワークフローの場合は、環境変数を介してAPIキーを提供:

export OPENAI_API_KEY="<your-api-key>"

APIキーをソースコード管理にコミットしないこと。

シークレットマネージャーまたはCIプラットフォームの保護されたシークレットシステムを使用すること。

保存されたChatGPTログインとAPIキーの両方が利用可能な場合は、必要な方法を明示的に選択:

npx @openai/codex-security scan . --auth chatgpt

または:

npx @openai/codex-security scan . --auth api-key

認証によって、CyberのTrusted Accessが自動的に付与されるわけではない。

ステップ 4: プライベート出力ディレクトリを選択する

OpenAIは、結果をスキャン対象リポジトリの外部に保存することを推奨している。

レポートには以下が含まれる可能性がある:

  • ソースコードの抜粋。
  • 脆弱性の証拠。
  • 概念実証の資料。
  • アーキテクチャの詳細。
  • 機密性の高いパス。
  • 修正の指針。

ターゲットと結果ディレクトリを準備:

REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-results

デフォルトの永続状態ディレクトリが書き込み可能でない場合は、別のプライベートディレクトリを選択:

export CODEX_SECURITY_STATE_DIR=/path/outside/repository/codex-security-state

ステップ 5: ドライランを実行する

モデル作業を開始する前に、ローカルパスとスキャン設定を検証する:

npx @openai/codex-security scan "$REPOSITORY" \
  --output-dir "$SCAN_DIR" \
  --dry-run

ドライランはCodexを起動せず、スキャン資格情報も読み込まない。

ステップ 6: 最初のスキャンを実行する

標準のリポジトリスキャンを開始:

npx @openai/codex-security scan "$REPOSITORY" \
  --output-dir "$SCAN_DIR"

標準出力に機械可読なJSON形式を要求:

npx @openai/codex-security scan "$REPOSITORY" \
  --output-dir "$SCAN_DIR" \
  --json

デフォルトでは、Codex Securityは現在以下を使用:

モデル:gpt-5.6-sol
推論強度:xhigh

コスト削減構成では、他のサポート対象モデルと強度レベルを使用できる:

npx @openai/codex-security scan "$REPOSITORY" \
  --model gpt-5.6-terra \
  --effort high

サポートされている強度設定には以下が含まれます:

minimal(最小)
low(低)
medium(中)
high(高)
xhigh(極高)

強度が低いと時間とコストが削減される可能性がありますが、レビューの深さも低下する可能性があります。

完全スキャンの成果物

標準の結果ディレクトリには以下が含まれる場合があります:

codex-security-results/
├── scan-manifest.json
├── findings.json
├── coverage.json
├── report.md
├── artifacts/
└── exports/
    └── results.sarif

report.md

主要な人間可読レポート。

findings.json

重大度、信頼度、影響を受ける場所、証拠、修正提案を含む構造化された検出結果。

coverage.json

レビュー範囲、除外項目、先送りされた作業、未解決の問題、完全性の評価。

scan-manifest.json

ターゲット、スコープ、プロデューサー情報、シールされたアーティファクトの参照。

artifacts/

脆弱性レポート、概念実証ファイル、または関連する証拠(存在する場合)。

SARIFエクスポート

SARIFは、GitHub Code Scanningやその他の互換性のあるセキュリティツールで使用できます。

重要な領域のみをスキャンする

大規模なモノレポであっても、毎回フルスキャンが必要とは限りません。

特定のパスを選択します:

npx @openai/codex-security scan "$REPOSITORY" \
  --path services/billing \
  --path packages/auth

これは、リリースが特定のサービスやセキュリティ境界に影響を与える場合に役立ちます。

プルリクエストまたはコミット範囲のレビュー

ベースリビジョンと HEAD の間でコミットされた変更をスキャンします:

npx @openai/codex-security scan "$REPOSITORY" \
  --diff origin/main \
  --head HEAD

リポジトリパラメータはGitワークツリーのルートを指している必要があり、必要なリビジョンがローカルに存在している必要があります。

未コミットの変更のレビュー

HEAD に対するステージ済みおよび未ステージの変更をスキャンします:

npx @openai/codex-security scan "$REPOSITORY" \
  --working-tree \
  --base HEAD

これは、プルリクエストを作成する前や、セキュリティに敏感な変更をコミットする前に役立ちます。

ディープスキャンモードの使用

通常のスキャンで不十分な場合、より包括的なレビューを実行します:

npx @openai/codex-security scan "$REPOSITORY" \
  --mode deep

ディープモードは時間がかかり、より多くのモデルリソースを消費する可能性があります。

OpenAIの現在のドキュメントによると、リポジトリおよびパスターゲットをサポートしており、diffやワークツリーターゲットはサポートしていません。

コンテキストとなるアーキテクチャおよびセキュリティ情報の追加

エージェントがシステムを正しく理解するのに役立つ内部ドキュメントを提供します:

npx @openai/codex-security scan "$REPOSITORY" \
  --knowledge-base /path/to/architecture.md \
  --knowledge-base /path/to/security-policies

役立つコンテキストには以下が含まれます:

  • 信頼境界。
  • 認証アーキテクチャ。
  • テナント分離ルール。
  • 機密データの分類。
  • 想定されるネットワークパス。
  • セキュリティ不変条件。
  • 脅威モデル。
  • 既知の例外。
  • 補完的コントロール。

機密情報を不必要に含めないでください。

これらのファイルはセキュリティに敏感なスキャンワークフローの一部であり、適切な保持およびアクセス制御に従う必要があります。

スキャンコストの制御

推定モデルコストの上限を米ドルで設定します:

npx @openai/codex-security scan "$REPOSITORY" \
  --max-cost 5

進行中のリクエストは上限に達した後も完了する可能性があるため、最終的な金額がしきい値を超える場合があります。

コスト制限によりスキャンが停止した場合、Codex Securityは既存の結果を保持します。

部分的な結果は、完全なリポジトリカバレッジと見なすべきではありません。

事前コミットセキュリティチェックの追加

同梱のGitフックをインストールします:

npx @openai/codex-security install-hook

このフックは、コミット前にステージ済みおよび未ステージの変更をスキャンします。

OpenAIは、以下をブロックすると述べています:

  • 高重大度の検出結果。
  • スキャンエラー。

既存の事前コミットスクリプトを置き換えるものではありません。

チームは、組織全体でフックを有効にする前に、ローカルパフォーマンス、開発者のアクセス権、モデルコスト、および既存のlintやテストフックとの相互作用をレビューする必要があります。

複数リポジトリのスキャン

まずGitHub CLIを検証します:

gh auth login

対話型リポジトリ検出フローを開始します:

npx @openai/codex-security bulk-scan

現在の対話型フローは、アーカイブ済みリポジトリとフォークを除外し、スキャン前に確認を要求します。

準備されたCSVマニフェストを使用して再現可能なスキャンアクティビティを実行します:

npx @openai/codex-security bulk-scan repositories.csv \
  --output-dir /path/outside/repositories/security-scans \
  --workers 4

同じコマンドを再度実行すると、完全な結果アーティファクトがすでにあるリポジトリを再スキャンすることなく、スキャンアクティビティを再開できます。

Dockerでのバッチスキャンの実行

公開リポジトリにはDockerおよびComposeリソースが含まれています。

必要なイメージと環境へのアカウントアクセスがある場合、サンプルのバッチコマンドは次のとおりです:

docker compose run --rm codex-security \
  bulk-scan /input/repositories.csv \
  --output-dir /output \
  --workers 4

OpenAIは以下を推奨しています:

  • Linux Dockerホストを使用する。
  • 非特権ユーザー名前空間をサポートする。
  • 結果とログイン状態にプライベートな永続ディレクトリを使用する。
  • 環境またはシークレットマネージャーを介して機密情報を提供する。
  • サポートされている場合、AppArmorの強化をオプションで有効にする。

コンテナ化によりホストへの露出の一部は減少しますが、認可されたセキュリティスキャンがゼロリスクになるわけではありません。

実行間での検出結果の追跡

リポジトリの以前のスキャンを一覧表示します:

npx @openai/codex-security scans list "$REPOSITORY"

保存されたスキャンを検査します:

npx @openai/codex-security scans show SCAN_ID

レビュー済みの検出結果を誤検知としてマークします:

npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
  --reason "このルートは既に権限を確認しています"

元の設定を使用して保存されたスキャンを再実行します:

npx @openai/codex-security scans rerun SCAN_ID

根本原因ごとに検出結果を照合します:

npx @openai/codex-security scans match

PREVIOUS_SCAN_ID CURRENT_SCAN_ID


スキャン結果を比較する:

```Bash
npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID

比較により、検出項目は次のように分類されます:

  • 新規。
  • 継続。
  • 再オープン。
  • 解決済み。
  • 不明。

後続のスキャンが関連領域をカバーしない場合、欠落した検出項目は不明のままとなります。

TypeScript SDKの使用

同じnpmパッケージには、ECMAScriptモジュールのTypeScript SDKが含まれています。

これには、サーバー側でNode.js 22以降、スキャンにはPython 3.10以降が必要です。

基本的な統合方法は次のとおりです:

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

const security = new CodexSecurity();

try {
  const result = await security.run("/path/to/repository", {
    outputDir: "/path/outside/repository/results",
  });

  console.log(result.reportPath);
  console.log(result.coverage.completeness);
  console.log(result.findings.findings.length);
} finally {
  await security.close();
}

このSDKは、次の機能を通じて長時間実行されるワークフローをサポートします:

  • 事前チェック。
  • 型付き検出項目。
  • カバレッジの詳細。
  • 進捗コールバック。
  • 推定コスト制限。
  • キャンセル操作。
  • スキャンライフサイクル管理。
  • アーティファクトパスへのアクセス。

再利用可能なアプリケーションは、クライアントを作成し、必要なスキャンを実行し、クライアントを閉じて隔離されたランタイム環境を解放する必要があります。

Codex SecurityをCIに追加する

OpenAI公式CIガイドでは、GitHub Actionsを使用したプルリクエストスキャンを紹介しています。

推奨されるパターンは次のとおりです:

  1. APIキーを保護されたリポジトリまたは組織のシークレットとして保存します。
  2. リポジトリのチェックアウトディレクトリの外部にCodex Securityをインストールします。
  3. パッケージバージョンを固定します。
  4. 完全なGit履歴をチェックアウトしますが、チェックアウト資格情報は保持しません。
  5. マージベースを計算します。
  6. プルリクエストの差分のみをスキャンします。
  7. SARIFをエクスポートします。
  8. SARIFをGitHub Code Scanningにアップロードします。
  9. スキャンアーティファクトを保持します。
  10. スキャンの品質と実行時間を確認した後にのみ、重大度ポリシーを追加します。

公式サンプルは、リリース時に利用可能な特定のパッケージバージョンに固定されています。チームはリリースノートを確認した上で意図的にバージョンを更新する必要があり、リポジトリのシークレットを使用して未レビューのセキュリティツールを自動実行するべきではありません。

コアなスキャンステップの簡潔な表現は次のとおりです:

- name: プルリクエストの変更をスキャン
  env:
    OPENAI_API_KEY: ${{ secrets.CODEX_SECURITY_API_KEY }}
    BASE_SHA: ${{ github.event.pull_request.base.sha }}
    HEAD_SHA: ${{ github.event.pull_request.head.sha }}
    SCAN_DIR: ${{ runner.temp }}/codex-security-results
  run: |
    set -euo pipefail
    BASE_REVISION="$(git merge-base "$BASE_SHA" "$HEAD_SHA")"

    "$CODEX_SECURITY_BIN" scan . \
      --diff "$BASE_REVISION" \
      --head "$HEAD_SHA" \
      --auth api-key \
      --output-dir "$SCAN_DIR" \
      --json > "$RUNNER_TEMP/codex-security.json"

この抜粋は、ランナーがCLIをインストールして検証済みであり、完全な履歴を持つプルリクエストヘッドがチェックアウトされ、CODEX_SECURITY_BINが定義されていることを前提としています。

本番ワークフローでは、固定されたアクション、SARIFエクスポート、権限、アーティファクト保持、ブランチのセキュリティチェックを含む、完全な公式CIガイドを使用してください。

セキュリティ体制におけるCodex Securityの位置づけ

Codex Securityは、既存のすべてのセキュリティ管理を置き換えるものではありません。

以下のツールを補完できます:

  • 静的アプリケーションセキュリティテスト。
  • ソフトウェア構成分析。
  • シークレットスキャン。
  • Infrastructure as Codeスキャン。
  • コンテナスキャン。
  • 依存関係の更新。
  • ファジング。
  • 動的アプリケーションテスト。
  • 人的コードレビュー。
  • ペネトレーションテスト。
  • バグ報奨金プログラム。
  • 本番環境のモニタリング。

その独自の強みは、リポジトリ構造とシステムの意図を横断してコンテキスト推論できることです。

成熟したセキュリティ体制では、決定論的スキャナーで既知のパターンの大量処理を処理し、エージェントスキャナーでファイル横断ロジック、悪用可能性分析、エビデンス、修正提案を処理できます。

Codex Securityが保証できない事項

リポジトリが安全であることを証明できない

どのスキャナーも、任意の実世界のコードベースにすべての脆弱性が存在しないことを証明できません。

部分的なカバレッジや不明なカバレッジは、この制限をより重要にします。

検証は普遍的に適用できるわけではない

一部の検出項目は隔離環境でテストできます。

その他の検出項目は以下に依存します:

  • 本番データ。
  • 外部サービス。
  • インフラストラクチャ設定。
  • ハードウェア。
  • 資格情報。
  • ビジネスロジック。
  • ユーザー行動。

自動化された証明がない検出項目が自動的に誤検知を意味するわけではなく、検証された証明もその脆弱性のすべての変種を明らかにするわけではありません。

AI検出項目には依然として人間のレビューが必要

モデルはアーキテクチャを誤解し、影響を過大評価し、不完全なパッチを提案したり、回帰を導入したりする可能性があります。

セキュリティ担当者はエビデンスと修正案をレビューする必要があります。

オープンソースパッケージでもモデルの呼び出しが必要

パッケージのソースコードは公開されていますが、デフォルトのスキャンは推論アクセスに依存しないローカルの静的バイナリではありません。

モデルの使用には、コスト、データ処理、ライセンスに関する考慮事項が生じる可能性があります。

機密出力の保護が必要

結果ディレクトリは、通常のビルド出力よりも機密性が高い場合があります。

詳細な検出項目、概念実証ファイル、脆弱なソースコードの抜粋を公開アーティファクトにアップロードしないでください。

ネットワークアクセスは限定的な用途に限定

所有しているか、評価する明示的な許可を得たリポジトリおよびシステムにのみツールを使用してください。

OpenAIのアクセス制御は、法的許可の代わりにはなりません。

セキュリティスキャナーにも脅威モデルが必要

Codex Securityの最大の概念的な利点は、同時に実際の要件でもあります。

エージェントには正確なコンテキストが必要です。

リポジトリだけでは以下を説明できない場合があります:

  • どのサービスが公開アクセス可能か。
  • どのアイデンティティプロバイダーが信頼されているか。
  • ネットワーク境界が存在するか。
  • どのデータが機密か。
  • 上流でどのような承認チェックが実行されるか。
  • どのデプロイ機能が無効化されているか。
  • 組織がどのリスクを受け入れているか。

コンテキストが不十分だと、検出品質が低下する可能性があります。

チームは、編集可能な脅威モデルとナレッジベースを、任意のプロンプトの飾りではなく、第一級のセキュリティ資産として扱うべきです。

よくある質問

Codex Securityとは何ですか?

Codex Securityは、OpenAIのアプリケーションセキュリティエージェントであり、脆弱性の発見、検証、優先順位付け、修正支援を行います。これは内部プロジェクトAardvarkに由来し、現在利用可能です。

プラグイン、CLI、TypeScript SDK、およびリポジトリに接続するクラウドワークフローを通じて実装されます。

Codex Securityは完全にオープンソースですか?

CLIとTypeScript SDKはGitHubでApache 2.0ライセンスの下で公開されています。

ライセンスは公開リリースされています。基盤となるOpenAIモデル、ホスト型クラウドサービス、保護された発見結果、および無制限のサイバーセキュリティアクセスは、オープンソースまたはオープンウェイトのコンポーネントとして公開されていません。

誰でもCodex Securityをインストールして実行できますか?

誰でも公開パッケージにアクセスできますが、スキャンを実行するにはCodex Securityへのアクセス権が必要です。一部のリポジトリ全体スキャンや高度なネットワーク機能には、「サイバーセキュリティ信頼アクセス」(Trusted Access for Cyber)も必要になる場合があります。

Codex Securityはどのモデルを使用しますか?

現在のCLIドキュメントでは、スキャンはデフォルトでGPT-5.6 Solを推論努力レベルxhighで使用することが記載されています。ユーザーは他のサポート対象モデルや努力レベルを選択でき、公開リポジトリには選択したサードパーティベンダー構成も記載されています。

Codex Securityはプルリクエストをスキャンできますか?

はい。CLIはベースリビジョンとヘッドリビジョンの間でコミットされた変更をスキャンできるため、プルリクエストワークフローに適しています。OpenAIはまた、SARIFエクスポートとアーティファクト保持をサポートする公式のGitHub Actionsガイドも提供しています。

Codex Securityは脆弱性を自動的に修正しますか?

境界のある修正提案を行い、変更が発見結果を解決したかどうかを検証するのに役立ちます。スキャンはデフォルトでレポートのみを生成し、人間がマージまたはデプロイ前にパッチをレビュー、テスト、承認する必要があります。

Codex SecurityはDockerで実行できますか?

このリポジトリには、非対話型のバッチスキャン用のDockerおよびDocker Composeリソースが含まれています。OpenAIは、プライベートな永続ストレージ、シークレット管理、サポート対象のLinux分離機能、およびオプションのAppArmor強化を推奨しています。

Codex Securityのクリーンなレポートは、私のアプリケーションが安全であることを証明できますか?

できません。カバレッジは完全、部分的、または不明な場合があり、自動スキャナーが複雑なアプリケーションに脆弱性がないことを保証することはできません。Codex Securityを、より広範なセキュリティ開発プログラムの一部として使用してください。

関連ツール

  • Codex Security:プラグイン、CLI、SDK、クラウドスキャナー、およびサポートワークフローの公式概要。
  • Codex Security GitHubリポジトリ:CLI、TypeScript SDK、Dockerリソース、および貢献ワークフローのApache-2.0ソースコード。
  • npm上のCodex Security:CLIとSDKをインストールするための公開パッケージ。
  • Codex CLI:OpenAIのオープンソースローカルコーディングエージェントおよびプラグインホスト。
  • GitHubコードスキャニング:GitHubのSARIF互換の脆弱性結果インターフェース。
  • CodeQL:クエリベースの脆弱性検出のためのGitHubのセマンティックコード解析エンジン。
  • Semgrep:ルールベースの静的解析プラットフォームで、エージェントによるセキュリティレビューを補完します。
  • OWASP Juice Shop:認可されたセキュリティトレーニングとスキャナー評価のための、意図的に脆弱性を含むアプリケーション。

関連リンク

概要

OpenAIはCodex Security CLIとTypeScript SDKをオープンソース化し、開発者にApache-2.0ベースの公開基盤を提供しています。これには、リポジトリスキャン、変更レビュー、スキャン履歴、修正検証、バッチアクティビティ、SARIFエクスポート、CIチェック、およびカスタムセキュリティ統合が含まれます。

このエージェントは基本的なパターンスキャナーとは異なり、リポジトリのコンテキストと脅威モデルを構築し、そのコンテキスト内で脆弱性を検索し、疑わしい問題を可能な限り検証し、人間のレビューのために境界のある修正提案を行います。

このリリースは、無制限のローカルセキュリティモデルではありません。スキャンを実行するには依然として認可された推論アクセスが必要であり、一部の高度なサイバーセキュリティワークフローでは「サイバーセキュリティ信頼アクセス」が必要になる場合があります。機密性の高い発見結果やソースコードの断片には、慎重なストレージと保持管理も必要です。

Codex Securityは、多層的なアプリケーションセキュリティプログラムにおいて最も有用です。リポジトリに脆弱性がないことを証明するものではありません。

実際の変化は、チームがプロセスにおいて認可、脅威モデリング、検証、および人間による承認を厳格に実施する限り、セキュリティレビューがAI支援による開発の速度により近づけるようになったことです。