開発環境の支援にJevは使えるか?
Coding Agentの評価スキルと、sandboxの行動分析を試した話
今回の内容
- Coding Agentの支援:評価を切り出し、使用量を抑えられるか
- 実行環境の支援:sandbox内の疑わしい行動を分類できるか
- 使ってみた範囲と限界:どこに使う意味がありそうか
Coding Agentの評価を切り出してみる
Jevは、材料と限定した質問から、分類や段階評価を返す。
Claude / Codexがコード・差分・ログを集める
↓ 評価スキルからJevを呼ぶ
関連性・候補・証拠の十分性を評価する
↓
Coding Agentが調査・実装を続ける
当初の仮説:評価を切り出せば、Agent側の使用量を減らせるかもしれない。
結果は、Jevの呼び出し割合が低すぎて優位性が出なかった。
ただ、評価を挟む場面は思ったより少ない
Issueの優先度判定には使えるかもしれない。ただ、順序が決まっていることも多い。
- 脆弱性対応は、深刻度が分かっていれば高いものから処理する
- 実装順序は、プランニング時に決まっていることが多い
- 五月雨式に出てくる課題は、仕様と実装方針を考える話に近い
仕様をどうするかは、機械的な優先度の採点だけでは決まらない。
今回のCoding Agentでの利用結果。ほかの用途でも同じ結果になるとは限らない。
スキルに入れてみた実感
Coding Agentのスキルに組み込んでも、特に実害は感じなかった。
ただ、そこまで良いこともなかった。
- Agentの作業全体に対して、Jevの呼び出し割合が低すぎた
- 判断を切り出しても、作業全体での優位性は出なかった
実害は感じなかったが、呼び出しが少なすぎて効果も出なかった。
方向を変えて考えてみる
- そもそも判断速度は必要なく、判断する量も少なかった
- 必要のない用途に当ててしまったのが問題だったのでは
- もっと判断速度が必要で、判断の量も多いものを考える
- ちょうどsandbox用のエコシステムを作っていた
- 動作ログから、不正なアプリケーションの挙動を検知できないか?
次は、実行環境の行動分析に使ってみる
ここからは実証研究段階の取り組み。検知精度や実運用での有効性は、まだ検証中。
動作ログから、異常な動作をしているプログラムがないか評価する。
資格情報ファイルへのアクセス試行
↓
関連するプロセスによるHTTP POST
正当なuploadでも、似た動きは起こる。
ホスト側で行動を集計し、関連を評価する材料を作る。
Jevへ渡す行動の特徴量
生ログではなく、ホスト側で集計した特徴量を jev.choice の state に渡す。
| 情報 | 内容 |
|---|---|
| 資格情報へのアクセス | 試行回数、openの成功・失敗回数 |
| 時間関係 | アクセスから関連POSTまでの時間差 |
| プロセス相関 | 通信との関連付けの状態。PIDは含めない |
| 通信の属性 | HTTPメソッド、許可状態、宛先が既知か新規か |
ファイルを開けたことと、中身を読んだことは区別する。
通信の結果と、観測の不足も渡す
| 情報 | 内容 |
|---|---|
| 通信量・結果 | Content-Length、受信・転送・応答のバイト数、完了/拒否/失敗 |
| 観測の品質 | イベント欠落、関連付け不足などの状態 |
| 形式情報 | 特徴量のバージョン、相関あり/通信のみのモード |
「送ろうとした」と「実際に送った」は違う。
分かったことだけでなく、分からないことも入力に残す。
三つの候補から評価する
- 通常の行動
- 資格情報アクセスとPOSTに疑わしい関連がある
- 証拠不足で判断できない
通常という回答も、観測した範囲での評価。
低confidenceや観測不足は棄権。通信失敗は評価結果と分ける。
現在は監査用の検証。自動遮断には使っていない。
Jevに送らない情報
外部APIへ送るため、今回の設計では次の情報を除外する。
- APIキー・資格情報・環境変数の値
- HTTP本文・ヘッダーやqueryの値・コマンド引数
- 生のファイルパス・ドメイン名・PID・イベントID
パスは役割へ、宛先は許可・既知・新規などの区分へ変換する。
秘密を後から探して消すより、送ってよいフィールドだけを組み立てる。
sandboxでうまくいけば、ほかのログにも
- 動作ログを集計し、行動の特徴から疑わしい挙動を評価する
- sandboxで有効性を確かめられれば、ほかの実行環境にも広げられそう
- 例えば、AWSのログからシステムの異常検知に使える可能性もある
- 継続的に流れてくるログなら、判断速度と判断量が必要になる
まずは実証研究。AWSへの応用も、これから検証したい可能性。
まとめ
- Coding Agentの評価スキルでは、Jevの呼び出し割合が低すぎて優位性が出なかった
- sandboxの行動分析は実証研究中。ログからの異常検知への応用を試したい
- その評価を、本当に機械化する必要があるかを考える
- 評価回数が多くなければ、LLMから置き換えてもメリットは小さい
- でも、安くて軽くてたくさん呼び出せるので、これからに期待している