mcpField
A
api-security

api-security

github.com/transilienceaiセキュリティ600209 回インストール13 週間前に更新
リポジトリ

api-security について

api-securityは、REST、GraphQL、WebSocket、LLM統合APIを対象とするセキュリティテストスキルです。プロトコル別の検査に加え、大規模なAPI群と複数ロールに対する、フィクスチャ駆動の再開可能な認可テストを行います。

主な機能

  1. 01REST、GraphQL、WebSocket、Web-LLMのテスト
  2. 02エンドポイント検出と認証方式の整理
  3. 03APIコーパスからのフィクスチャ生成
  4. 04ロール別の認可リプレイ
  5. 05証拠ログと再開可能なテスト実行

活用シーン

  1. 01APIエンドポイントのアクセス制御不備の検査
  2. 02多数のAPI操作に対する認可チェックの再実行
  3. 03Web-LLM APIのインジェクションとデータ露出の評価
  4. 04リクエストとレスポンスの証拠記録

インストール

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

$npx skills add https://github.com/transilienceai/communitytools --skill api-security

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

同梱ファイル

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

reference/
api-security-principles.md
graphql-resources.md
INDEX.md
owasp-api-top10-coverage.md
reference/scenarios/graphql/
auth-bypass-and-injection.md
csrf-and-content-type.md
dos-and-batching.md
endpoint-discovery.md
idor-and-mass-enumeration.md
introspection-and-bypass.md
rate-limit-bypass.md
schema-reconstruction.md
reference/scenarios/mcp/
inspector-stdio-rce.md
reference/scenarios/rest/
api-recon-and-discovery.md
cognito-unauth-and-srp.md
content-type-confusion-xxe.md
cors-misconfiguration.md
exposed-documentation.md
https-downgrade-redirect-hsts.md
mass-assignment.md
mattermost-slash-command-dialog-hijack.md
odata-deep-authz.md
options-method-enumeration.md
owasp-bola-bopla.md
sspp-query-string.md
sspp-rest-path.md
unauth-existence-oracle.md
unauthenticated-webhook-oracle.md
verbose-error-schema-disclosure.md
waf-bypass-techniques.md

詳細

API セキュリティ

REST、GraphQL、WebSocket、LLM 統合 API 全体で、API エンドポイントのセキュリティ脆弱性をテストします。

テクニック

種類主な攻撃ベクトル
GraphQLイントロスペクション、バッチ処理攻撃、ネストされたクエリによる DoS、フィールド候補の提示
REST APIBOLA/IDOR、マスアサインメント、レート制限、認証の回避、バージョニング
WebSocketクロスサイトハイジャック、メッセージの改ざん、認証の不備
Web-LLMAPI 経由のプロンプトインジェクション、過剰なエージェンシー、データ流出

ワークフロー

  1. API エンドポイントとドキュメント(Swagger、GraphQL スキーマ)を検出します
  2. 認証および認可の仕組みをマッピングします
  3. API の種類ごとに、適切なテクニックを使ってテストします
  4. データ漏えいとアクセス制御の不備を検証します
  5. HTTP リクエスト/レスポンスのログで証拠を記録します

大規模な API(オフラインコーパス/フィクスチャ駆動)

大規模またはオフラインの API サーフェス(2000 件以上のパスを含む Swagger、Postman コーパス、HAR キャプチャなど)では、エンゲージメントごとにカバレッジの仕組みを手作業で構築しないでください。決定論的に実行します。

  1. コーパスを取り込み、エンドポイントごとのフィクスチャに変換: python3 tools/fixture_ingest.py <openapi|postman|har> -o fixtures.json は各操作をリクエストテンプレート(メソッド、パスパラメーターを埋めた URL、サンプルボディ、ID のようなパスパラメーター用の object_ref、セキュリティ要件)に正規化し、組み込みの認証情報を削除します(トークンはハーネスが挿入します)。これにより、数千の操作を含む大規模な OpenAPI/Postman コーパスを、未テストのまま積み上がったものではなく、再開可能なマトリックスにできます。
  2. ロールごとのセッションを取得: authenticated-session-acquisition を使用して(MFA/OTP/SRP → 再利用可能なトークン)、ハーネスのトークンストアに保存します。
  3. ロールごとの認可マトリックスをリプレイ: python3 tools/auth_replay_harness.py --requests fixtures.json --tokens tokens.json [--proxy <vantage>] は、すべてのロール(およびテナント間)で各エンドポイントをリプレイし、ロールが許可されるべきでないオブジェクト/アクションに対して authorized になった場合は BOLA/BFLA としてフラグを立て、(エンドポイント × ロール)ごとに evidence_id を記録します。許可リストに登録された API では、プロビジョニング済みのバンテージ経由で送信します。
  4. プロトコル固有の認可: OData(odata-deep-authz.md)、Cognito(cognito-unauth-and-srp.md)、認証済み WebSocket(authenticated-per-role-authz.md)。

バッチは再開可能です(ハーネスの結果にチェックポイントを設定します)。そのため、認証が不安定でも実行結果が無駄になりません。これは大規模なテストで繰り返し発生するギャップです。完全なマトリックスを実行し、問題がないという結果を、未テストのサーフェスではなく、証拠に基づく否定結果にしてください。

リファレンス

  • reference/graphql*.md - GraphQL の攻撃テクニックとラボ
  • reference/scenarios/rest/*.md - REST API のセキュリティテスト(BOLA/BOPLA、マスアサインメント、SSPP、コンテンツタイプの混同)
  • reference/websockets*.md - WebSocket の脆弱性テスト
  • reference/web-llm*.md - Web-LLM の攻撃テクニックとラボ

コメント