<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Security on NicoLabs</title>
		<link>http://blog.hellonico.info/ja/tags/security/</link>
		<description>Recent content in Security on NicoLabs</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 08 Jul 2026 00:40:00 +0800</lastBuildDate>
		
			<atom:link href="http://blog.hellonico.info/ja/tags/security/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Coni Agent Studioによる自律的なCVEパッチ適用</title>
				<link>http://blog.hellonico.info/ja/posts/coni/agent-studio-debugging/</link>
				<pubDate>Wed, 08 Jul 2026 00:40:00 +0800</pubDate>
				<guid>http://blog.hellonico.info/ja/posts/coni/agent-studio-debugging/</guid>
				<description>&lt;p&gt;ゼロからマルチエージェント・オーケストレーションシステムを構築することは、多くの場合、果てしない複雑なレイヤーに対処することを意味します。インタプリタのオーケストレーション、外部ツールの実行管理、外部LLM APIの厳格なスキーマ制約との格闘などです。&lt;/p&gt;&#xA;&lt;p&gt;しかし、&lt;strong&gt;Coniは複雑さへの解答です。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Coni Agent Studioを使用することで、エージェントが単にチャットするだけでなく、自律的に行動し、実行し、現実のエンジニアリング問題を解決する、合理化されたネイティブなオーケストレーションレイヤーを構築しました。&lt;/p&gt;&#xA;&lt;p&gt;このシステムのパワーを実証するため、私たちはソフトウェアエンジニアリングで最も退屈な作業の1つである&lt;strong&gt;Javascriptの依存関係セキュリティとCVEパッチ適用&lt;/strong&gt;に特化したエンドツーエンドのスウォームを構築しました。&lt;/p&gt;&#xA;&lt;p&gt;Coni Agent Studioがそれをどのように自律的に処理するかをご紹介します。&lt;/p&gt;&#xA;&lt;h3 id=&#34;スウォームオーケストレーター&#34;&gt;スウォーム・オーケストレーター&lt;/h3&gt;&#xA;&lt;p&gt;システムの中心にあるのは&lt;strong&gt;スウォーム・オーケストレーター&lt;/strong&gt;です。OpenAIの&lt;code&gt;gpt-4o-mini&lt;/code&gt;のようなLLMを活用し、オーケストレーターの唯一の仕事は、ユーザーの高度な目標を分解し、特定のタスクに特化したワーカージェントに委任することです。&lt;/p&gt;&#xA;&lt;p&gt;例えば、オーケストレーターに次のようなプロンプトを与えるとします：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;&amp;ldquo;OSV.devを使用してpackage.jsonのCVEをスキャンし、lodashとaxiosの修正を提案し、npm installを実行して、結果をコミットして。&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;オーケストレーターは即座に計画を策定し、&lt;strong&gt;JS CVE Scanner&lt;/strong&gt;エージェントをリポジトリに派遣します。&lt;/p&gt;&#xA;&lt;h3 id=&#34;自律的な発見とapi統合&#34;&gt;自律的な発見とAPI統合&lt;/h3&gt;&#xA;&lt;p&gt;JS CVE Scannerには、&lt;code&gt;tool-shell&lt;/code&gt;、&lt;code&gt;tool-cat&lt;/code&gt;、&lt;code&gt;tool-http&lt;/code&gt;という特定のツールセットが装備されています。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;ローカルコンテキスト:&lt;/strong&gt; まず&lt;code&gt;tool-shell&lt;/code&gt;を使用してターゲットプロジェクトの&lt;code&gt;package.json&lt;/code&gt;を読み込み、&lt;code&gt;dependencies&lt;/code&gt;と&lt;code&gt;devDependencies&lt;/code&gt;の両方を抽出します。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;外部インテリジェンス:&lt;/strong&gt; 次に、バッチペイロードをフォーマットし、&lt;code&gt;tool-http&lt;/code&gt;を使用して&lt;strong&gt;OSV.dev&lt;/strong&gt;の脆弱性APIにアクセスします。Coniのネイティブな&lt;code&gt;sys-http-request&lt;/code&gt;バインディングのおかげで、エージェントはサンドボックスから抜け出すことなく、ヘッダーやJSONペイロードをネイティブに処理し、複雑なPOSTリクエストをシームレスに実行できます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;分析とレポーティング&#34;&gt;分析とレポーティング&lt;/h3&gt;&#xA;&lt;p&gt;OSV APIが脆弱性データを返すと、エージェントは結果を分析します。インストールされているバージョンと脆弱性のある範囲をマッピングし、重要な情報を抽出します：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;特定の&lt;strong&gt;CVE ID&lt;/strong&gt;（例：lodashのCVE-2019-10744）&lt;/li&gt;&#xA;&lt;li&gt;CVSS&lt;strong&gt;深刻度&lt;/strong&gt;スコア&lt;/li&gt;&#xA;&lt;li&gt;脆弱性が&lt;strong&gt;修正&lt;/strong&gt;された正確なバージョン&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;自動修復とgit統合&#34;&gt;自動修復とGit統合&lt;/h3&gt;&#xA;&lt;p&gt;Coni Agent Studioの魔法は、レポーティングだけで終わらないことです。エージェントは収集したインテリジェンスを利用して修復に移行します：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ファイル編集ツールを使用して、&lt;code&gt;package.json&lt;/code&gt;内の脆弱なバージョンを安全なバージョンへと外科的に引き上げます。&lt;/li&gt;&#xA;&lt;li&gt;シェルを介して&lt;code&gt;npm install&lt;/code&gt;を実行し、&lt;code&gt;package-lock.json&lt;/code&gt;を再生成します。&lt;/li&gt;&#xA;&lt;li&gt;ソースコード（&lt;code&gt;index.js&lt;/code&gt;）に直接コメントを追加し、どのCVEが解決され、なぜバージョンが引き上げられたかを正確に記録します。&lt;/li&gt;&#xA;&lt;li&gt;最後に、gitツールを使用して変更をステージングし、セキュリティパッチの概要を説明する詳細なコミットメッセージを自律的に生成します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;cronトリガーによるプロセスの自動化&#34;&gt;Cronトリガーによるプロセスの自動化&lt;/h3&gt;&#xA;&lt;p&gt;このプロセスを完全に自律的にするためには、手動でオーケストレーターにプロンプトを送信する必要すらありません。Coni Agent Studioには、組み込みの&lt;strong&gt;Cronトリガー&lt;/strong&gt;システムが搭載されています。&lt;/p&gt;&#xA;&lt;p&gt;*&amp;ldquo;毎週月曜日の午前9時&amp;rdquo;*のような自然言語のスケジュールを入力するだけで、Studioは対応するcron式（&lt;code&gt;0 9 * * 1&lt;/code&gt;）を生成し、CVEスキャンのプロンプトを自動的にオーケストレーターに派遣します。これにより、人間の介入なしにリポジトリが継続的に監視され、パッチが適用されることが保証されます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;結果&#34;&gt;結果&lt;/h3&gt;&#xA;&lt;p&gt;以前は開発者が&lt;code&gt;npm audit&lt;/code&gt;を実行し、手動でCVEデータベースを相互参照し、ファイルを編集し、ビルドをテストする必要があった作業が、単一のプロンプトに縮小されました。&lt;/p&gt;&#xA;&lt;p&gt;インタプリタ、標準ライブラリ、そしてLLMツールの制約を単一のまとまったランタイムに統合することで、&lt;strong&gt;Coni Agent Studio&lt;/strong&gt;はマルチエージェントエンジニアリングの複雑さを、純粋で実行可能なシンプルさへと変換します。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
