
codex-security npm-v0.1.25
セキュリティ脆弱性を発見、検証、修正するためのOpenAIのCodex Security CLIおよびTypeScript SDK。 npm: https://www.npmjs.com/package/@openai/codex-security
Codex Security
Codex Security は、コード内の脆弱性を見つけ、調査し、修正するのに役立ちます。
Codex でそのセキュリティワークフローを使用するか、
@openai/codex-security CLI と TypeScript SDK で自動化できます。
- Codex 内: セキュリティワークフローを選択します。
- ターミナル内: CLI をインストールしてリポジトリをスキャンします。
- 自動化内: TypeScript SDK または GitHub Action を使用します。
機能
- リポジトリ、選択したパス、または Git の変更をスキャンします。ディープスキャンは標準スキャンを繰り返し、重複排除された検出結果を返します。
- 候補の検出結果を検証し、パッチを生成し、既存の修正を検証します。
SECURITY.mdポリシーを起草し、後でレビューできるように脅威モデルを保存します。- 保存されたスキャンと検出結果を閲覧し、重複を特定し、独自の評価基準に照らして重大度を評価し、ソースと Git 履歴から担当者を提案します。
- サードパーティスキャナーの検出結果をプレビューし、ローカルに保存するか、サポートされているレポートを Codex Security Cloud に公開します。スキャナーインポートガイド。
- Linear、Jira、または GitHub で検出結果を追跡し、完了したスキャンを公開するか、SARIF、JSON、CSV をエクスポートします。統合ワークフロー。
- CI やコンテナ内を含め、リポジトリやプロジェクトコンポーネント全体でスキャンを自動化します。
Codex での使用
Codex Security プラグインを有効にした Codex セッションでリポジトリを開き、 次のように依頼します:
このリポジトリで Codex Security スキャンを実行し、認証と認可に焦点を当ててください。保存されたレポート、ソースの証拠、カバレッジの制限を返してください。
完了したスキャンはレポートと検出結果を保存します。レポートを読んでソースの 証拠と除外項目を確認し、パッチを要求するか、Codex に既存の修正を検証するよう 依頼します。セットアップ、タスクの選択、リカバリについては エージェントワークフローガイドを参照してください。
クイックスタート
22.x 内の Node.js 22.13.0 以降、または Node.js 24.x もしくは 26.x、および Python 3.10 以降が必要です。
Python 3.10 では tomli も必要です。
CLI をグローバルにインストールしてサインインします:
npm install --global @openai/codex-security
cs login
リポジトリのディレクトリから最初のスキャンを実行します:
cs scan .
スキャンが完了したら、REPORT パスにある Markdown ファイルをターミナルで開きます。同じリポジトリで cs scans show を実行すると、最新の完了したスキャンを再度確認できます。レポート内の除外項目の解釈方法については、スキャンスコープとフォローアップ作業を参照してください。
cs と codex-security は同じ CLI を実行します。短い名前が別のコマンドと競合する場合は、codex-security を使用してください。グローバルインストールをスキップする場合、または npm が EEXIST 競合を報告する場合は、ログインとスキャンの両方で cs の代わりに npx @openai/codex-security を使用してください。
CI の場合は、スキャンプロセスの環境に OPENAI_API_KEY または CODEX_API_KEY を設定してください。ヘッドレスマシンの場合は、デバイスまたは SSH ログインを参照してください。
スキャンオプション
スコープとスキャンモードを選択します:
# Scan selected paths.
cs scan . --path src --path tests
# Scan committed changes from a base revision to HEAD.
cs scan . --diff origin/main
# Run a deep scan of the repository.
cs scan . --mode deep
cs scan . --max-time 15 を使用すると、推奨される 15 分間の Standard 調査許容量が設定されます。タイミングのセマンティクスと Deep Scan の制限については、investigation time を参照してください。
コマンドを閲覧するには cs --help を、スキャンオプション、コスト制限、スキャン後のパッチ適用については cs scan --help を使用してください。
複数のリポジトリにまたがるアプリケーションについては、review one system across repositories を参照してください。1 つの再開可能なキャンペーンで独立したリポジトリレビューを行うには、bulk scans を使用してください。
スキャンは既存のルートおよびコンポーネントの SECURITY.md ガイダンスを使用します。これを作成または改訂するには、Generate SECURITY.md を参照してください。
一部のサイバーセキュリティリクエストおよび保護された検出結果には、Trusted Access for Cyber が必要です。Daybreak アクセスを持つアカウントについては、Codex トグルについては Daybreak opt-in を、プログラムを明示的に選択するには Cyber access programs を参照してください。
TypeScript SDK
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();
}
SDK ガイドには、ディープスキャンの設定、検証、重大度分類、所有者の提案、および結果の処理が含まれています。
既存の Cloud 検出結果を読み取る
Codex Security Cloud がアカウントで利用可能な場合、Security プラグインの
$cloud-findings スキルは、Codex デスクトップまたは Codex CLI で検出結果、レポート、記録された割り当てと
検証、およびスキャンステータスを読み取ることができます。Cloud は
オプションの接続です。ローカルスキャンはそれなしで動作します。
認証要件と読み取り専用の例については、 Cloud 接続のセットアップと CLI 読み取り を参照してください。
SECURITY.md を生成する
policy を使用して、新しい SECURITY.md の草案を作成するか、既存のものを更新します。--path
を使用してコンポーネントを選択します:
cs policy .
cs policy . --path services/api --knowledge-base architecture.md
このコマンドはドラフトをリポジトリ外に保存し、既存のファイルを変更しません。差分とノートを確認し、ドラフトを編集してから、表示された ポリシーターゲット に SECURITY.md のみをコピーしてください。保存されたアーキテクチャおよび脅威モデルのドキュメントはリポジトリ外に保管してください。
スキャンはすでにルートおよびコンポーネントの SECURITY.md ファイルを使用しています。変更が不要であれば、現在のポリシーをそのまま維持してください。更新する際は、その脆弱性報告の手順を保持してください。コマンドがポリシーはすでに最新であると表示した場合、コピーは不要です。
.github/SECURITY.md または docs/SECURITY.md にあるファイルには、報告手順が含まれていることがよくあります。ポリシーを起草する際はそれらを保持してください。これらの場所はリポジトリ全体のスキャンガイダンスを自動的に提供するものではありません。ポリシーの場所、未回答の質問、保存された成果物、SDK の使用方法については、ポリシーガイドを参照してください。
脅威モデルの保存とエクスポート
スキャンとポリシー生成は、結果とともに脅威モデルを保存します。別の分析を開始せずに、保存されたモデルをエクスポートできます:
cs export --scan SCAN_ID --artifact threat-model --output threatmodel.md
--scan を省略すると、現在のリポジトリの最新の完了済みスキャンが使用されます。
エクスポートガイドでは、検出結果、CI 向けの SARIF 出力、オフライン TypeScript API についても説明しています。ServiceNow Application Vulnerability Response については、ServiceNow 向けの検出結果のエクスポートを参照してください。
GitHub Actions
GitHub がホストする Ubuntu 上で週次のリポジトリスキャンを実行するには:
- OpenAI API キーをリポジトリシークレット
CODEX_SECURITY_API_KEYとして追加します。 - 週次ワークフローを
.github/workflows/codex-security.ymlにコピーします。REPLACE_WITH_REVIEWED_COMMITを、Action リリースのレビュー済み配布コミット SHA に置き換えます。 - 次回のスケジュール実行前にワークフローを試すには、Actions → Codex Security repository → Run workflow を開きます。
この例ではスキャンごとに推定 $5 の上限を使用し、ジョブを失敗させることなく検出結果を報告します。進行中のリクエストは上限を超える可能性があります。重大度のしきい値、プルリクエストのチェック、またはランナーの要件については、 Action ガイドを参照してください。対象となるアカウントについては、 Daybreak アクセスを参照してください。
コンテナ化された一括スキャン
同梱の Docker Compose 設定を使用してリポジトリのリストをスキャンします。この設定は実行間で結果と認証を保持します。 コンテナクイックスタートを参照してください。 ワークフローランナーは個々の CLI ステージをコンテナ内で実行し、別途デプロイされた検出結果サービスに接続できます。
検出結果の保存と重複排除
検出結果ガイドでは、ローカルストレージ、重複排除、および publish scan --to custom と明示的な --findings-url を介した独立運用エンドポイントとの互換性について説明しています。ローカルの
serve コマンドとブラウザダッシュボードは削除されました。既存のデータベースとスキャン成果物は引き続き利用可能です。
その他のプロバイダー
スキャンは OpenAI、Amazon Bedrock、OpenRouter、Fireworks AI、Cheaper Inference をサポートしています。Bedrock は AWS 認証情報を使用し、別途 OpenAI ログインを必要としません。AWS プロファイル、リージョン、モデルアクセスについては Bedrock のセットアップを参照してください。