Codex use case
CI/CD におけるサプライチェーンリスク管理
依存関係のアラートを調査し、パッケージの更新に伴うセキュリティリスクを確認します。
Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。
Best for
- 依存関係のアラートのうち、どれに対応すべきかを判断するアプリケーションセキュリティチーム
- 新たに導入したパッケージや依存関係の更新を評価する開発者
- 依存関係の変更時に実行するセキュリティスキャンを CI/CD パイプラインに組み込むプラットフォームチーム
Contents
CI/CD におけるサプライチェーンリスク管理
依存関係のアラートを調査し、パッケージの更新に伴うセキュリティリスクを確認します。
Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。
Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。
Best for
- 依存関係のアラートのうち、どれに対応すべきかを判断するアプリケーションセキュリティチーム
- 新たに導入したパッケージや依存関係の更新を評価する開発者
- 依存関係の変更時に実行するセキュリティスキャンを CI/CD パイプラインに組み込むプラットフォームチーム
依存パッケージを新たに追加したときやバージョンを上げたときは、Codex Security CLI を使って、コードベースが依存するパッケージの安全性を評価できます。こうした評価は、脆弱なパッケージに起因するサプライチェーンリスクを未然に防ぐうえで非常に有効です。評価を実行するには、Codex Security CLI のコマンドをカスタムワークフローに組み込みます。
Dependabot アラートの検証
Codex Security には、Dependabot のアラートなどで報告されたサードパーティ製パッケージの脆弱性について、コードから脆弱な箇所に到達できるか、悪用が可能かを検証するスキルがあります。このスキルは UI から直接呼び出すことも、CLI から呼び出すこともできます。

Codex は Dependabot のアラートを 1 件ずつトリアージします。その後、報告されたリスクを一覧にまとめ、アラートごとにリスクが確認できたかどうかと、その判断理由を示します。

パッケージのバージョン変更時のスキャン
依存パッケージのバージョンが変更されたときに、そのパッケージの最新バージョンを対象にセキュリティスキャンを実行することもできます。
name: Codex Security dependency scan
on:
pull_request:
paths:
- package.json
- package-lock.json
permissions:
contents: read
jobs:
scan:
name: Scan dependency changes
if: github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-24.04
timeout-minutes: 45
steps:
- name: Set up the Ubuntu sandbox
run: |
sudo apt-get update
sudo apt-get install --yes bubblewrap apparmor-profiles
sudo apparmor_parser -r /usr/share/apparmor/extra-profiles/bwrap-userns-restrict
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: "26"
- name: Set up Python
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: "3.14"
- name: Install Codex Security
run: |
set -euo pipefail
npm install \
--prefix "$RUNNER_TEMP/codex-security" \
--ignore-scripts \
--no-audit \
--no-fund \
@openai/codex-security
- name: Verify Codex Security
env:
CODEX_SECURITY_BIN: ${{ runner.temp }}/codex-security/node_modules/.bin/codex-security
run: |
set -euo pipefail
test -x "$CODEX_SECURITY_BIN"
"$CODEX_SECURITY_BIN" --version
- name: Check out the pull request
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
persist-credentials: false
- name: Install project dependencies
run: |
set -euo pipefail
npm ci --ignore-scripts --no-audit --no-fund
- name: Run full repository scan
env:
OPENAI_API_KEY: ${{ secrets.CODEX_SECURITY_API_KEY }}
CODEX_SECURITY_BIN: ${{ runner.temp }}/codex-security/node_modules/.bin/codex-security
CODEX_SECURITY_STATE_DIR: ${{ runner.temp }}/codex-security-state
SCAN_DIR: ${{ runner.temp }}/codex-security-results
run: |
set -euo pipefail
"$CODEX_SECURITY_BIN" scan . \
--auth api-key \
--output-dir "$SCAN_DIR" \
--fail-on-severity high \
--json > "$RUNNER_TEMP/codex-security.json"
- name: Preserve scan results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: codex-security-dependency-results
path: |
${{ runner.temp }}/codex-security-results
${{ runner.temp }}/codex-security.json
if-no-files-found: warn
retention-days: 7