analyzing-api-gateway-access-logs について
API ゲートウェイのアクセスログを扱う SOC アナリストやセキュリティチーム向けの分析スキルです。Python を使った手順で、BOLA、インジェクション、認証情報スキャンなどの兆候を調べます。
主な機能
- 01BOLA と IDOR の検出パターン
- 02認証情報スキャンの兆候確認
- 03インジェクションとレート制限の確認
- 04Python によるログ分析例
活用シーン
- 01API ゲートウェイのセキュリティインシデント調査
- 02脅威ハンティング用クエリの作成
- 03API 攻撃に対する監視範囲の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-api-gateway-access-logsインストール後、Claude Code で/analyzing-api-gateway-access-logsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
API Gateway アクセスログの分析
使用する場面
- API Gateway のアクセスログを分析する必要があるセキュリティインシデントを調査するとき
- この領域の検出ルールや脅威ハンティングクエリを作成するとき
- SOC アナリストが、この種の分析に関する体系的な手順を必要とするとき
- 関連する攻撃手法に対するセキュリティ監視の対応範囲を検証するとき
前提条件
- セキュリティ運用の概念とツールに関する知識
- 安全に実行できるテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8 以降
- テスト活動に対する適切な許可
手順
API Gateway のアクセスログを解析し、オブジェクトレベル認可の不備(BOLA)、過剰なデータ露出、インジェクションの試みなどの攻撃パターンを特定します。
import pandas as pd
df = pd.read_json("api_gateway_logs.json", lines=True)
# Detect BOLA: same user accessing many different resource IDs
bola = df.groupby(["user_id", "endpoint"]).agg(
unique_ids=("resource_id", "nunique")).reset_index()
suspicious = bola[bola["unique_ids"] > 50]
主な検出パターン:
- BOLA/IDOR:リソース ID の連番列挙
- ヘッダー操作によるレート制限の回避
- 認証情報のスキャン(単一の送信元からの 401 の急増)
- クエリパラメーターへの SQL/NoSQL インジェクション
- 読み取り専用エンドポイントでの通常と異なる HTTP メソッド(DELETE、PATCH)
例
# Detect 401 surges indicating credential scanning
auth_failures = df[df["status_code"] == 401]
scanner_ips = auth_failures.groupby("source_ip").size()
scanners = scanner_ips[scanner_ips > 100]
コメント
Markdown 対応