参考資料と出典

Lagune vs. Deepsec:AI 駆動の 2 つのセキュリティアプローチを比較

Lagune と Vercel の Deepsec を、仕組み、ライフサイクル、検出、コスト、検出事項、クローズの観点から比較したリファレンスです。

Lagune と Deepsec(v2.2.1)は、AI 支援開発の時代のセキュリティという同じ課題に対する、2 つの防御的な答えです。仕組みが重なる部分はあっても、前提も、始まりから終わりまでの流れも、ユーザーへの見せ方も、意図して異なるように作られています。

ヒント

Lagune は Deepsec の影響を受けているのでしょうか?いいえ。Lagune はゼロから書かれたもので、Spec-Driven Development と Security Hardening から着想を得ています。2 つのプロジェクトはそれぞれ独立して開発されたもので、ここでの比較は、ユーザーが両者の違いを理解するためのものです。

概要​

観点LaguneDeepsec
種類リファレンス実装を備えた方法論(SDH)製品:エージェントで動く脆弱性スキャナー
軸セキュリティ原則とオンデマンドの知識がエージェントを動かし、決定論的なフックが土台を支える広く張った正規表現の網が、必須の AI 調査に候補を送り込む
生み出すもの堅牢化されたコード、証明、追跡される検出事項のチェーン深刻度順に並べ、トリアージした検出事項のレポート
コードに手を加えるかはい:harden がコードを編集するいいえ:静的解析のみで、検出事項と推奨事項のテキストを出力する
実行環境すでに使っているエージェントとモデルで動き、モデルのクラスは問わない独自のモデルパイプラインで動き、デフォルトはフロンティアクラスのモデル
導入プラグインを 1 つインストールするか npx skills add を実行したら、あとはふだんの言葉で操作するだけで、新たに立ち上げるツールは不要.deepsec/ ワークスペースを用意し、依存関係をインストールして、モデルのキーを追加する

仕組み​

Lagune はエージェントが起点です。エージェントが作業を進め、コードの実態に合わせて必要な知識をオンデマンドで取り込み、機械的に判定できる部分は決定論的なフックに任せます。

Deepsec は決定論的な処理が起点です。広範なスキャンが候補を指摘し、その候補が、必須のモデルに調査と判断の対象を示します。

観点LaguneDeepsec
順序セキュリティ原則とコードに合致した知識がエージェントを導き、エージェントは一部をフックに任せて、残りを自ら判断するマッチャーが候補を指摘し、モデルがそれぞれを調査して判断する
決定論的な処理の役割判定を返すか、エージェントの狙いを定める多言語対応のフックで、カテゴリの知識と組み合わせて使う候補を指摘し、必須のモデルの判断に回すマッチャー
開発フロー/lagune がコーディング中にその場で安全に構築するコードをレビューするだけで、書きはしない
監査フローcharter → detect → plan → harden → verifyscan → process → triage → revalidate → report
AI の役割知識をもとに推論し、修正を適用して、それが有効であることを証明するすべての候補を調査し、検出事項を報告する

ライフサイクル​

Lagune は、コードを書く前、書いている最中、書いた後のいずれでも機能します。Deepsec は、コードができてからリポジトリをレビューします。

タイミングLaguneDeepsec
コードを書く前charter が、示された意図からセキュリティポリシーを作り出す既存のコードから始める:init にはディレクトリが必要
開発中/lagune がその場で、デフォルトで安全な形に作り上げ、成果物は残さない開発中ではなく、開発後にレビューする
既存のコードdetect → plan → harden → verifyscan → process(中核のフロー)
継続的なレビュー範囲ごとにフェーズを再実行する。既製の CI ゲートはないインクリメンタルな再スキャンと、CI の終了ゲートになる process --diff

検出レイヤー​

両者の決定論的なレイヤーは、性質が正反対です。一方は判定し、もう一方は指摘します。

観点LaguneDeepsec
グループ分けカテゴリごとにまとめたフックと専門知識パターンやフレームワークごとのマッチャー
出力明示的な判定(finding / review / advisory)と分類ラベル判定のない候補(slug、行、コードスニペット、マッチしたパターン)
チューニング適合率重視:コメントを認識し、プレースホルダーとウィンドウのガードを備える再現率重視:網を広く張り、誤検知は後から AI が取り除く
深さ両者が共通して扱う種類では、より深いより広いが、両者が共通して扱う種類では浅い
誤検知発生源で低く抑え、そのうえでコンテキストに照らして判断する意図的に多めに出し、revalidate の工程で削る

知識と判断​

どちらも、正規表現では表せないセキュリティの知識を備えています。違いは、その知識がどこにあり、誰が形づくれるかです。

観点LaguneDeepsec
形式編集できる Markdown のモジュールで、一部は決定論的なフックに裏付けられている短いプロンプトと技術ごとの要点で、モデル自身の知識に頼る
選び方コードと照合し、該当するコンテキストがあるときだけ読み込むすべての AI バッチに注入し、検出した技術の要点も加える
誰が書くかユーザーがモジュールを編集し、specialize で新しいモジュールを追加するプロンプトはメンテナーが管理し、ユーザーは INFO.md を記入する
判断の担い手フックが土台となる部分を判定し、残りはエージェントが知識をもとに判断する集中型:1 つの AI プロセッサーがすべての候補を判断する
再利用1 つのモジュールが detect と verify の両方を導く1 つのプロンプトが、唯一の process ステージを動かす

検出事項とクローズ​

両者がもっとも大きく異なるのは、解決した検出事項がその後どうなるかです。

観点LaguneDeepsec
深刻度露出度と事の重大さに応じて調整した CVSS v4.0 スコアAI が付ける深刻度に加え、悪用可能性と影響による P0 / P1 / P2 のトリアージ
判定Risk closed、Risk not closed、Cannot tell from the code のいずれかtrue-positive、false-positive、fixed、uncertain、accepted-risk、duplicate
保存のしかた作業中のチェーンは現状と照合して更新し、クローズした検出事項は履歴に要約するファイルごとの追記専用の記録で、何も削除しない
最終状態クローズ可能:証明済みの検出事項はクローズされ、チェーンを静止状態にできるすべての検出事項を永久に保持し、解決後はビューから非表示にする
履歴の詳しさどんなリスクだったかの簡潔な要約どう修正したかを含む、判定の全経緯

コスト​

観点LaguneDeepsec
決定論的な土台無料:フックは AI もキーも使わずに動き、その時点で判定を出す無料:scan は AI なしで動くが、単体では判定を出さない
一般的な費用すでに使っているエージェントの費用に含まれ、ローカルモデルなら $0 で済み、ほかは契約中のプランの料金か、API 利用なら反復ごとの課金100 から 2,000 ファイルで 1 回あたり約 $25 から $1,200、規模が大きいとさらに高額
最安の方法無料のローカルモデルを含め、どのモデルでもサイクルを完結できるより安い有料クラスのモデルもあるが、検出事項を得るには有料の AI ステージが必要

拡張性とガバナンス​

それぞれ、相手が閉じているレイヤーを開いています。

観点LaguneDeepsec
拡張できるものモジュールを編集するか、specialize で新しく追加するマッチャー、エージェント、通知機能、所有者情報を追加する
ポリシー層セキュリティ原則がすべてのフェーズを律し、バージョン管理される設定は運用面のもの(マッチャー、モデル、パス)
名前による上書き改良したモジュールが、同名の組み込みモジュールに優先するマッチャーの slug が衝突すると、自分のマッチャーが優先される

インターフェース​

Deepsec は、セキュリティ組織向けのアウトプットを生成します。Lagune は、実行している本人に向けてリアルタイムのビューを表示します。

観点LaguneDeepsec
人が見る画面チェーン全体をわかりやすい言葉で示す、ローカルのリアルタイムダッシュボードレポート、エクスポート、メトリクス、PR コメントの各ファイルと、ドキュメントサイト
責任の所在関係するファイルと、適用された専門知識を示す担当者の候補を割り振る:オンコール担当、マネージャー、コミッター
再現可能な証明prove が実行可能なテストと、開示用のセキュリティアドバイザリを作成する設計上あくまで静的で、対象を実行することはない
ツール自身の防御ダッシュボードのローカル書き込み API を堅牢化する信頼できない対象コードに備えて、自身の AI 実行を堅牢化する

規模とデプロイ​

観点LaguneDeepsec
インストールエージェントのプラグインか skills CLI から 9 つのコマンドを導入するだけで、ひな形は何も生成しない独自のパッケージと依存関係を持つ .deepsec/ ワークスペース
規模の方向性任意の範囲に絞り込める:1 つのコンテキスト、1 ファイルからプロジェクト全体までリポジトリ全体をスキャンし、大規模なモノレポにも対応する
分散実行ローカルのみで、唯一のサーバーはループバックにバインドする必要に応じて Vercel Sandbox のワーカー VM に分散できる

ユーザー体験​

それぞれが実行する人をどう迎えるか、つまり初回の実行に何が必要で、操作する人がどう狙いを定めるかです。

使い始め​

Lagune は、すでに開いているエージェントを通じて動きます。Deepsec は、まず独自のワークスペースとモデルへのアクセスを用意します。

観点LaguneDeepsec
最初のコマンドプラグインのインストールか npx skills add wellwelwel/lagune、そのあとエージェントで /lagune-*npx deepsec init、続いて cd .deepsec、pnpm install、scan、process
実行に必要な認証情報別途キーは不要で、今使っているエージェントをそのまま使うモデルのキー(例:AI Gateway、有効期限 12 時間の Vercel OIDC トークン、Anthropic のトークン)

操作のしかた​

どちらも指示を受け付けます。Lagune は、フェーズごとに入力の形を読み取ります。Deepsec は、同じ調査を実行する対象のファイルを絞り込みます。

観点LaguneDeepsec
プロジェクト全体入力なしでフェーズを実行すると、範囲全体をスキャンするscan と process がリポジトリ全体をスキャンする
一部分どのフェーズも、指定したファイルやディレクトリに範囲を絞れる--files、--files-from、--diff で実行範囲を絞る
特定の懸念フェーズを、説明した懸念に絞り込める調査用のプロンプトは固定
優先度の区分harden と verify を緊急、重要、警告、注意のいずれかに絞り込める検出事項のラベル付けは実行後
単一の値フックが 1 つのコードスニペット、パターン、URL を直接スコアリングする(--pattern、--url)作業の単位はファイル

よくある質問

Lagune はエージェントが起点で、コードを書く前、書いている最中、書いた後のいずれでも機能します。コードを書く前にポリシーを定め、開発中はその場で堅牢化し、すでに書かれたコードは監査、堅牢化、検証します。Deepsec は決定論的な処理が起点です。広範な正規表現スキャンの結果を必須のフロンティアモデルによる調査に送り、その調査が既存のコードをレビューして検出事項を報告しますが、コードは変更しません。

Lagune はフロー全体を無料のローカルモデルで $0 で実行でき、決定論的なフックは AI をまったく使わずに判定を出します。Deepsec のスキャンは無料ですが判定を出さないため、検出事項を得るには必ず有料の AI ステージが必要です。

Lagune は変更します。harden がコードに修正を適用します。Deepsec は変更しません。静的解析のみを行い、検出事項と推奨事項のテキストを出力して、それを人やエージェントが別途適用します。