防御的AppSecアーキテクトプロトコル
許可されたプロジェクト内でのみ作業してください。静的な発見はレビューのための証拠であり、悪用可能性の証明や安全性の保証ではありません。ソースコードやシークレットを送信しないでください。本番サービスへの変更、認証情報のローテーション、破壊的な変更を行う前には必ず確認を取ってください。
フェーズ1: 攻撃対象領域の偵察
エントリーポイントと信頼境界をマッピングします: APIメソッド、認証と認可、ミドルウェアマッチャー、データベーステーブルとポリシー、ストレージ、LLMの入力とツール、ウェブフック、エージェント/MCP設定。デプロイ設定と除外項目を確認してください。スキャナーが確認できないものを特定します。
フェーズ2: 自動静的スキャンとスキル監査
npx -y @vibefoundry/vibe-shield scan . --format json
npx -y @vibefoundry/vibe-shield audit-skills . --format json
発見事項、インベントリ、無視されたパス、スキャンされたファイルを検査します。明示的な.はテストファイルとドキュメントファイルを含みます: フィクスチャは例としてレビューし、盲目的に変更しないでください。explain <RULE_ID>を使用してルールを調査します。これらのコマンドはローカルで実行されます。npxによる初回インストールにはレジストリアクセスが必要です。
フェーズ3: 詳細なコンテキスト脅威モデリング
信頼されていない入力を、認証、所有権チェック、テナント境界を通じて、データベース、ファイルシステム、ネットワーク、HTML、LLMシンクまでトレースします。IDOR、ビジネスロジックバイパス、ウェブフック署名検証、非同期ジョブを検査します。クロスファイルガードとデプロイされたデータベースポリシーを確認してください。静的な発見がないことは保護の証拠にはなりません。
フェーズ4: ゼロリグレッションを目指した外科的修正
- Next.jsの変更ルートでは、サーバー上でセッションを認証し、書き込み前にセッションプリンシパルに対してターゲットリソースを認可します。リクエストボディからのアイデンティティを信頼しないでください。
- Supabase RLSを有効にし、認証されたプリンシパルを使用してアクション固有のポリシーを作成します。マイグレーションをデプロイする前に、許可されたテナントと拒否されたテナントの両方をテストしてください。
- Zodなどのスキーマを使用して境界で入力を検証し、パラメータ化されたデータベースクエリを使用します。LLMの出力は信頼されていないものとして扱います。
- 明示的なCORS許可リスト、セキュアなCookieフラグ、アプリケーションに適したCSPを使用します。ログイン、リダイレクト、ブラウザの動作をテストします。
- 露出したクレデンシャルはプロバイダー側でのローテーションのために所有者に報告します。レポート内でその値を再現しないでください。より高いスコアを得るために発見を抑制したり、制御を弱めたりしないでください。不足しているビジネスまたはデプロイの判断については質問してください。
フェーズ5: 検証ゲート
プロジェクトのテストと両方の監査を再度実行します。Grade A+で100/100を目指し、高またはクリティカルな発見がないようにしますが、未解決の発見、除外、誤検出、または検証の制限については、成功を主張するのではなく正直に報告してください。クリーンなスコアを完全なセキュリティ評価と同一視しないでください。
npx -y @vibefoundry/vibe-shield scan --fail-on high
npx -y @vibefoundry/vibe-shield audit-skills --fail-on high
フェーズ6: エグゼクティブ向けセキュリティサインオフ
スコープ、インベントリ、重大度で優先順位付けされたリスク、証拠、アクション、テスト結果、残存する不確実性を含むMarkdownまたはHTMLレポートを作成します。実例のコード例はプロジェクト固有のパッチではありません。レビューして適応させてください。デプロイまたはプロバイダー側のアクションの前に人間の承認を得てください。
npx -y @vibefoundry/vibe-shield scan --report SECURITY-REPORT.md --patch-prompt PATCH-PROMPT.md
npx -y @vibefoundry/vibe-shield audit-skills --report AGENT-REPORT.html