mcpField
S
scanning-api-security

scanning-api-security

github.com/jeremylongshoreセキュリティ2.9k41 回インストール2 日前に更新
リポジトリ

scanning-api-security について

scanning-api-securityは、OWASP API Security Top 10に照らしてAPI実装を点検するスキルです。脆弱性レポート、エンドポイントと認証の対応表、データ露出監査、修正案を作成します。

主な機能

  1. 01エンドポイントとミドルウェアの一覧化
  2. 02認証とオブジェクト認可の確認
  3. 03インジェクションと過剰なデータ露出の検出
  4. 04入力検証、レート制限、セキュリティヘッダーの監査
  5. 05依存関係の脆弱性スキャンと報告

活用シーン

  1. 01デプロイ前のAPIセキュリティ点検
  2. 02エンドポイントごとの認証適用状況の確認
  3. 03レスポンス項目とAPI文書の比較
  4. 04脆弱性修正の優先順位付け

インストール

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

$npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill scanning-api-security

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

同梱ファイル

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

references/
errors.md
examples.md
implementation.md

詳細

API セキュリティのスキャン

概要

エンドポイントの実装、認証フロー、データの取り扱いを OWASP API Security Top 10 に照らしてスキャンし、API のセキュリティ上の脆弱性を検出します。ルートハンドラー、ミドルウェアチェーン、リクエスト検証ロジックを静的解析し、インジェクション攻撃の経路、認証の不備、過剰なデータ露出、マスアサインメント、レート制限の欠如を特定します。

前提条件

  • ルート定義とコントローラー/ハンドラーの実装にアクセスできる API ソースコード
  • 文書化されたセキュリティ制御と実装済みの制御を照合するための OpenAPI 仕様
  • OWASP API Security Top 10(2023)のチェックリストに関する知識
  • セキュリティスキャンツール:動的テスト用の OWASP ZAP、Burp Suite、または nuclei
  • 依存関係の脆弱性スキャナー:npm audit、safety(Python)、または govulncheck

手順

  1. Grep を使ってすべてのルート定義をスキャンし、エンドポイント、HTTP メソッド、各ルートに適用されるミドルウェアチェーンの完全な一覧を作成します。
  2. 認証ミドルウェアを監査し、すべての変更用エンドポイント(POST、PUT、PATCH、DELETE)で認証が強制されていることと、ルートの順序によって認証が誤って回避されるエンドポイントがないことを確認します。
  3. リソースアクセス時に、有効な認証だけでなく、認証済みユーザーの ID/ロールとリクエストされたリソースの所有権が照合されていることを確認し、Broken Object Level Authorization(BOLA)を検出します。
  4. API コントラクトとレスポンスのシリアライズ結果を比較して過剰なデータ露出を特定します。明示的なフィールドの許可リストではなく、完全なデータベースレコードを返すエンドポイントに印を付けます。
  5. リクエストボディが、フィールド単位の許可リストなしに ORM の create/update 呼び出しへ直接渡されていないかを確認し、マスアサインメントの脆弱性を検出します。
  6. すべてのリクエストパラメーター、クエリ文字列、ヘッダー、ボディフィールドに入力検証があることを確認し、SQL インジェクション、NoSQL インジェクション、コマンドインジェクションにつながるパターンをチェックします。
  7. レート制限の設定を監査し、すべての一般公開エンドポイントと認証エンドポイントに IP 単位およびユーザー単位のレート制限が適用されていることを確認します。
  8. セキュリティヘッダー(CORS、CSP、HSTS、X-Content-Type-Options)を確認し、認証が必要なエンドポイントで CORS の Access-Control-Allow-Origin がワイルドカード * に設定されていないことを検証します。
  9. 依存関係をスキャンして既知の CVE を検出し、重大度評価と修正案を含む優先順位付きの修正レポートを作成します。

実装ガイドの全文については ${CLAUDE_SKILL_DIR}/references/implementation.md を参照してください。

出力

  • ${CLAUDE_SKILL_DIR}/reports/security-scan.json - 重大度評価を含む、機械可読形式の脆弱性レポート
  • ${CLAUDE_SKILL_DIR}/reports/security-scan.md - 修正方法を含む、人が読みやすいレポート
  • ${CLAUDE_SKILL_DIR}/reports/endpoint-auth-matrix.md - エンドポイントと認証ミドルウェアの対応表
  • ${CLAUDE_SKILL_DIR}/reports/data-exposure-audit.md - エンドポイントごとに返されるフィールドと文書化されたフィールド
  • 特定された脆弱性を示す // SECURITY: 注釈付きのインラインコードコメント

エラー処理

エラー原因解決策
認証バイパスの誤検知ルートでスキャナーが認識しないカスタム認証デコレーターを使用していますカスタム認証パターンをスキャナー設定に追加し、標準外の認証ミドルウェアについて文書化します
BOLA が検出されない認可チェックは存在しますが、比較ロジックに不備があります所有権チェックを手動で確認し、マルチテナントクエリでテナント分離が確実に行われているか検証します
インジェクションの見逃しパラメーター化クエリにより、文字列で構築されたサブクエリ内のインジェクションが隠れていますORM の使用箇所と併せて、生の SQL を連結するパターンをスキャンし、動的クエリビルダーを確認します
CORS の設定ミスを見逃すCORS がアプリケーションコードではなく、リバースプロキシ側で設定されていますnginx/Apache の設定ファイルとクラウドプロバイダーの CORS 設定もスキャン対象に含めます
依存関係スキャンがタイムアウトする推移的な依存関係が多数ある大規模な依存関係ツリーです依存関係スキャンを並列実行し、脆弱性データベースをローカルにキャッシュします

包括的なエラーパターンについては、${CLAUDE_SKILL_DIR}/references/errors.md を参照してください。

例

OWASP Top 10 監査:Node.js Express API を対象に、OWASP API Security の 10 カテゴリーすべてについてスキャンを実施します。各カテゴリーの合格/不合格/警告のステータスと、該当するファイルおよび行番号を示すコンプライアンスマトリックスを生成します。

デプロイ前のゲート:セキュリティスキャンを CI パイプラインに統合し、重大度が Critical または High の検出事項があればデプロイをブロックします。Medium/Low の検出事項は、文書化された例外があれば許可します。

認証フローのレビュー:ログインからトークンの発行、更新、失効まで、認証フロー全体を追跡し、トークンの有効期間の問題、リフレッシュローテーションの欠如、安全でないトークン保存パターンを特定します。

追加の例については、${CLAUDE_SKILL_DIR}/references/examples.md を参照してください。

リソース

コメント