mcpField
V
vulnerability-scanner

vulnerability-scanner

github.com/davila7セキュリティ33.0k394 回インストール1 日前に更新
リポジトリ

vulnerability-scanner について

攻撃対象領域、リスク、根本原因に沿って脆弱性を確認する、開発者向けのセキュリティレビュースキルです。OWASPを踏まえた指針、コードパターンの参照資料、自動検証スクリプトを備えています。

主な機能

  1. 01OWASP Top 10のリスク確認
  2. 02攻撃対象領域の把握と優先順位付け
  3. 03コードの脆弱性パターン分析
  4. 04依存関係とサプライチェーンの確認
  5. 05セキュリティ原則の検証スクリプト

活用シーン

  1. 01アクセス制御と入力処理のレビュー
  2. 02悪用可能性と資産価値に基づく所見の優先順位付け
  3. 03依存関係、ビルドパイプライン、シークレットの確認

インストール

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

$npx skills add https://github.com/davila7/claude-code-templates --skill vulnerability-scanner

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

同梱ファイルchecklists.mdscripts/security_scan.py

詳細

脆弱性スキャナー

攻撃者のように考え、専門家のように防御する。2025年の脅威ランドスケープへの意識。

🔧 ランタイムスクリプト

自動検証のために実行:

スクリプト目的使用方法
scripts/security_scan.py適用されたセキュリティ原則を検証するpython scripts/security_scan.py <project_path>

📋 参照ファイル

ファイル目的
checklists.mdOWASP Top 10、認証、API、データ保護のチェックリスト

1. セキュリティ専門家のマインドセット

中核原則
原則適用
侵害を前提とする攻撃者がすでに内部にいるかのように設計する
ゼロトラスト決して信頼せず、常に検証する
多層防御複数の層で守り、単一障害点を作らない
最小権限必要最小限のアクセスのみ
フェイルセキュアエラー時はアクセスを拒否する
脅威モデリングの問い

スキャンの前に、次を問いかけます:

  1. 何を保護するのか?(資産)
  2. 誰が攻撃するのか?(脅威アクター)
  3. どのように攻撃するのか?(攻撃ベクトル)
  4. 影響は何か?(ビジネスリスク)

2. OWASP Top 10:2025

リスクカテゴリ
順位カテゴリ考えるべきこと
A01アクセス制御の不備誰が何にアクセスできるか? IDOR、SSRF
A02セキュリティの設定ミスデフォルト設定、ヘッダー、公開されたサービス
A03ソフトウェアサプライチェーン 🆕依存関係、CI/CD、ビルドの整合性
A04暗号化の失敗脆弱な暗号、露出したシークレット
A05インジェクションユーザー入力 → システムコマンド
A06安全でない設計欠陥のあるアーキテクチャ
A07認証の失敗セッション、資格情報の管理
A08整合性の失敗署名されていない更新、改ざんされたデータ
A09ログ記録とアラート死角、監視の欠如
A10例外条件 🆕エラー処理、フェイルオープン状態
2025年の主な変更点
2021 → 2025 Shifts:
├── SSRF merged into A01 (Access Control)
├── A02 elevated (Cloud/Container configs)
├── A03 NEW: Supply Chain (major focus)
├── A10 NEW: Exceptional Conditions
└── Focus shift: Root causes > Symptoms

3. サプライチェーンセキュリティ(A03)

攻撃対象領域
ベクトルリスク問いかけるべきこと
依存関係悪意のあるパッケージ新しい依存関係を監査しているか?
ロックファイル整合性攻撃コミットされているか?
ビルドパイプラインCI/CD の侵害誰が変更できるか?
レジストリタイポスクワッティング検証済みのソースか?
防御の原則
  • パッケージの整合性を検証する(チェックサム)
  • バージョンを固定し、更新を監査する
  • 重要な依存関係にはプライベートレジストリを使用する
  • 成果物に署名し、検証する

4. 攻撃対象領域のマッピング

マッピングすべきもの
カテゴリ要素
エントリポイントAPI、フォーム、ファイルアップロード
データフロー入力 → 処理 → 出力
信頼境界認証・認可がチェックされる場所
資産シークレット、PII、ビジネスデータ
優先順位付けマトリクス
Risk = Likelihood × Impact

High Impact + High Likelihood → CRITICAL
High Impact + Low Likelihood  → HIGH
Low Impact + High Likelihood  → MEDIUM
Low Impact + Low Likelihood   → LOW

5. リスクの優先順位付け

CVSS + コンテキスト
要素重み問い
CVSS スコア基本深刻度その脆弱性はどの程度深刻か?
EPSS スコア悪用の可能性悪用されているか?
資産価値ビジネスコンテキスト何がリスクにさらされているか?
露出攻撃対象領域インターネットに公開されているか?
優先順位付けの決定木
Is it actively exploited (EPSS >0.5)?
├── YES → CRITICAL: Immediate action
└── NO → Check CVSS
         ├── CVSS ≥9.0 → HIGH
         ├── CVSS 7.0-8.9 → Consider asset value
         └── CVSS <7.0 → Schedule for later

6. 例外条件(A10 - 新規)

フェイルオープン vs フェイルクローズド
シナリオフェイルオープン(悪い)フェイルクローズド(良い)
認証エラーアクセスを許可するアクセスを拒否する
パースの失敗入力を受理する入力を拒否する
タイムアウト永遠に再試行する制限して中止する
チェックすべきこと
  • すべてをキャッチして無視する例外ハンドラー
  • セキュリティ操作におけるエラー処理の欠如
  • 認証・認可における競合状態
  • リソース枯渇のシナリオ

7. スキャン手法

フェーズベースのアプローチ
1. RECONNAISSANCE
   └── Understand the target
       ├── Technology stack
       ├── Entry points
       └── Data flows

2. DISCOVERY
   └── Identify potential issues
       ├── Configuration review
       ├── Dependency analysis
       └── Code pattern search

3. ANALYSIS
   └── Validate and prioritize
       ├── False positive elimination
       ├── Risk scoring
       └── Attack chain mapping

4. REPORTING
   └── Actionable findings
       ├── Clear reproduction steps
       ├── Business impact
       └── Remediation guidance

8. コードパターン分析

高リスクパターン
パターンリスク確認すべき内容
クエリでの文字列連結インジェクション"SELECT * FROM " + user_input
動的コード実行RCEeval(), exec(), Function()
安全でないデシリアライゼーションRCEpickle.loads(), unserialize()
パス操作トラバーサルファイルパスにユーザー入力が含まれる
セキュリティの無効化各種verify=False, --insecure
シークレットのパターン
種類兆候
APIキーapi_key, apikey, 高エントロピー
トークンtoken, bearer, jwt
認証情報password, secret, key
クラウドAWS_, AZURE_, GCP_ で始まるプレフィックス

9. クラウドセキュリティの考慮事項

責任共有モデル
レイヤーお客様の責任プロバイダーの責任
データ✅❌
アプリケーション✅❌
OS/ランタイム状況による状況による
インフラストラクチャ❌✅
クラウド固有のチェック項目
  • IAM: 最小権限の原則が適用されているか?
  • ストレージ: パブリックバケットが存在しないか?
  • ネットワーク: セキュリティグループが適切に絞り込まれているか?
  • シークレット: シークレットマネージャーを使用しているか?

10. アンチパターン

❌ 避けるべき行為✅ 推奨される行為
理解せずにスキャンするまず攻撃対象領域を把握する
すべてのCVEでアラートを出す悪用可能性と資産に基づいて優先順位を付ける
誤検知を無視する検証済みのベースラインを維持する
症状だけを修正する根本原因に対処する
デプロイ前に一度だけスキャンする継続的にスキャンする
サードパーティ製の依存関係を無条件に信頼する整合性を検証し、コードを監査する

11. レポーティングの原則

検出結果の構成

各検出結果では、以下の点に答えられるようにしてください。

  1. 何が? - 脆弱性の明確な説明
  2. どこで? - 正確な場所(ファイル、行、エンドポイント)
  3. なぜ? - 根本原因の説明
  4. 影響は? - ビジネス上の結果
  5. どう修正するか? - 具体的な是正策
深刻度の分類
深刻度基準
重大RCE、認証バイパス、大規模なデータ露出
高データ露出、権限昇格
中影響範囲が限定的、特定の条件が必要
低情報提供目的、ベストプラクティス

覚えておくこと: 脆弱性スキャンは問題を発見します。熟練した判断によって、何が重要かを優先順位付けします。常に「攻撃者はこれをどう悪用するか?」と自問してください。

コメント