For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme
Codex

Codex use case

CI/CD におけるサプライチェーンリスク管理

依存関係のアラートを調査し、パッケージの更新に伴うセキュリティリスクを確認します。

Difficulty Intermediate
Time horizon Long-running

Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。

Best for

  • 依存関係のアラートのうち、どれに対応すべきかを判断するアプリケーションセキュリティチーム
  • 新たに導入したパッケージや依存関係の更新を評価する開発者
  • 依存関係の変更時に実行するセキュリティスキャンを CI/CD パイプラインに組み込むプラットフォームチーム

Contents

    ← All use cases

    CI/CD におけるサプライチェーンリスク管理

    依存関係のアラートを調査し、パッケージの更新に伴うセキュリティリスクを確認します。

    Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。

    Intermediate
    Long-running

    Codex Security CLI を使い、サードパーティの依存関係がアプリケーションのセキュリティに与える影響を評価します。Dependabot アラートの優先度を判断して内容を検証し、パッケージの追加時や更新時にセキュリティスキャンを実行します。

    Intermediate
    Long-running

    Best for

    • 依存関係のアラートのうち、どれに対応すべきかを判断するアプリケーションセキュリティチーム
    • 新たに導入したパッケージや依存関係の更新を評価する開発者
    • 依存関係の変更時に実行するセキュリティスキャンを CI/CD パイプラインに組み込むプラットフォームチーム

    依存パッケージを新たに追加したときやバージョンを上げたときは、Codex Security CLI を使って、コードベースが依存するパッケージの安全性を評価できます。こうした評価は、脆弱なパッケージに起因するサプライチェーンリスクを未然に防ぐうえで非常に有効です。評価を実行するには、Codex Security CLI のコマンドをカスタムワークフローに組み込みます。

    Dependabot アラートの検証

    Codex Security には、Dependabot のアラートなどで報告されたサードパーティ製パッケージの脆弱性について、コードから脆弱な箇所に到達できるか、悪用が可能かを検証するスキルがあります。このスキルは UI から直接呼び出すことも、CLI から呼び出すこともできます。

    Codex が Dependabot アラートを調べるために triage-finding スキルを呼び出す様子。

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

    Dependabot アラートのトリアージ結果。各アラートの判定と、静的解析に基づく判断理由が表示されています。

    パッケージのバージョン変更時のスキャン

    依存パッケージのバージョンが変更されたときに、そのパッケージの最新バージョンを対象にセキュリティスキャンを実行することもできます。

    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

    Related use cases