OpenAI は7月29日にコードリポジトリのセキュリティを検査するためのオープンソースのコマンドラインツール「Codex Security CLI」を公開しました。このツールの目的は単純です。開発者がコードリポジトリをスキャンし、セキュリティ上の脆弱性を見つけ出し、その検査プロセスを継続的インテグレーションと継続的配信(CI/CD)のフローに直接組み込むことを支援することです。

興味深いことに、このツールは正式に公開される前にすでにどこかで見つかりました。OpenAIは現在、これはまだ初期バージョンであり、開発者のフィードバックに基づいて今後機能を改善していくと述べています。このツールはコマンドラインの見た目を持ち、同時にTypeScript SDKのインターフェースも備えています。開発者はターミナルでリポジトリをスキャンし、コード変更を確認し、実行サイクルを通じてセキュリティ問題を追跡することができるとともに、バグが修正されたかどうかを簡単に確認できます。

image.png

CI/CDフローに接続すると、継続的な開発プロジェクトは毎回ビルドするたびに自動的にセキュリティチェックを実行し、潜在的なリスクをマージする前に行います。導入ハードルは低いです。開発者はnpmで@openai/codex-securityというパッケージをインストールし、npxコマンドでヘルプを呼び出します。次にloginコマンドでログインし、scanコマンドで現在のディレクトリをスキャンします。これにより、リポジトリのセキュリティの詳細が明らかになります。

実行する前に、機械にはいくつかの準備が必要です。Node.js 22以上、Python 3.10以上、そしてCodex Securityへのアクセス権が必要です。CI環境では人為的なログインは必要なく、OPENAI_API_KEYという環境変数を設定すれば、認証は自動的に行われます。また、ツールはChatGPTアカウントでのログインとAPIキーの認証の両方を受け入れており、パラメータを使ってどちらの方法を使うかを選択できます。TypeScriptプロジェクト内で直接呼び出す場合は、公式のSDKのインターフェースも用意されており、スキャン後にレポートのパスを得られます。

すべてのスキャンの履歴はCodex Securityの作業ディレクトリに保存されます。デフォルトのパスが書き込めない場合、CODEX_SECURITY_STATE_DIRという変数を使用して別の書き込み可能なディレクトリを指定できます。コードは現在GitHubのopenai/codex-security下に掲載されており、誰でもコードをチェックしたい人に開放されています。セキュリティチェックが人為的な点検からコマンドラインの1行の命令になることで、ソフトウェアサプライチェーンにおいて最も見過ごされがちな防衛線が少しずつ前進しています。