openai/codex-security — コードの脆弱性検出から修正までを支援する CLI & SDK
openai/codex-security
★ 11,799 ・ TypeScript ・ Apache-2.0
概要
Codex Security は、ソフトウェアのコードベースに存在する脆弱性の調査、検証、および修正作業を支援するために OpenAI が公開しているセキュリティツール群です。CLI(コマンドラインインターフェース)ツールおよび TypeScript 向け SDK(@openai/codex-security)として提供されています。
リポジトリ全体の静的検証や Git のコミット差分に対する調査だけでなく、検出された問題に対するパッチの生成や、既存の修正の検証までを一貫して扱うワークフローを備えています。ターミナルでの対話的なスキャンはもちろん、CI/CD パイプラインでの自動チェックや Docker コンテナを用いたバッチスキャン、さらには Codex 環境との連携など、チームの開発フローに合わせたセキュリティ運用の自動化を検討しているエンジニアに適しています。
主な特徴
-
柔軟なスキャン範囲とディープスキャン
リポジトリ全体だけでなく、特定のディレクトリパスや Git のコミット差分を対象にスキャンを実行できます。通常スキャンを繰り返して結果の重複を排除する Deep Scan モードも備えています。 -
脆弱性の検証とパッチ生成
検出された候補の妥当性を検証し、修正のためのパッチ案を作成する機能や、既存の修正が適切であるかを確認する検証機能を備えています。 -
セキュリティポリシーと脅威モデルの生成
リポジトリの構成情報などを参照しながらSECURITY.mdのドラフトを作成・更新できるほか、分析時に生成された脅威モデル(Threat Model)の保存・エクスポートが可能です。 -
外部ツール連携と多彩な出力形式
サードパーティ製スキャナーの結果取り込みに対応するほか、SARIF、JSON、CSV 形式でのエクスポートが可能です。また、Linear、Jira、GitHub などの課題追跡システムと連携して検出結果を管理できます。 -
自動化とコンテナ対応
GitHub Actions を用いた定期スキャンや、Docker Compose を利用した複数リポジトリの一括スキャンに対応しており、チーム開発の自動化基盤へ容易に組み込めます。
使い方
動作要件の確認
本ツールを実行するには、以下の環境が必要です。
- Node.js: 22.x 系列(22.13.0 以上)、または 24.x、26.x
- Python: 3.10 以上(Python 3.10 を使用する場合は
tomliパッケージが必要)
CLI のインストールとスキャンの実行
CLI ツールは npm 経由でグローバルにインストールできます。インストール後にログインを行い、対象のリポジトリでスキャンを実行します。
npm install --global @openai/codex-security
cs login
リポジトリのルートディレクトリに移動し、スキャンを開始します。
cs scan .
スキャンが完了すると、ターミナルに表示された REPORT パスに Markdown 形式のレポートが出力されます。なお、cs コマンドが他のコマンドと競合する場合はフルネームの codex-security を利用するか、npx @openai/codex-security を直接実行することも可能です。
CI 環境などの対話式ログインができない環境では、環境変数 OPENAI_API_KEY または CODEX_API_KEY に API キーを設定して認証を行います。
主なスキャンオプション
特定ディレクトリの絞り込み、ベースブランチとの差分スキャン、Deep Scan モードの指定などが行えます。
# 特定のパス(src と tests)のみをスキャン
cs scan . --path src --path tests
# origin/main からの変更差分を対象にスキャン
cs scan . --diff origin/main
# リポジトリ全体のディープスキャンを実行
cs scan . --mode deep
# 調査時間の上限(目安)を15分に設定
cs scan . --max-time 15
TypeScript SDK の利用
Node.js / TypeScript プロジェクトのコード内から直接セキュリティ分析を実行することも可能です。
npm install @openai/codex-security
コード内での基本的な呼び出し手順は以下の通りです。
import { CodexSecurity } from "@openai/codex-security";
const security = new CodexSecurity();
try {
const result = await security.run("/path/to/repository");
console.log(result.reportPath);
} finally {
await security.close();
}
SECURITY.md の生成と脅威モデルのエクスポート
リポジトリ内に適切なセキュリティポリシーが存在しない場合や見直しを行いたい場合は、policy サブコマンドでドラフトを生成できます。
cs policy .
cs policy . --path services/api --knowledge-base architecture.md
ドラフトファイルは既存ファイルを直接上書きしないようリポジトリ外部に保存されるため、内容と差分を確認した上で必要な部分のみを反映させます。
また、分析時に保存された脅威モデルは、再スキャンを行うことなくエクスポートが可能です。
cs export --scan SCAN_ID --artifact threat-model --output threatmodel.md
--scan を省略した場合は、カレントリポジトリで直近に完了したスキャンの結果が参照されます。
GitHub Actions による自動化
GitHub Actions を利用した定期実行の例が README に示されています。リポジトリのシークレットに CODEX_SECURITY_API_KEY を設定し、ワークフローファイルを配置することで、スケジュール実行や手動実行(workflow_dispatch)が可能になります。README に記載された週次スキャンのサンプルでは、1回の実行あたり概算 5 ドルの上限枠が設定されています。
技術的なポイント
-
TypeScript ベースの実装と多言語要件
コア機能は TypeScript で実装されており、npm パッケージとして CLI と SDK が同居する形で配布されています。内部的な依存関係や解析処理の一部で Python 3.10+ が要求されており、Python 3.10 環境では TOML 解析用ライブラリtomliが必要とされる設計になっています。 -
状態管理と履歴の共有
スキャン履歴や保存された検出結果はローカルの状態ディレクトリで管理されます。Git のworktreeを複数作成して作業する場合でも、環境変数CODEX_SECURITY_STATE_DIRを共通の場所に固定することで、作業ツリー間でスキャン履歴やログイン状態を共有できるよう考慮されています。 -
標準規格およびサードパーティツールとの相互運用性
静的解析結果の標準フォーマットである SARIF 出力に対応しており、GitHub のセキュリティダッシュボードや CI の各種レポート機能とシームレスに連携できます。また、Linear や Jira、ServiceNow Application Vulnerability Response などの既存ワークフローへのデータ橋渡しが可能な設計となっています。 -
コンテナによるバッチ処理構成
Docker Compose 構成が同梱されており、コンテナ環境内で複数リポジトリの一括スキャン(Bulk Scans)を実行できます。認証情報やスキャン結果をホスト側に永続化しつつ、クリーンな環境でパイプラインを動かすことができます。 -
マルチプロバイダ対応
README の記述によると、OpenAI 以外にも Amazon Bedrock や OpenRouter などのバックエンドプロバイダを用いたスキャンがサポートされています。
注意点
-
ライセンス
本リポジトリは Apache-2.0 ライセンスの下で公開されています。商用利用や改変、再配布が認められていますが、ライセンス条項に従った利用が必要です。 -
Node.js と Python のバージョン制約
Node.js は 22.x(22.13.0 以上)、24.x、26.x が指定されています。また Python も 3.10 以上が必須環境となっており、実行環境のランタイムバージョンに事前の配慮が必要です。 -
API 利用コストと上限管理
CI や CLI でのスキャンには API を利用するため、OpenAI 等の API 利用料が発生します。リクエストの状況によっては設定した制限額を一時的に超過する場合がある旨が注意書きされています。 -
高度な機能とアクセス権限
一部のサイバーセキュリティ関連リクエストや保護された検出結果を扱うには「Trusted Access for Cyber」や「Daybreak」といった特別なアクセスプログラムへの参加が必要になる旨が記載されています。 -
ローカルダッシュボード機能の廃止
README に記載されている通り、以前提供されていたローカルのserveコマンドおよびブラウザ向けダッシュボードは削除されています。過去のデータベースやスキャン生成物は引き続き保持・利用可能ですが、結果の確認は Markdown レポートや各種エクスポートファイルを通じて行う必要があります。
まとめ
Codex Security は、コードの脆弱性発見にとどまらず、検証やパッチ作成、ポリシー策定までをカバーする開発者向けのセキュリティ支援ツールです。CLI、TypeScript SDK、GitHub Actions、Docker と多彩な利用方法が揃っており、個人のローカル開発からチームの CI/CD パイプラインまで幅広く導入を検討できます。





