AIがコーディングを加速する中、CVE Lite CLIはセキュリティを意図的にAI無しに保つ

OWASP支援のツールがJavaScriptとTypeScriptのロックファイルをローカルでスキャンし、開発者がCI失敗前に依存関係のリスクを検出し修復するのを支援することを目指しています。

AI開発アシスタントがソフトウェア開発を加速する中、OWASP支援のあるオープンソースプロジェクトは、依存関係セキュリティツーリングがまだ本当に有用になるには遅すぎると主張しています。

CVE Lite CLIはローカルロックファイル分析に焦点を当てたJavaScriptおよびTypeScript依存関係脆弱性スキャナーであり、シンプルなアイデアの周りに位置付けられています。開発者は失敗するCIパイプライン内で数時間後ではなく、まだコードを書いている間に依存関係リスクを見るべきです。

「開発者が見落としているのは、依存関係の決定がなされるポイントでの早期フィードバックです」とプロジェクトの作成者兼保守者であるSonu Kapoorは述べました。Kapoorによると、従来のCI中心のワークフローは、開発者を最初にリスクをもたらした依存関係の選択から切り離すことが多いです。

CVE Lite CLIはOSV脆弱性データを使用してnpm、pnpm、およびYarnロックファイルをスキャンし、直接的および推移的な脆弱性の分離、アップグレードターゲットの検証、および実行可能な修正パスの推奨を含む修復ガイダンスに大きく焦点を当てることを主張しています。

このプロジェクトは、開発者がすでにCIが後で再度実行する前にローカルでESLintまたはユニットテストを使用するのと同じように、エンタープライズソフトウェア構成分析(SCA)プラットフォームの置き換えではなく「ローカルファースト」開発者ツールとしてピッチされています。

CVE Lite CLIは見落とされていた課題をターゲットにしている

CVE Lite CLIは本質的にワークフロー問題を解決しようとしており、Kapoorは多くの開発者が静かに苦労していると言います。依存関係セキュリティチェックはしばしば作業が既に完了した後に到着します。

このツールはnpm、pnpm、およびYarnプロジェクト全体でJavaScriptおよびTypeScriptロックファイルをローカルでスキャンするため、開発者はCI失敗への対応として後ではなく、まだコーディングしている間に依存関係リスクを理解できます。

検出だけに焦点を当てるのではなく、このツールは問題が直接的か推移的か、クリーンなアップグレードパスがあるかどうか、またはあるパッケージをアップグレードすることが実際に脆弱な依存関係を削除するかどうかなどの後続の質問を調査することを主張しています。

「実際のケースでは、CVE Lite CLIはより安全なバージョンを推奨する前に27パッケージバージョンをスキップしました」とKapoorはツールの粒度を説明して述べました。「これは開発者がログを読んでアップグレードを一つずつ再試行することによって手動で行う必要がない種類の作業です。」

KapoorはこのツールはJSON、SARIF、またはHTML出力用に構成でき、GitHubActionとしてCIワークフローに統合することもできると述べました。

AIは物事をさらに悪化させている可能性がある

この議論は、ソフトウェアサプライチェーンセキュリティがAIアシステッド開発慣行との衝突を続けている中で到着します。これにより開発者はコードを生成し、パッケージを統合し、プロジェクトを以前より大幅に高速に再構築することができます。

Kapoorはこの速度は依存関係リスク自体の性質を変えると述べました。「AI開発アシスタントはこれをより重要にしましたが、より少なくはありません」と彼は述べました。「その速度は有用ですが、依存関係の決定が迅速に発生する可能性があり、時には同じレベルの手動レビューなしで発生することを意味します。AIアシスタントがセキュリティチェックの必要性を削除するとは思いません。」

逆に、彼は仕事が進行中に実行できる高速でローカルで説明可能なチェックの必要性を増やしていると彼は付け加えました。

引用された一つの例は、広く使用されているJavaScriptツーリングパッケージであるlint-stagedに対するスキャンを含みました。Kapoorによると、標準的な「npm audit –omit=dev」ワークフローはCVE Lite CLIがロックファイル分析を通じて後で特定した本番依存関係問題を浮かび上がらせるのに失敗しました。「正直に言うと、ほとんどの開発者がそれらのブラインドスポットを詳細に理解しているとは思いませんし、開発者への批判としてそれを意味していません」と彼は述べました。「現代のJavaScriptプロジェクトの依存グラフは非常にノイズが多いです。」

1つの直接依存関係をインストールすることを意図している開発者は、数百または数千の推移的パッケージで終わる可能性があります。

CVE Lite CLIはAIに頼らない

このプロジェクトはまた、セキュリティツーリングをAI対応エコシステムに統合するための増加する業界圧力にもかかわらず、自分自身をより広いAppSecプラットフォームに変えることを意図的に回避します。

「セキュリティツーリングは日々の開発者ワークフローに対して重すぎるようになったと思います」とKapoorは述べました。「それはそれらのプラットフォームが悪いという意味ではありません。それはセキュリティ組織が通常のコーディングセッション中に安全な依存関係決定を下そうとしている個々の開発者よりもよく機能することを意味します。」

この哲学はまたプロジェクトのAI自体へのアプローチにまで拡張されます。CVE Lite CLIはAI開発アシスタントがスキャン結果を解釈するのを助ける統合を含みながら、Kapoorは基礎となる脆弱性分析が意図的に決定論的のままであると述べました。

「AIがCVEが存在するかどうかを決定すべきではないと思います」と彼は述べました。「その部分は退屈で、繰り返し可能で、監査可能である必要があります。」

代わりに、プロジェクトはスキャナー自体ではなく、スキャン結果の周りの「説明およびワークフローレイヤー」として創設者が説明したものとしてAIを使用します。「CVE Lite CLIには、Claude Code、Codex CLI、Gemini CLI、Cursor、GitHub Copilotなどのツールに、CVE Lite CLIを実行する方法、その構造化出力を読む方法、および開発者が修復計画を理解または優先順位付けするのを支援する方法を教えるAIアシスタントスキルが含まれています」とKapoorは説明しました。

拡張に関する注意

Kapoorは、実際のワークフローでCVE Lite CLIを使用している企業と開発者から肯定的なフィードバックを受け取っており、同じアプローチが.NETまたはPythonエコシステムをサポートできるかどうかを尋ねていると述べました。

「その関心は、ローカルファースト、修復指向のモデルが元のJavaScriptおよびTypeScriptの使用例を超えて共鳴していることを私に伝えているため、励みになります」と彼は述べました。「しかし、現在のツールを非常に広く拡張することについては慎重です。」

彼が与えた説明は単純でした。彼は、各エコシステムが独自のパッケージマネージャーの動作、ロックファイル形式、依存グラフセマンティクス、アドバイザリソース、修復パターンを持っていると信じています。「それらをCVE Lite CLIに直接追加すると、当初サポートするために設計されたJavaScriptおよびTypeScript開発者にとってツールがより重くなり、不明確になる可能性があります。」プロジェクトはOWASP財団エコシステムに公式のOWASPプロジェクトとして採用され、GitHubで開発者に無料で利用可能です。

翻訳元: https://www.csoonline.com/article/4176701/as-ai-speeds-coding-cve-lite-cli-keeps-security-deliberately-ai-free.html

ソース: csoonline.com