Skills/Plugin
コーディングエージェントにセキュリティ監査をさせる Cloudflare の Skill「security-audit」
おすすめポイント
「AI にセキュリティチェックを頼んだら、それらしい指摘が大量に出てきて判断できない」という問題を、作業手順で解決している Skill。指摘を見つけたエージェントとは別のエージェントがその指摘を否定しにかかり、コード上で根拠をたどれて影響も確かめられたものだけを「確認済み」とする。深刻度は起こりやすさと影響の大きさで決め、別の防御で攻撃が止まるなら「脆弱性」ではなく「補強の提案」として扱う。外部の診断を頼む前に自分たちのコードの弱点を知りたい開発チームにも、その結果を見て対応の優先順位を決める PM にも、判断に使える報告が届く。
内容
Cloudflare が自社で使っている脆弱性発見の仕組み(ブログ記事「Build your own vulnerability harness」で紹介)は、この Skill を出発点に育ったもの。監査は6段階で進む。まず構成と信頼境界を調べ、どこを確認したかを記録する台帳(`coverage-ledger.json`)を作る。次に台帳の範囲を分担して脆弱性を探し、確認漏れを別のエージェントが指摘する。見つかった候補は1件ずつ反証にかけて `findings.json` に構造化し、別のエージェントが記録をもう一度検証してから、レポートを出す。結果は「確認済み」「要検証」「却下」の3つに分かれる。観点ファイルは Web・認証、クライアント側、サプライチェーン、クラウド、LLM 連携に加え、メモリ安全性、RPC・メッセージング、リソース枯渇、データ分離、デスクトップ・モバイルまで用意されている。同じリポジトリに繰り返し実行すると、前回の結果を踏まえて確認漏れを埋めていく。Cloudflare の試行では、1回の実行で見つかったのは、繰り返し実行で見つかった脆弱性全体のおよそ半分だった。導入は `npx skills add` で行う。サブエージェントを並列で動かせるコーディングエージェントと Node.js が必要。対象のコードを動かして確かめるには、外部への通信を遮断した隔離環境も要る。隔離環境がない場合、実行が必要な指摘は「要検証」のまま残る。
リポジトリ: github.com/cloudflare/security-audit-skill / ライセンス: MIT / 主要言語: JavaScript
