secure-ai-agent-coding について
secure-ai-agent-coding は、AI エージェントや LLM アプリケーションの構築・レビュー向けスキルです。信頼境界と操作の影響度に応じたセキュリティ指針をまとめ、初期レビュー用のヒューリスティックなスキャナーも備えています。
主な機能
- 01リスクに応じたセキュリティ制御
- 02エージェントと LLM の実装指針
- 03コードレビュー手順とチェックリスト
- 04ソースパターンのヒューリスティックスキャン
- 05本番環境の強化とインシデント対応指針
活用シーン
- 01エージェントツールの認可境界の設計
- 02既存 AI コードベースのレビュー
- 03プロンプトインジェクションとデータフローの評価
- 04AI セーフティインシデントの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jpcaparas/ skills --skill secure-ai-agent-codingインストール後、Claude Code で/secure-ai-agent-codingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdskill-card.prompt.mdagents/.gitkeepassets/.gitkeepevals/evals.jsonreferences/controls.mdgotchas.mdgovernance.mdimplementation-patterns.mdreview-workflow.mdsource-policy.mdthreat-model.mdscripts/scan_patterns.pytest_skill.pyvalidate.pytemplates/security-review.md詳細
secure-ai-agent-coding
AI エージェントや LLM アプリケーションを構築またはレビューし、影響範囲を小さく保ち、動作を監査可能にし、影響の大きい操作には明示的な制御を必須にします。
制御は、実際の信頼境界、データの機密性、影響、デプロイ方法に応じて調整します。読み取り専用の公開データ用アシスタント、一時的なコーディングサンドボックス、本番環境の決済エージェントには、それぞれ異なる制御が必要です。認可と分離はモデルの外部で行い、それらの保証を維持できる範囲で、アーキテクチャや実装の選択肢を残してください。参考カタログはリスクのチェックリストであり、すべての機能にあらゆる仕組みを追加することを求めるものではありません。
意思決定ツリー
ユーザーは何を求めていますか?
- 新しい AI エージェントまたは LLM 機能を構築する:
不慣れな制御境界については
references/implementation-patterns.mdを、該当するリスクについてはreferences/controls.mdを使用します。 - 既存のコードベースまたは設計をレビューする:
レビュー範囲の設定には
references/review-workflow.mdを使用します。任意のスキャナーを使うと、不慣れなソースコードから手掛かりを見つけられます。既知のコードパスは直接調査できます。 - ツール、システムコール、コード実行、データベースへの書き込み、API 呼び出し、メールやメッセージの送信を追加する:
制御を選ぶ前に、具体的な影響を分類します。強制される機能境界については
references/implementation-patterns.mdを読み、影響の大きい操作には、操作ごとの認可と明示的な承認、または同等の手段を必須とします。すでに認可されたサンドボックス内の作業に対して、繰り返し人間の許可を求める必要はありません。 - ユーザーデータ、本番データ、ドキュメント、Web ページ、メール、ベクトルストア、埋め込み、ファインチューニング用データを扱う:
インジェクションとデータフローのリスクについては
references/threat-model.mdを使用します。本番環境、同意、保持、ライフサイクルに関する義務が関わる場合はreferences/governance.mdも追加します。 - 安全性インシデント、予期しないモデルの動作、プロンプトインジェクション、データ漏えい、有害な自動化をデバッグする:
references/review-workflow.mdとreferences/gotchas.mdを読み、ログを保全し、自律的な操作を停止して、既知の安全な状態から復旧します。 - 依頼が、AI、モデル、RAG、ツール呼び出し、エージェント型ワークフローを含まない一般的な Web アプリのセキュリティに関するものだけである: AI 固有の攻撃対象領域がタスクに含まれない限り、このスキルは使用しないでください。
クイックリファレンス
| タスク | アクション |
|---|---|
| 危険と思われるパターンを見つける | python3 scripts/scan_patterns.py /path/to/project を実行します |
| リスクを分類する | 各エージェントの操作を、影響、可逆性、データの機密性、外部への副作用に基づいて段階分けします |
| プロンプトを保護する | 指示と信頼できないデータを分離し、コンテキストを検証、区切り、最小化します |
| ツール呼び出しを保護する | 明示的な許可リスト、適用範囲を限定した認証情報、操作ごとの認可、レート制限を使用します |
| ユーザーとデータを保護する | データを分類し、開示を最小限に抑え、ログを編集し、同意を確認して、テストシステムで生の本番データを使わないようにします |
| 下流システムを保護する | 構造化されたモデル出力を、コード、SQL、シェル、API、UI のレンダリングで使用する前に検証します |
| 本番環境を保護する | 監視、異常アラート、安全性の回帰テスト、ロールバック計画、インシデント対応手順を追加します |
| 例外をレビューする | 制御が適用されない理由、リスクを受け入れた担当者、有効期限を記録します |
コアワークフロー
- AI の対象範囲を把握します。モデル呼び出し、プロンプト、取得コンテンツ、ツール、状態、認証情報、データストア、外部への副作用を確認します。
- 信頼できるサーバー側コンポーネントが生成した入力を除き、すべての入力を信頼できないものとして分類し、信頼できる入力であっても検証します。
- エージェントが実行できるすべてのアクションを分類します。デフォルトでは、元に戻せて権限の低いアクションを選び、影響の大きいアクションには人間の承認を求めます。
- 影響を受ける境界に適切な制御を選びます。スキーマ、許可リスト、サーバー側の認可、冪等性、レート制限、ロック、ロールバック、監査ログは、それぞれ異なるリスクに対処します。アクションと環境に必要なものを使用します。
- モデルが実際に必要としない限り、機密データをプロンプトやログに含めないようにします。マスキング、トークン化、匿名化、または合成データを優先します。
- AI の出力が後続のインタープリター、レンダラー、データベース、API、ファイルシステム、またはシェルコマンドに渡される前に検証します。
- モデル、プロンプト、フレームワーク、依存関係、検索、またはツールを変更した後は、影響を受ける安全性と出力の契約をテストします。共有境界が変更された場合は、より広範な回帰テストを実行します。
制御ルーター
| 領域 | 参照先 |
|---|---|
| エンドツーエンドのレビュー手順、重大度、レポート形式 | references/review-workflow.md |
| 制御カタログとエビデンスのチェックリスト | references/controls.md |
| コピーして使える実装パターン | references/implementation-patterns.md |
| AI 固有の脅威シナリオとリスク階層 | references/threat-model.md |
| インベントリ、同意、モデル更新、ライフサイクル、運用 | references/governance.md |
| よくある失敗とレビュアーが陥りやすい落とし穴 | references/gotchas.md |
| ソース変換に関する注記と対象範囲からの除外事項 | references/source-policy.md |
運用スクリプト
scripts/scan_patterns.py は、最初の段階で使用するヒューリスティックなスキャナーとして使い、安全性の証明としては扱わないでください。
python3 scripts/scan_patterns.py /path/to/project
python3 scripts/scan_patterns.py /path/to/project --json --fail-on high
このスキャナーは、自動判定よりもレビューを促すことを意図的に優先しています。検出結果は、確認すべき箇所として扱ってください。
ソースの対象範囲
このスキルは、Galdren の「Secure AI & Agent Coding Policy」から、エンジニアリングに適用可能な制御を取り入れ、エージェントスキルに適合させたものです。コードレビュー、アーキテクチャ上の判断、ローカルチェック、本番環境の強化に役立つ内容を採用しています。法的判断、組織固有の承認、物理的セキュリティについては対象外とし、コーディングスキルで解決できると装わず、適切なチームに相談するための促しとして扱います。
同梱された助言が機能しない場合や、プロバイダー/フレームワークの契約が変更された場合は、該当するバージョンに対応した公式ドキュメントと、OWASP、NIST、MITRE などの信頼できる一次情報を参照してください。影響を受ける制御を安全に検証してください。最新のドキュメントが、より広範なアクセスやデータ開示を許可するわけではありません。確認できないエビデンスは明記してください。インストール済みのコピーを黙って更新したり、修正版を公開したりするのではなく、影響を受けるルール、ソース/バージョン、脅威シナリオまたは回帰内容を示して、正規のスキルの修正を提案してください。
注意点
- プロンプトだけによる防御では不十分です。認可、検証、ツールの制限はモデルの外部で適用してください。
- バリデーターとして使用するモデルも、AI の入力対象です。他のコンポーネントと同様に、その入力と出力を検証してください。
- 「認証済みユーザー」であることと「エージェントのアクションが認可されている」ことは同じではありません。各アクションを個別に確認してください。
- ログはデータ漏えいの原因になり得ます。調査に必要な情報を記録しつつ、秘密情報、個人データ、機密性の高いコンテキストはマスキングしてください。
- モデルやフレームワークのアップグレードにより、コードの差分がなくても動作が変わることがあります。変更のたびに安全性と出力の契約を再テストしてください。
- 幅広いツールアクセスを許すと、小さなプロンプトの失敗が本番環境のインシデントにつながります。あらゆる段階でエージェントのフットプリントを最小限に抑えてください。