Repo-lab
開発ツール

openai/codex-security CLIとTypeScript SDKの使い方を完全解説

⭐ 3,257 stars GitHub →

codex-securityは、OpenAIが提供するコードセキュリティ脆弱性の自動検出・修正提案ツールです。GitHubで3257スターを獲得し、npmで1コマンドインストール後すぐにリポジトリスキャンが可能です。

本記事では、Codex Security Webインターフェースの情報が多い中、特にCLIとTypeScript SDKの具体的な使い方に焦点を当てて解説します。


codex-security CLIとは?セキュリティスキャンの全体像

@openai/codex-securityは、OpenAIのCodex Securityプラットフォームと連携するCLIツール兼TypeScript SDKです。コードリポジトリを自動スキャンし、セキュリティ脆弱性を検出して修正提案まで行います。


codex-security CLI 使い方 セキュリティスキャンの基本

インストールと初回セットアップ

前提条件として Node.js 22以上と Python 3.10以上が必要です。

npm install @openai/codex-security
npx codex-security login
npx codex-security scan .

3コマンドで完結します。loginコマンドでChatGPTアカウントと連携後、scan .でカレントディレクトリ(リポジトリ)を丸ごとスキャンします。

認証方式の選択

CLIは2つの認証方式をサポートしています。

ChatGPTサインイン(インタラクティブ利用向け):

npx codex-security scan . --auth chatgpt

APIキー(CI/CD向け):

export OPENAI_API_KEY="your-api-key"
npx codex-security scan .

両方が設定されている場合、インタラクティブモードではどちらを使うか選択を促されます。CI/CD環境など非インタラクティブな状況ではAPIキーが自動的に優先されます。

スキャン履歴の管理

スキャン履歴はデフォルトでCodex Securityワークベンチのステートディレクトリに保存されます。書き込み権限がない環境では、環境変数で保存先を変更できます。

export CODEX_SECURITY_STATE_DIR=/path/to/writable/directory
npx codex-security scan .

openai codex security TypeScript SDK CI/CD 組み込みの方法

CI/CDパイプラインへの組み込み

GitHub ActionsなどのCI環境では、APIキーをシークレットとして設定するだけでサインインなしに使用できます。

# .github/workflows/security.yml の例
- name: Security Scan
  env:
    OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
  run: npx codex-security scan .

PRごとに自動でセキュリティチェックが走るため、脆弱性の早期発見が可能です。

TypeScript SDKとしての使用

アプリケーションに組み込んで使う場合、TypeScript SDKとして利用できます。

import { CodexSecurity } from "@openai/codex-security";

const security = new CodexSecurity();
const result = await security.run(".");

console.log(result.reportPath);
await security.close();

スキャン結果はレポートパスとして返却されます。複数リポジトリのスキャン結果を集約してダッシュボードを構築するといった用途に適しています。


Snyk・SonarQube等との違い:なぜcodex-securityなのか

既存のSAST(静的アプリケーションセキュリティテスト)ツールとの違いを整理します。

  • Snyk: 依存関係・コンテナ・IaCの脆弱性スキャンが強力。codex-securityはコードロジックの脆弱性検出にAIを活用する点で差別化される
  • SonarQube: ルールベースの静的解析が中心。codex-securityはOpenAIモデルを活用してコンテキスト理解に基づく修正提案ができる
  • CodeQL(GitHub Advanced Security): AST解析による脆弱性検出。codex-securityはOpenAIサービスとの連携が前提のため、OpenAI製品を既に使用しているチームには導入コストが低い

OpenAIのCodex・ChatGPTエコシステムを活用している開発チームにとって、追加認証なしに統合できる点が大きなメリットです。


こんな人に向いている:実務での活用シナリオ

DevOpsエンジニア・SREエンジニア

GitHub ActionsやGitLab CIなどのCI/CDパイプラインにnpx codex-security scanを組み込み、PRごとに自動セキュリティチェックを実施できます。セキュリティゲートとして機能させることで、脆弱性を本番環境に持ち込むリスクを大幅に削減できます。

セキュリティエンジニア

TypeScript SDKを使って複数リポジトリのスキャン結果を一元管理するカスタムダッシュボードを構築できます。定期的な脆弱性レポートの自動生成にも活用できます。

バックエンドエンジニア・フルスタックエンジニア

日常のコーディング中にCLIで素早くスキャンして脆弱性を早期発見できます。AI生成コードが増加する中、自動セキュリティ検証のワークフローをプロジェクトに組み込む需要が高まっています。


使う前に知っておきたいこと:制限・注意点

Codex Securityへのアクセス要件

codex-securityを使用するには「access to Codex Security」が必要です。公式ドキュメントによるとChatGPT Enterprise・Business・Edu・Proプランで利用可能とされています。無料プランでは使用できない可能性があるため、事前に利用可能プランを確認してください。

必要なランタイムのバージョン

  • Node.js 22以上(古いバージョンでは動作しない)
  • Python 3.10以上(内部処理に使用)

特にNode.js 22は2024年10月にLTSになったばかりで、既存環境との互換性確認が必要な場合があります。

スキャンデータのプライバシー

コードをOpenAIサービスに送信してスキャンするため、機密性の高いコード(クローズドソース・機密ビジネスロジック等)をスキャンする場合はデータポリシーを確認してください。完全ローカル環境でのスキャンは現時点では非対応です。


まとめ:codex-securityを導入すべき理由

codex-securityはOpenAIエコシステムを活用している開発チームにとって、既存の認証基盤をそのまま使えるセキュリティスキャンソリューションです。

npm installの1コマンドで始められる手軽さと、TypeScript SDKによる柔軟な組み込みが特徴です。特にCI/CDパイプラインへの自動セキュリティゲート組み込みを検討しているDevOpsエンジニア・セキュリティエンジニアに推奨します。

利用前にCodex Securityのプラン要件とデータポリシーを確認した上で導入を進めましょう。


関連ツール・おすすめサービス

  • Vercel (#pending) — セキュアなフロントエンドデプロイ環境。codex-securityと組み合わせてCI/CDセキュリティを強化
  • DigitalOcean (#pending) — 開発者向けクラウド。セキュリティスキャン環境のセルフホストに

この技術を学ぶ

DevToolに興味を持った方には、Udemyのオンラインコースもおすすめです。

  • 関連するDevToolコース一覧 (#pending) — セール時(最大90%OFF)を狙うとお得です

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください