<< All versions
Skill v1.0.1
currentAutomated scan100/100mukul975/anthropic-cybersecurity-skills/analyzing-api-gateway-access-logs
+3 new
──Details
PublishedAugust 9, 2026 at 11:44 PM
Content Hashsha256:6b950131de34c264...
Git SHA4c0b700ac5d2
Bump Typepatch
──Files
Files (1 file, 2.3 KB)
SKILL.md2.3 KBactive
SKILL.md · 82 lines · 2.3 KB
name: analyzing-api-gateway-access-logs description: 'Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect BOLA/IDOR attacks, rate limit bypass, credential scanning, and injection attempts. Uses pandas for statistical analysis of request patterns and anomaly detection. Use when investigating API abuse or building API-specific threat detection rules.
' domain: cybersecurity subdomain: security-operations tags:
- api-security
- access-log-analysis
- aws-api-gateway
- kong
- nginx
- bola-detection
- rate-limit-bypass
- security-operations
version: '1.0' author: mahipal license: Apache-2.0 nist_csf:
- DE.CM-01
- RS.MA-01
- GV.OV-01
- DE.AE-02
mitre_attack:
- T1190
- T1110.004
- T1078.004
- T1119
Analyzing API Gateway Access Logs
When to Use
- When investigating security incidents that require analyzing api gateway access logs
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
Prerequisites
- Familiarity with security operations concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Instructions
Parse API gateway access logs to identify attack patterns including broken object level authorization (BOLA), excessive data exposure, and injection attempts.
python
import pandas as pddf = pd.read_json("api_gateway_logs.json", lines=True)# Detect BOLA: same user accessing many different resource IDsbola = df.groupby(["user_id", "endpoint"]).agg(unique_ids=("resource_id", "nunique")).reset_index()suspicious = bola[bola["unique_ids"] > 50]
Key detection patterns:
- BOLA/IDOR: sequential resource ID enumeration
- Rate limit bypass via header manipulation
- Credential scanning (401 surges from single source)
- SQL/NoSQL injection in query parameters
- Unusual HTTP methods (DELETE, PATCH) on read-only endpoints
Examples
python
# Detect 401 surges indicating credential scanningauth_failures = df[df["status_code"] == 401]scanner_ips = auth_failures.groupby("source_ip").size()scanners = scanner_ips[scanner_ips > 100]