Coni Agent Studioによる自律的なCVEパッチ適用
ゼロからマルチエージェント・オーケストレーションシステムを構築することは、多くの場合、果てしない複雑なレイヤーに対処することを意味します。インタプリタのオーケストレーション、外部ツールの実行管理、外部LLM APIの厳格なスキーマ制約との格闘などです。
しかし、Coniは複雑さへの解答です。
Coni Agent Studioを使用することで、エージェントが単にチャットするだけでなく、自律的に行動し、実行し、現実のエンジニアリング問題を解決する、合理化されたネイティブなオーケストレーションレイヤーを構築しました。
このシステムのパワーを実証するため、私たちはソフトウェアエンジニアリングで最も退屈な作業の1つであるJavascriptの依存関係セキュリティとCVEパッチ適用に特化したエンドツーエンドのスウォームを構築しました。
Coni Agent Studioがそれをどのように自律的に処理するかをご紹介します。
スウォーム・オーケストレーター
システムの中心にあるのはスウォーム・オーケストレーターです。OpenAIのgpt-4o-miniのようなLLMを活用し、オーケストレーターの唯一の仕事は、ユーザーの高度な目標を分解し、特定のタスクに特化したワーカージェントに委任することです。
例えば、オーケストレーターに次のようなプロンプトを与えるとします:
“OSV.devを使用してpackage.jsonのCVEをスキャンし、lodashとaxiosの修正を提案し、npm installを実行して、結果をコミットして。”
オーケストレーターは即座に計画を策定し、JS CVE Scannerエージェントをリポジトリに派遣します。
自律的な発見とAPI統合
JS CVE Scannerには、tool-shell、tool-cat、tool-httpという特定のツールセットが装備されています。
- ローカルコンテキスト: まず
tool-shellを使用してターゲットプロジェクトのpackage.jsonを読み込み、dependenciesとdevDependenciesの両方を抽出します。 - 外部インテリジェンス: 次に、バッチペイロードをフォーマットし、
tool-httpを使用してOSV.devの脆弱性APIにアクセスします。Coniのネイティブなsys-http-requestバインディングのおかげで、エージェントはサンドボックスから抜け出すことなく、ヘッダーやJSONペイロードをネイティブに処理し、複雑なPOSTリクエストをシームレスに実行できます。
分析とレポーティング
OSV APIが脆弱性データを返すと、エージェントは結果を分析します。インストールされているバージョンと脆弱性のある範囲をマッピングし、重要な情報を抽出します:
- 特定のCVE ID(例:lodashのCVE-2019-10744)
- CVSS深刻度スコア
- 脆弱性が修正された正確なバージョン
自動修復とGit統合
Coni Agent Studioの魔法は、レポーティングだけで終わらないことです。エージェントは収集したインテリジェンスを利用して修復に移行します:
- ファイル編集ツールを使用して、
package.json内の脆弱なバージョンを安全なバージョンへと外科的に引き上げます。 - シェルを介して
npm installを実行し、package-lock.jsonを再生成します。 - ソースコード(
index.js)に直接コメントを追加し、どのCVEが解決され、なぜバージョンが引き上げられたかを正確に記録します。 - 最後に、gitツールを使用して変更をステージングし、セキュリティパッチの概要を説明する詳細なコミットメッセージを自律的に生成します。
Cronトリガーによるプロセスの自動化
このプロセスを完全に自律的にするためには、手動でオーケストレーターにプロンプトを送信する必要すらありません。Coni Agent Studioには、組み込みのCronトリガーシステムが搭載されています。
*“毎週月曜日の午前9時”*のような自然言語のスケジュールを入力するだけで、Studioは対応するcron式(0 9 * * 1)を生成し、CVEスキャンのプロンプトを自動的にオーケストレーターに派遣します。これにより、人間の介入なしにリポジトリが継続的に監視され、パッチが適用されることが保証されます。
結果
以前は開発者がnpm auditを実行し、手動でCVEデータベースを相互参照し、ファイルを編集し、ビルドをテストする必要があった作業が、単一のプロンプトに縮小されました。
インタプリタ、標準ライブラリ、そしてLLMツールの制約を単一のまとまったランタイムに統合することで、Coni Agent Studioはマルチエージェントエンジニアリングの複雑さを、純粋で実行可能なシンプルさへと変換します。