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.md
source content

入力検証セキュリティ

概要

型安全な検証とコンテキスト対応エンコーディングを通じて、インジェクション攻撃を防止する 多層防御型の入力検証スキル。

主な機能:

  • Zodによる型安全な検証
  • コンテキスト対応の出力エンコーディング
  • 許可リストベースのフィルタリング
  • ファイルアップロードセキュリティ
  • SQL/XSS/コマンドインジェクション防止

ワークフロー

Phase 1: 入力分析

目的: すべての入力ベクターをマッピングし、リスクを評価

アクション:

  1. Task呼び出し:
    agents/analyze-inputs.md
  2. 参照:
    references/basics.md
  3. 各入力のリスクレベルを分類

成果物: リスク分類付き入力インベントリ

Phase 2: 検証設計

目的: 型安全な検証スキーマを設計

アクション:

  1. Task呼び出し:
    agents/design-validation.md
  2. 参照:
    references/patterns.md
  3. 許可リストと検証ルールを定義

成果物: 検証スキーマ仕様

Phase 3: 実装

目的: 検証コードを実装

アクション:

  1. Task呼び出し:
    agents/implement-validation.md
  2. テンプレート使用:
    assets/validation-schema.template.ts
  3. エンコーディング適用:
    assets/encoding-helpers.ts

成果物: 本番用検証コード

Phase 4: セキュリティテスト

目的: 攻撃に対する防御を検証

アクション:

  1. 実行:
    node scripts/validate-inputs.mjs --target <path>
  2. Task呼び出し:
    agents/security-test.md
  3. 参照:
    references/xss-prevention.md
    ,
    references/sql-injection-prevention.md

成果物: セキュリティテストレポート

Task仕様ナビ

Taskファイル使用タイミング入力出力
agents/analyze-inputs.md
Phase 1コードベース入力インベントリ
agents/design-validation.md
Phase 2入力インベントリ検証スキーマ
agents/implement-validation.md
Phase 3スキーマ本番コード
agents/security-test.md
Phase 4実装テスト結果

ベストプラクティス

すべきこと

  • 信頼境界で検証する
  • セキュアに失敗する(検証失敗時は拒否)
  • ブロックリストより許可リストを使用
  • 型検証を最初に行う
  • 出力コンテキストに応じてエンコード
  • 入力長を制限
  • 検証失敗をログ記録

避けるべきこと

  • クライアント側のみの検証に依存
  • ブロックリストフィルタリングの使用
  • SQL/コマンドの文字列連結
  • Referer/Originヘッダーを信頼
  • 部分的なエンコーディング
  • 複雑な正規表現(ReDoSリスク)
  • 使用後に検証

リソース参照

参照資料

リソースパス目的
基礎references/basics.md基本概念
パターンreferences/patterns.md実装パターン
XSS防止references/xss-prevention.mdXSS防御
SQLi防止references/sql-injection-prevention.mdSQLインジェクション防御

スクリプト

スクリプト使用方法目的
validate-inputs.mjs
node scripts/validate-inputs.mjs --target <path>
脆弱性スキャン
log_usage.mjs
node scripts/log_usage.mjs --result success --phase complete
使用状況ログ

アセット

テンプレート目的
validation-schema.template.ts
Zodスキーマテンプレート
encoding-helpers.ts
コンテキスト対応エンコード関数

変更履歴

VersionDateChanges
1.1.02026-01-0218-skills.md仕様準拠、日本語化、references/scripts/assets追加
1.0.02025-12-31初版作成