Claude-skill-registry input-validation-security
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/input-validation-security" ~/.claude/skills/majiayu000-claude-skill-registry-input-validation-security && rm -rf "$T"
manifest:
skills/data/input-validation-security/SKILL.mdsource content
入力検証セキュリティ
概要
型安全な検証とコンテキスト対応エンコーディングを通じて、インジェクション攻撃を防止する 多層防御型の入力検証スキル。
主な機能:
- Zodによる型安全な検証
- コンテキスト対応の出力エンコーディング
- 許可リストベースのフィルタリング
- ファイルアップロードセキュリティ
- SQL/XSS/コマンドインジェクション防止
ワークフロー
Phase 1: 入力分析
目的: すべての入力ベクターをマッピングし、リスクを評価
アクション:
- Task呼び出し:
agents/analyze-inputs.md - 参照:
references/basics.md - 各入力のリスクレベルを分類
成果物: リスク分類付き入力インベントリ
Phase 2: 検証設計
目的: 型安全な検証スキーマを設計
アクション:
- Task呼び出し:
agents/design-validation.md - 参照:
references/patterns.md - 許可リストと検証ルールを定義
成果物: 検証スキーマ仕様
Phase 3: 実装
目的: 検証コードを実装
アクション:
- Task呼び出し:
agents/implement-validation.md - テンプレート使用:
assets/validation-schema.template.ts - エンコーディング適用:
assets/encoding-helpers.ts
成果物: 本番用検証コード
Phase 4: セキュリティテスト
目的: 攻撃に対する防御を検証
アクション:
- 実行:
node scripts/validate-inputs.mjs --target <path> - Task呼び出し:
agents/security-test.md - 参照:
,references/xss-prevention.mdreferences/sql-injection-prevention.md
成果物: セキュリティテストレポート
Task仕様ナビ
| Taskファイル | 使用タイミング | 入力 | 出力 |
|---|---|---|---|
| Phase 1 | コードベース | 入力インベントリ |
| Phase 2 | 入力インベントリ | 検証スキーマ |
| Phase 3 | スキーマ | 本番コード |
| Phase 4 | 実装 | テスト結果 |
ベストプラクティス
すべきこと
- 信頼境界で検証する
- セキュアに失敗する(検証失敗時は拒否)
- ブロックリストより許可リストを使用
- 型検証を最初に行う
- 出力コンテキストに応じてエンコード
- 入力長を制限
- 検証失敗をログ記録
避けるべきこと
- クライアント側のみの検証に依存
- ブロックリストフィルタリングの使用
- SQL/コマンドの文字列連結
- Referer/Originヘッダーを信頼
- 部分的なエンコーディング
- 複雑な正規表現(ReDoSリスク)
- 使用後に検証
リソース参照
参照資料
| リソース | パス | 目的 |
|---|---|---|
| 基礎 | references/basics.md | 基本概念 |
| パターン | references/patterns.md | 実装パターン |
| XSS防止 | references/xss-prevention.md | XSS防御 |
| SQLi防止 | references/sql-injection-prevention.md | SQLインジェクション防御 |
スクリプト
| スクリプト | 使用方法 | 目的 |
|---|---|---|
| | 脆弱性スキャン |
| | 使用状況ログ |
アセット
| テンプレート | 目的 |
|---|---|
| Zodスキーマテンプレート |
| コンテキスト対応エンコード関数 |
変更履歴
| Version | Date | Changes |
|---|---|---|
| 1.1.0 | 2026-01-02 | 18-skills.md仕様準拠、日本語化、references/scripts/assets追加 |
| 1.0.0 | 2025-12-31 | 初版作成 |