ニュース

OpenAI Codex SecurityをOSS公開|導入からCI連携まで

OpenAI Codex SecurityをOSS公開|導入からCI連携まで

この記事の結論

OpenAIが脆弱性スキャンCLI「Codex Security」をApache 2.0でOSS公開。npmでのインストールからスキャン実行、CI連携までの手順をコード付きで解説する。

OpenAIが2026年7月、脆弱性の検出・確認・修正を1本のCLIで完結させる「Codex Security」をオープンソースで公開した。npmパッケージ@openai/codex-securityとして配布され、GitHubリポジトリopenai/codex-securityで開発が進んでいる。ライセンスはApache 2.0、公開から数日でバージョン0.1.4までパッチが重ねられており、まだ活発に動いているプロジェクトだ。

Snyk・Semgrep・GitHub Advanced Securityのような従来の静的解析ツールと違い、Codex SecurityはCodexの推論モデル(既定はgpt-5.6-sol)を使ってリポジトリを読み、脆弱性の疑いを検証しながら報告する。ルールベースのパターンマッチではなく、コードの文脈を理解した上で「本当に悪用可能か」まで検証しようとする設計だ。

この記事では、実際にコマンドを動かしながら、インストールからスキャン実行、CI連携までの手順を確認する。

何が公開されたのか

GitHub上のリポジトリ情報を確認すると、openai/codex-securityは2026年7月13日に作成され、npm版の最初のリリース(v0.1.0)は2026年7月30日に公開されている(GitHub Releases・npmレジストリで確認、2026年7月31日時点の最新は0.1.4)。まだ1.0未満のプレリリース段階で、README にも「1.0.0より前はパブリックAPIがマイナーバージョン間で変わる可能性がある」と明記されている。

項目 内容
パッケージ名 @openai/codex-security(npm)
リポジトリ github.com/openai/codex-security
ライセンス Apache-2.0
最新バージョン 0.1.4(2026年7月30日リリース、確認日2026年7月31日)
対応OS macOS / Linux / Windows
必須環境 Node.js 22.13.0以降(22.x系)、24.x、26.x / Python 3.10以降
既定モデル gpt-5.6-sol(--modelで変更可、例: gpt-5.6-terra)

提供形態はCLIとTypeScript SDKの両方。CLIで手元やCIから直接叩く使い方と、SDKでNode.jsアプリに組み込んでスキャンを制御する使い方の両方が想定されている。

動かしてみる — インストールから最初のスキャンまで

注意文: 本番リポジトリではなく、まずは検証用リポジトリやローカルのテスト環境で動作確認してから使うこと。スキャン対象は「自分が所有しているか、評価する権限があるリポジトリ」に限られる。

# 動作環境: Node.js 22.13+/24.x/26.x, Python 3.10+
npm install @openai/codex-security

# ChatGPTアカウントでログイン(ローカル利用向け)
npx @openai/codex-security login

# カレントディレクトリをスキャン
npx @openai/codex-security scan .

# モデルと解析の深さ(effort)を指定する場合
npx @openai/codex-security scan . --model gpt-5.6-terra --effort high

loginは対話的なChatGPTサインインだけでなく、リモート/ヘッドレス環境向けのデバイス認証(login --device-auth)にも対応している。スキャン履歴は「workbench」と呼ばれる状態ディレクトリ(既定はCodexのホーム配下、環境変数CODEX_SECURITY_STATE_DIRで変更可能)にSQLiteで保存され、後述の差分比較に使われる。

認証とCI連携

ローカルではChatGPTサインインが簡単だが、CI/CDパイプラインでは環境変数によるAPIキー認証が前提になる。README には「CI環境変数のAPIキーは現在のスキャンにだけ渡され、Codexの認証情報ホームやOSのキーチェーンには保存されない」と明記されている。

# CI環境ではAPIキーを環境変数で渡す(ログイン不要)
export OPENAI_API_KEY="sk-xxxx"
npx @openai/codex-security scan .

# ChatGPTログインとAPIキーを両方使い分けたい場合
npx @openai/codex-security scan . --auth chatgpt
npx @openai/codex-security scan . --auth api-key

GitHub Actionsに組み込む場合は、リポジトリSecretsにOPENAI_API_KEYを登録し、通常のnpxジョブとして呼び出す形になる。

# .github/workflows/codex-security.yml
name: Codex Security Scan
on:
  pull_request:
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
      - name: Run Codex Security scan
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: npx @openai/codex-security@latest scan .

注意点として、公式にはコンテナでの一括スキャン向けにDocker Composeの構成も用意されている(非対話・再開可能なスキャン、Ubuntu AppArmorによるサンドボックス強化に対応)。CI環境でPull Requestごとに毎回全量スキャンするとモデルコストがかさむため、後述の--max-cost-usdや差分スキャンの使い分けを検討したい。

スキャン結果の読み方と差分比較

スキャン結果はMarkdownレポート、JSON、SARIF、CSVの複数形式で出力される。SARIF出力に対応しているため、GitHub Code ScanningなどSARIFを取り込めるダッシュボードにそのまま連携できるのは実務上ありがたい設計だ。

Codex Securityの特徴的な機能がscans compareによるスキャン間の差分比較だ。

# 2回のスキャンIDを指定して差分を見る
npx @openai/codex-security scans compare BEFORE_SCAN_ID AFTER_SCAN_ID

公式ドキュメントによれば、この比較は指摘事項を「原因(root cause)」単位で自動的に突き合わせ、新規・継続中・再発・解消済み・不明(未確認)のいずれかに分類する。カバレッジが不完全でその箇所が再レビューされなかった場合は「不明」のまま残る点も明記されており、100%自動で白黒つけられるわけではないことは押さえておきたい。

TypeScript SDKで組み込む

CLIだけでなく、Node.jsアプリケーションから直接呼び出すTypeScript SDKも同梱されている。ESM専用パッケージで、型定義付きだ。

// 動作環境: Node.js 22.13+, TypeScript, @openai/codex-security
import { CodexSecurity } from "@openai/codex-security";

const security = new CodexSecurity();

try {
  const result = await security.run("/path/to/repository", {
    outputDir: "/path/outside/repository/results",
    mode: "standard", // "deep" も選択可
    maxCostUsd: 5,      // 想定コストの上限で打ち切り
  });

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

outputDirはスキャン対象のリポジトリの外に置くことが推奨されている。ソースコードの抜粋や再現手順を含むレポートが生成されるため、リポジトリ内に置いたままpushしてしまうと機密情報の漏えいにつながりかねない。maxCostUsdで見積もりコストの上限を設定できる点も、CIでの暴走コストを防ぐうえで実用的だ。この種のAIエージェント自体の権限設計・情報漏えい対策はAIエージェント ガバナンス・権限設計2026も合わせて確認しておきたい。

既存ツールとの違いと限界

SemgrepやGitHub Advanced Security(CodeQL)のような静的解析エンジンは、既知パターンとの照合が中心で高速・低コストな一方、コードの実行文脈までは読み切れず誤検知(false positive)が出やすい。Codex Securityはモデルにコードを読ませて「本当に悪用できるか」まで踏み込んで検証しようとする方向性だが、これはLLMベースゆえの裏返しの弱点も抱える。既存のAIコードレビューツールとの立ち位置の違いはAIコードレビューエージェント解説|主要5ツール比較でも整理しているので、選定の参考にしてほしい。

正直に書くと、以下は導入前に理解しておくべき限界だ。

  • スキャン1回ごとにモデル推論コストが発生する。静的解析ツールのように無料・定額では回せない
  • LLMによる検証である以上、既存の静的解析同様にハルシネーション(誤検知・見逃し)のリスクはゼロではない
  • 0.1系のプレリリース段階であり、パブリックAPI・CLIオプションが将来のマイナーバージョンで変わる可能性がある
  • 「Trusted Access」向けアカウント検証が推奨されており、利用にはOpenAIアカウントでのアクセス許可が必要

そのため現時点では、既存の静的解析ツールを置き換えるというより、Pull Requestの差分に対する追加のレビュー層として併用する使い方が現実的だろう。

開発者が今週やるべきこと

  1. 今日: 個人の検証用リポジトリでnpx @openai/codex-security loginscan .を試し、レポート形式とfindingsの粒度を確認する
  2. 今週中: Pull Request単位でのスキャンを想定し、--max-cost-usdでコスト上限を設定した上でCI(GitHub Actions等)に組み込んでみる
  3. 今月中: 既存の静的解析(Semgrep/CodeQL等)と結果を突き合わせ、Codex Securityが拾う指摘・見逃す指摘の傾向を把握してから本番導入を判断する

まとめ

Codex Securityは、Codexの推論能力をコードレビューではなく脆弱性の発見・検証・修正確認に振り向けたOpenAIの新しいOSSツールだ。npmでのインストールからスキャン、CI連携までは数分で試せる手軽さがある一方、モデル推論コストとプレリリース段階特有の不安定さは念頭に置いておきたい。まずは自分のリポジトリで小さく試し、既存の静的解析との役割分担を見極めるところから始めるのが現実的だろう。

よくある質問

Codex Securityは無料で使えますか?

CLI・SDK自体はApache 2.0のオープンソースで無料だが、スキャン実行にはOpenAIのモデル推論(既定はgpt-5.6-sol)が使われるため、ChatGPTのアクセス権かAPIキー経由の利用料が発生する。--max-cost-usdで1回あたりの推定コスト上限を設定できる。

どんな言語のコードをスキャンできますか?

CLI自体はNode.js/Python環境で動作するが、スキャン対象のコード自体の言語は特定の言語に限定される記載は公式README上にはない。リポジトリ全体、指定パス、コミット済みdiff、作業ツリーのdiffのいずれもスキャン対象に指定できる。

GitHub Actions以外のCIでも使えますか?

使える。CI向けの認証は環境変数OPENAI_API_KEYまたはCODEX_API_KEYを渡すだけなので、GitLab CI、CircleCIなど任意のCI環境からnpxで呼び出せる。公式はコンテナでの一括スキャン用にDocker Composeの構成も提供している。

SemgrepやCodeQLと同時に使う意味はありますか?

ある。静的解析ツールは既知パターンとの照合が高速・低コストな一方、文脈理解には限界がある。Codex Securityはコストと引き換えに文脈込みの検証を行う設計のため、既存の静的解析の指摘を減らすというより、Pull Requestの追加レビュー層として組み合わせる使い方が現実的だ。

プレリリース版(0.1系)を本番のCIに組み込んでも大丈夫ですか?

公式が「1.0.0より前はパブリックAPIがマイナーバージョン間で変わりうる」と明記している段階なので、本番のブロッキングチェックとして導入するより、まずは警告用途やPRコメント用途で試験導入し、挙動が安定してから本番運用を検討するのが無難だ。

参考・出典

この記事を読んでAIエージェント・AI開発ツールの導入イメージが固まってきた方へ

UravationではAIエージェント導入の研修・コンサルを行っています。

この記事はAIgent Lab編集部がお届けしました。

関連記事: Test Companion入門|IDEで動くAIテストエージェント

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年7月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事