mcpField
S
secure-ai

secure-ai

github.com/oakossセキュリティ20119 回インストール10 週間前に更新
リポジトリ

secure-ai について

secure-aiは、LLMアプリケーション向けのセキュリティスキルで、入力の分離から出力検証までの防御パターンを扱います。エージェント、MCPツール、AIサプライチェーンを対象とし、OWASPとNISTのフレームワークに沿っています。

主な機能

  1. 01プロンプトインジェクション対策と入力分離
  2. 02モデル出力の検証とフィルタリング
  3. 03エージェントの最小権限と人間の承認
  4. 04MCPツールの許可リストと検証
  5. 05モデルの来歴とサプライチェーンの確認

活用シーン

  1. 01LLMアプリのプロンプトインジェクションリスクの確認
  2. 02下流で使う前のモデル出力の検証
  3. 03エージェントとMCPツールの権限制限
  4. 04モデル、データセット、依存関係の来歴調査

MCP 対応

ツールの許可リスト、入出力の検証、最小権限の適用など、MCPツール連携の保護方法を説明します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oakoss/agent-skills --skill secure-ai

インストール後、Claude Code で/secure-aiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
agentic-security-zero-trust.md
output-validation.md
prompt-injection-defense.md
secure-server-actions.md
security-audit-protocols.md
supply-chain-mcp.md

詳細

セキュア AI

概要

多層防御、構造的な分離、ゼロトラストのオーケストレーションによって、AI 統合レイヤーを保護します。プロンプトインジェクション対策、モデル出力の検証、エージェントセキュリティ、安全なサーバーアクション、サプライチェーンの完全性、MCP ツールのセキュリティ、LLM と連携するアプリケーション向けの監査プロトコルを扱います。

OWASP Top 10 for LLM Applications 2025 および NIST AI Risk Management Framework(AI RMF 1.0)に準拠しています。10 項目すべての OWASP LLM リスクを、具体的な防御パターンで網羅します。

使用する場面: LLM を活用した機能をプロンプトインジェクションから保護する場合、後続処理で使用する前にモデル出力を検証・サニタイズする場合、自律型エージェントにゼロトラストを実装する場合、AI エンドポイント向けのサーバーアクションを強化する場合、MCP ツールの統合を保護する場合、AI サプライチェーンのリスクを管理する場合、AI のアクセスパターンを監査する場合。

使用しない場面: AI コンポーネントを含まない一般的なウェブアプリケーションのセキュリティ、フロントエンドのみのセキュリティ上の懸念、AI を含まない API の強化、AI が関与しない基本的な認証や認可。

クイックリファレンス

パターンアプローチ重要なポイント
構造的な分離システム/ユーザーメッセージのロールを分ける指示とユーザーデータを1つの文字列に混在させない
入力境界マーカーでユーザーデータを区切る信頼できないデータの開始位置と終了位置をモデルが識別しやすくする
ガーディアンモデル高速な分類器で入力を事前スキャンするメインの推論モデルが処理する前にインジェクションのパターンを検出する
出力の検証LLM の出力を信頼できない入力として扱うコンテキストに応じたエンコード、パラメーター化クエリ、CSP ヘッダー
最小権限サブタスクごとに機能ベースのスコープを設定するエージェントには現在の作業に必要なツールのみを付与する
人間による確認破壊的な操作には人間の承認を必須とする金融関連またはデータを変更するイベントには承認が必要
非人間アイデンティティOIDC ベースのエージェント認証すべてのエージェントに検証可能な ID を付与し、キーを定期的にローテーションする
サーバー専用の AI ロジックすべての AI コードで server-only をインポートするキーと推論がクライアントバンドルに漏えいしない
入力の検証AI を使用するすべてのサーバーアクションに Zod スキーマを適用する生のユーザー入力を AI サービスに渡さない
レート制限Redis を使用してユーザー/IP ごとにトークン予算を設定するAI エンドポイントに対するウォレット枯渇攻撃を防ぐ
ストリームのスクラビングAI 出力ストリームから機密文字列をフィルタリングするクライアントに届く前に内部 ID や秘密情報を削除する
MCP ツールのセキュリティツールを許可リストに登録し、入力/出力を検証するMCP サーバーを信頼できないものとして扱い、最小権限を徹底する
サプライチェーンの完全性モデルの来歴を検証し、AI-BOM を維持するチェックサムを使ってモデル、データセット、依存関係を追跡する
シークレット管理CI で漏えいをスキャンしつつ環境変数を使用するコミットされたシークレットを防ぐため、CI で gitleaks を使用する

中核となるセキュリティ原則

  1. 分離は絶対です -- ユーザーデータをシステム指示として扱ってはなりません
  2. LLM の出力は信頼できません -- モデルの応答はすべて、後続処理で使用する前に悪意のある入力の可能性があるものとして扱います
  3. エージェントには最小権限を適用します -- 現在のサブタスクに必要なツールのみを付与し、完了後に取り消します
  4. 破壊的操作には人間による検証が必要です -- 破壊的な操作や取り消し不能な操作には、人間の署名を必須とします
  5. クライアントに秘密情報を置きません -- すべての AI ロジックとキーはサーバー専用の環境に配置します
  6. 敵対的な姿勢を保ちます -- ユーザーとエージェントの双方がルールを回避しようとすると想定します
  7. 多層防御を適用します -- ある層が回避されてもシステムが侵害されないよう、防御を重ねます
  8. サプライチェーンを検証します -- すべてのモデル、データセット、AI ツールの出所と完全性を検証します

OWASP LLM Top 10(2025)への対応

OWASP リスク参照
LLM01 プロンプトインジェクションプロンプトインジェクション対策
LLM02 機密情報の漏えいセキュアなサーバーアクション(ストリームのスクラブ、出力フィルタリング)
LLM03 サプライチェーンサプライチェーンと MCP のセキュリティ
LLM04 データおよびモデルのポイズニングサプライチェーンと MCP のセキュリティ
LLM05 不適切な出力処理出力の検証とエンコーディング
LLM06 過剰なエージェンシーエージェント型ゼロトラストセキュリティ(最小権限、HITL)
LLM07 システムプロンプトの漏えいプロンプトインジェクション対策(抽出できないプロンプト)
LLM08 ベクトルおよび埋め込みの脆弱性出力の検証とエンコーディング(RAG のサニタイズ)
LLM09 誤情報出力の検証とエンコーディング(セマンティックフィルタリング)
LLM10 無制限の消費セキュアなサーバーアクション(レート制限、トークン予算)

よくある間違い

間違い適切なパターン
同じプロンプトフィールドでユーザー入力とシステム指示を混在させるシステムメッセージとユーザーメッセージの役割を分け、構造的に分離します
LLM の出力を信頼し、そのまま exec、eval、SQL に渡すモデルの出力はすべて信頼できないものとして扱い、パラメーター化クエリとコンテキストを考慮したエンコーディングを使用します
すべてのタスクでエージェントに無制限のツールアクセスを与えるケイパビリティベースのスコープを適用し、サブタスクごとに必要なツールのみを許可します
AI サービスの認証に静的な API キーを使用する動的なキーのローテーションと有効期間の短いトークンを備えた OIDC を使用します
出所を確認せずにサードパーティ製モデルを読み込むモデルのチェックサムを検証し、署名付きアーティファクトを使用して、AI-BOM を維持します
検証せずに MCP サーバーに広範な権限を付与するMCP ツールを許可リストに登録し、すべての入力と出力を検証して、機密性の高い操作には人間の承認を必須にします
生のユーザー入力を AI サービスに直接渡すAI による処理の前に、すべての入力を Zod スキーマで検証します
出力をフィルタリングせずに AI の応答をストリーミングする機密文字列をストリームから除去してから、クライアントに渡します

主要なフレームワーク

  • OWASP Top 10 for LLM Applications 2025 -- LLM の脆弱性分類に関する業界標準
  • NIST AI Risk Management Framework (AI RMF 1.0) -- AI リスクに対応する 4 機能のフレームワーク(Govern、Map、Measure、Manage)
  • NIST Cybersecurity Framework Profile for AI (NISTIR 8596) -- 安全な AI 導入のためのガイドライン
  • OWASP MCP Security Cheat Sheet -- サードパーティ製 MCP サーバーとの統合を保護するための実践的なガイド
  • CycloneDX 1.6 / SPDX 3.0 -- AI 部品表(ML-BOM)を支援する標準

委任

  • プロンプトインジェクションの脆弱性についてコードベースをスキャンする:Explore エージェントを使用して、ユーザーデータがシステムプロンプトに渡される箇所や、検証されていない入力を検索します
  • ゼロトラストのエージェントオーケストレーションを実装する:Task エージェントを使用して、ID 検証、サンドボックス化、人間による承認ゲートを追加します
  • モデル出力の処理を監査する:Explore エージェントを使用して、サニタイズせずに LLM の出力を exec、eval、SQL に渡す箇所や、HTML としてレンダリングする箇所を見つけます
  • MCP ツールの設定をレビューする:Explore エージェントを使用して、MCP サーバーの権限、ツールの許可リスト、認証の設定を確認します
  • 安全な AI 統合アーキテクチャを設計する:Plan エージェントを使用して、信頼境界、エージェントのスコープ、監査要件を整理します
  • サプライチェーンのリスクを評価する:Explore エージェントを使用して、来歴記録とともにサードパーティ製モデル、データセット、MCP サーバーを一覧化します
  • セキュリティ監視を設定する:Task エージェントを使用して、監査ログ、異常検知、インシデント対応アラートを設定します

アプリケーション全般のセキュリティ(OWASP Top 10、認証パターン、セキュリティヘッダー、入力検証)には、application-security スキルを使用してください。データベース層のセキュリティ(RLS ポリシー、監査証跡、Postgres の強化)には、database-security スキルを使用してください。

参考資料

コメント