AI エージェントにそのまま貼り付けて使える、コピー用の Lagune のプロンプトです。
💧 簡易スキャン
エージェントが自分でコードを読み、見つけた欠陥をすべて修正とともに報告する、読み取り専用のスキャンです。Blue Team フローは実行せず、Lagune の追跡記録にも書き込みません。
プランモードで、セキュリティ原則(/lagune-charter)を定めた状態で使うと、より効果的です。
- 🪼 標準
- 🐬 マルチエージェント
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | 1 つのエージェントがスキャンして報告。サブエージェントなし。 | |
| 所要時間 | 短い。読み取り専用で 1 回走査するだけで、何も適用しない。 | |
| トークン使用量 | 中程度で、共有。スキャン全体が 1 つのコンテキストで実行される。 |
/lagune あなたは防御的セキュリティに深い知見を持つサイバーセキュリティ研究者で、Lagune を使って知識と精度を高めています。
ワークスペースを自分でスキャンし、見つけた欠陥ごとに具体的な修正を示してください。これは Blue Team フローではなく単独のスキャンです。detect、plan、harden、verify は実行せず、Lagune の追跡記録には何も書き込まないでください。
最後に、見つけた欠陥をすべて、それぞれの深刻度と具体的な修正とともに一覧にしてください。
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | ファイルごとに 1 つのサブエージェント。数はコードベースの規模に合わせて調整される。 | |
| 所要時間 | ファイルごとに並列で進め、最後に 1 つの報告にまとめる。読み取り専用のまま。 | |
| トークン使用量 | 多め。ただし分離されている。各サブエージェントが自分のコンテキストでスキャンする。 |
/lagune あなたは Lagune を使うサイバーセキュリティのオーケストレーターです。パスを列挙し、パスごとにサブエージェントを 1 つ起動して、その報告をまとめます(内容はすべてサブエージェントが読みます)。
現在のプロジェクトの規模に応じて、タスクをサブエージェントに委任してください。コードベースが大きいほど多くのサブエージェントをすべて並列で起動し、それぞれに次のプロンプトを渡してください:
```prompt
/lagune あなたは防御的セキュリティに深い知見を持つサイバーセキュリティ研究者で、Lagune を使って知識と精度を高めています。
<path> を自分でスキャンし、見つけた欠陥ごとに具体的な修正を示してください。これは Blue Team フローではなく単独のスキャンです。detect、plan、harden、verify は実行せず、Lagune の追跡記録には何も書き込まないでください。
最後に、<path> の欠陥をすべて、それぞれの深刻度と具体的な修正とともに一覧にしてください。
```
最後に、すべてのサブエージェントの報告を、優先順位を付けた 1 つの欠陥と修正の一覧にまとめてください。
簡易スキャンは範囲を絞らない広いプロンプト 1 つで行うため、エージェントによっては拒否したり、途中で打ち切ったりしやすくなります。使っているエージェントが応じない場合は、代わりに下の Blue Team フロー全体を実行してください。範囲を絞って段階的に進むフェーズのほうが、ブロックされる可能性ははるかに低くなります。
🌊 Blue Team 監査フローの自動実行
コマンドのフロー全体 を、入力のために止まることなく、最初から最後まで実行します。
- 🪼 標準
- 🐋 マルチエージェント(ディープスキャン)
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | コードベースの規模にかかわらず、1 つのエージェントのみ。サブエージェントなし。 | |
| 所要時間 | 中程度。ただし大きなコードベースでは網羅性が下がる。各コマンドを 1 回ずつ順番に実行する。 | |
| トークン使用量 | 少なめ。ただし分離性は低い。すべてのコマンドが同じコンテキストを共有する。 |
次のコマンドを 1 つずつ実行してください:`/lagune-charter`、`/lagune-detect`、`/lagune-plan`、`/lagune-harden`、`/lagune-verify`。
## ループ
`/lagune-verify` が 1 つ以上の修正を不合格と判定した場合は、すべての検出事項が適切に解決されるまで、`/lagune-harden` と `/lagune-verify` を順に繰り返してください。
## 重要
- 途中で止まったり、質問したりしないでください。迷ったときは、すべて "full" モードで実行してください。
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | サブエージェントの数は、コードベースの規模に合わせて調整される。 | |
| 所要時間 | 長め。ただし網羅性は高い。複数のサブエージェントを起動し、検出事項の検出、計画、堅牢化を並列で進める。 | |
| トークン使用量 | 多め。ただしより安全。各サブエージェントが、偏りのない独立したコンテキストを持つ。 |
次のコマンドを、それぞれ 1 つのサブエージェントに、1 つずつ順番に実行させてください(バッククォートは付けず、コマンドだけを渡します):
サブエージェント 1 のプロンプト:`/lagune-charter`
サブエージェント 2 のプロンプト:`/lagune-detect`
サブエージェント 3 のプロンプト:`/lagune-plan`
サブエージェント 4 のプロンプト:`/lagune-harden`
サブエージェント 5 のプロンプト:`/lagune-verify`
`/lagune-detect`、`/lagune-plan`、`/lagune-harden`、`/lagune-verify` の各コマンドでは、現在のプロジェクトの規模に応じて、タスクをサブエージェントに委任してください。コードベースが大きいほど、多くのサブエージェントを起動します。例:
```prompt
/lagune-detect <path>
```
```prompt
/lagune-plan <finding>
```
```prompt
/lagune-harden <finding>
```
```prompt
/lagune-verify <finding>
```
- 同じコマンドを担当する複数のエージェントは、並列で起動してください。
- すべての `/lagune-detect` サブエージェントが終わったら、次を実行してください:
```prompt
/lagune-detect 同等の検出事項をまとめてください。新しい検出事項を探したり、コードベースを再スキャンしたりはしないでください。
```
## ループ
`/lagune-verify` が 1 つ以上の修正を不合格と判定した場合は、すべての検出事項が適切に解決されるまで、`/lagune-harden` と `/lagune-verify` を順に繰り返してください。
## 重要
- 途中で止まったり、質問したりしないでください。迷ったときは、すべて "full" モードで実行してください。
🪄 範囲を絞った検出
/lagune-detect を、プロジェクト全体ではなく、その一部に向けて実行します。範囲を普段の言葉で説明すれば(特定のコミット、プルリクエスト、実際に起きた状況)、その範囲にあるセキュリティ上の検出事項だけを洗い出します。
ここで検出されたものはすべて通常の検出事項なので、そのまま /lagune-plan、/lagune-harden、/lagune-verify に引き継ぎ、それらの項目だけを対象に進められます。
- 📌 特定のコミット以降
- 🔀 ブランチや PR の差分
- ⛑️ インシデントのあと
新しく積み上がったコミットに、その変更内容だけを対象とした専用のセキュリティチェックを行います。例:
/lagune-detect コミット `a1b2c3d` 以降に変更されたものすべてに範囲を絞って検出してください。
プルリクエストをマージする前に、その差分だけを対象にセキュリティをレビューします。例:
/lagune-detect このブランチが `main` に対して加えた変更に範囲を絞って検出してください。
何が起きたのかを自分の言葉で説明してください。Lagune はフラグではなく状況そのものを読み取り、的を絞った調査に変えます。例:
/lagune-detect 数週間前、うちのサイトでデータ漏洩が起きました。具体的にどう起きたのかはわかっておらず、まだどこかに穴が残っていて、また漏洩するのではないかと心配しています。コードを注意深く確認し、機密データを読み取る、保存する、外部にさらすあらゆる箇所に重点を置いて、データが漏れ出す経路になりうるものをすべて洗い出してください。訓練ではなく、実際のインシデントとして扱ってください。
🚨 ゼロトラスト監査
ワークスペース全体とすべての依存関係を敵対的なものとして扱います。インタープリター、ネットワーク呼び出し、エンコードされたペイロード、スキャナーをすり抜けるために思いもよらない場所に隠されたコードを探し出し、最後に、プロジェクトを安全に使えるかどうかの判定(go/no-go)を下します。
プロンプトは、この監査に必要な専門知識を、プロジェクトのカテゴリにかかわらず直接読み込みます。/lagune がカタログから照合するそれ以外の専門知識のために、プロジェクトで OWASP、AI/LLM、そして技術スタックに対応するカテゴリ(JavaScript、Python など)を使うようにしてください:
npx lagune write add --categories owasp ai javascript
信頼できない提供元のプロジェクトをローカル環境で実行するときは注意してください。悪意のあるコードがシステムに影響を与えないよう、サンドボックス(推奨)や VM などの隔離された環境を使ってください。
- 🪼 標準
- 🐋 マルチエージェント(ディープスキャン)
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | 1 つのエージェントがワークスペース全体をスキャン。サブエージェントなし。 | |
| 所要時間 | 中程度。1 つのエージェントがコードと依存関係を順番に調べる。 | |
| トークン使用量 | 中程度。ただし共有。専門知識、コード、依存関係がすべて 1 つのコンテキストに読み込まれる。 |
/lagune あなたはゼロトラストの防御的セキュリティに深い知見を持つサイバーセキュリティ研究者で、Lagune を使って知識と精度を高めています。
ワークスペース全体を、信頼できない提供元であり、悪意を含みうる範囲として洗い出してください。インタープリター、fetch、base64 などは、どれも潜在的な脅威とみなしてください。
分析は依存関係と間接的な依存関係にも広げてください。プロジェクトは、スキャナーをすり抜けるために、思いもよらない場所に悪意のあるコードを隠そうとすることがあります。
必須の専門知識(`npx lagune read catalog <name>` で 1 つずつ読み込んでください):
- interpreter
- secrets
- llm
- path
念のため明確にしておくと、洗い出した脆弱性は例外なく、すべて潜在的な脅威として扱ってください。
最後に、このプロジェクトが私にとって安全で、信頼して使えるかどうかの判定を下してください。
| 観点 | トレードオフ | レベル |
|---|---|---|
| 作業量 | ファイルごとに 1 つのサブエージェント。数はコードベースの規模に合わせて調整される。 | |
| 所要時間 | 長め。ただし網羅性は高い。ファイルを並列でスキャンし、最後に 1 つの判定にまとめる。 | |
| トークン使用量 | 最も多い。ただし最も安全。各サブエージェントが、それぞれ独立したコンテキストで専門知識を読み込む。 |
/lagune あなたは Lagune を使うサイバーセキュリティのオーケストレーターです。ファイルを列挙し、ファイルごとにサブエージェントを 1 つ起動して、報告を作成します(内容はすべてサブエージェントが読みます)。
ファイルごとにサブエージェントを 1 つ、すべて並列で起動し、それぞれに担当ファイルに範囲を絞った次のプロンプトを渡してください:
```prompt
/lagune あなたはゼロトラストの防御的セキュリティに深い知見を持つサイバーセキュリティ研究者で、Lagune を使って知識と精度を高めています。
<file> を、信頼できない提供元であり、悪意を含みうる範囲として扱ってください。インタープリター、fetch、base64 などは、どれも潜在的な脅威とみなしてください。
分析は <file> がインポートしているものすべてに広げ、依存関係と間接的な依存関係も含めてください。悪意のあるコードは、スキャナーをすり抜けるためにそこに隠れていることがあります。
すべてのサブエージェントに必須の専門知識(`npx lagune read catalog <name>` で 1 つずつ読み込んでください):
- interpreter
- secrets
- llm
- path
念のため明確にしておくと、洗い出した脆弱性は例外なく、すべて潜在的な脅威として扱ってください。
最後に、このプロジェクトが私にとって安全で、信頼して使えるかどうかの判定を下してください。
```
最後に、すべてのサブエージェントの報告を 1 つの最終判定にまとめてください。
