- OpenAIがCodex SecurityのCLIと関連ツールをオープンソース公開し、ローカル開発環境やCIで利用できるようにした
- 権限のあるリポジトリを解析してセキュリティ脆弱性を検出し、実際に悪用可能かを検証し、関連コードと根拠をあわせて提示する
- リポジトリ全体だけでなく、特定パス、コミット間の差分、未コミットの作業内容だけを選んで検査できる
- 通常の検査より広い範囲を見るdeepモードと、プロジェクトのアーキテクチャ、脅威モデル、セキュリティポリシーを反映する知識ベースをサポートする
- 発見項目の重大度、信頼度、証拠、修正方法を構造化して提供し、検査履歴の比較やCIポリシーとの連携が可能
脆弱性の検出と検証
- 単に疑わしいコードパターンを列挙するだけでなく、コードフローと周辺コンテキストを分析して、実際のセキュリティ問題かどうかを検証する
- 発見項目ごとに次の情報を提供する
- 脆弱性の種類と重大度
- 判定に対する信頼度
- 影響を受けるファイルとコード位置
- 脆弱性と判断した根拠
- 攻撃または悪用が可能な経路
- 推奨される修正方法
検査範囲の選択
- 作業目的に応じて分析範囲を制限できる
- リポジトリ全体の検査
- 特定ディレクトリまたはパッケージのみを検査
- 基準コミットと現在のコミットの間の差分を検査
- ステージ済み、またはまだコミットしていないローカル差分を検査
- 新規追加または変更されたコードだけを検査でき、コードレビューやデプロイ前チェックに活用できる
Deepモード
- 通常の検査より多くの時間と分析作業を使って、リポジトリを広範囲にレビューする
- 複数ファイルやコンポーネント間の関係追跡が必要な複雑な脆弱性や、表面的なパターン検査では見つけにくい問題の分析に使う
- リポジトリ全体だけでなく、指定したパスにも適用できる
プロジェクト知識の反映
- コードだけを独立して分析するのではなく、プロジェクトに提供された文脈を検査に反映できる
- アーキテクチャ文書、脅威モデル、セキュリティポリシー、内部ルールなどをもとに、プロジェクト特化のリスクを判断する
- 一般的なセキュリティルールでは正常に見えても、そのシステムの設計原則に違反するコードも検査対象に含められる
結果レポートと検査の完全性
- 発見された脆弱性だけでなく、実際にどの領域を検査したかも記録する
- レポートには次のような検査状態が含まれることがある
- 分析した範囲
- 検査から除外された領域
- 完了できず保留になった作業
- 追加確認が必要な質問
- これにより、結果一覧だけでなく、リポジトリがどの程度までレビューされたかも確認できる
継続的なセキュリティ検査
- 以前の検査結果を再度開いたり、同じ検査を再実行したりして、発見項目の変化を追跡できる
- コード変更の前後で結果を比較し、脆弱性が新たに発生したのか、修正されたのかを確認できる
- コミット前検査、コードレビュー、複数リポジトリの一括検査、CIパイプラインのセキュリティポリシー検査に連携できる
1件のコメント
Hacker News のコメント
Promptfoo の共同創業者で、OpenAI で Codex Security CLI を開発している Michael です。認証の問題を知らせてくれてありがとう。ちょうど オープンソースとして公開したばかりなので、改善すべき点は多く、製品も急速に進化していく予定です
使ってみて、うまく動く点や改善点を教えてもらえるとうれしいです。質問にも答えます
CLI ドキュメント: https://learn.chatgpt.com/docs/security/cli
開発に参加してくれる人も採用中です: https://openai.com/careers/full-stack-software-engineer-cybe...
研究所の自社製品がその主張に反証しているので、これを信じる人が減るとよいと思います
小さなリポジトリで実行したところ、ほぼ1時間後に中断され、Pro プランの週間使用量の半分を消費しました
npx codex-security scan .を実行し、最大8つのワーカースロットでスキャンしましたが、52分後にスキャン中にリポジトリのHEADが変更されたため結果を保存できず、新しいスキャンを開始するようにというエラーが出ましたスキャナー自体は一番面白くない部分で、実行間の 重複排除、誤検知の追跡、予算制御、CI の合否判定を担う周辺の実行基盤こそが本当の製品です。最も興味深いイノベーションもこの層から出てくると見ています
チーム向けのコーディング実行基盤である AQ を作りながら、まったく同じ傾向を確認しました。最初は生のモデル自体が答えだと思っていましたが、すぐに考えが変わり、目的別の実行基盤は予想よりはるかに強力です
許可されていない操作を試みているというエラーが何度も出て、とても煩わしいです。どの種類のプロジェクトで動作するのか、コードの所有権をどう確認しているのか知りたいです
たとえば、自分が書いたパッチが含まれていても、Linux カーネルではそもそも動作しないのか気になります
AI 企業のセキュリティツールは、放火犯が運営する消防署のように感じます。有用ではありますが、多数の火災で誰が利益を得ているのかを気にせずにはいられません
以前から Codex プラグインとして提供されていたもののようで、核心となるニュースは OpenAI がこれを オープンソース化し、開発も急速に進んでいるという点です
スキャン中の CLI 出力には興味深い情報がほとんどありません。トークン使用量や進捗率のような情報を表示してほしいです
Alibaba も CLI ベースのコードレビュー ツールをオープンソースで公開しました: https://github.com/alibaba/open-code-review
このツールが分析のためにコードを ChatGPT にアップロードするのか気になります。一部の企業プロジェクトでは コードの外部送信が許可されない場合があります
こうしたツールが Snyk のような会社を廃業に追い込むのか気になります。職場で Snyk を使っていますが、満足できるものではありませんでした