pentest-api-deep
Deep OWASP API Security Top 10 testing for REST, GraphQL, gRPC, and WebSocket APIs — BFLA, mass assignment, rate limiting, and unsafe consumption.
Works with
--- name: pentest-api-deep description: Deep OWASP API Security Top 10 testing for REST, GraphQL, gRPC, and WebSocket APIs — BFLA, mass assignment, rate limiting, and unsafe consumption. license: Apache-2.0 --- # Pentest API Deep ## Purpose Perform dedicated API-specific vulnerability testing beyond basic BOLA/GraphQL coverage. Addresses Broken Function Level Authorization (BFLA), mass assignment, rate limiting, excessive data exposure, and unsafe consumption per OWASP API Security Top 10 (2023). ## Prerequisites ### Authorization Requirements - **Written authorization** with API testing scope explicitly included - **API documentation** (OpenAPI/Swagger specs, GraphQL schema) if available - **Test accounts** at multiple privilege levels (user, admin, service account) - **Rate limit awareness** — confirm acceptable request volume with target owner ### Environment Setup - Postman or Insomnia for manual API exploration - Burp Suite with API-specific extensions - GraphQL Voyager for schema visualization - grpcurl for gRPC service testing ## Core Workflow 1. **API Discovery**: Enumerate endpoints via OpenAPI/Swagger specs, GraphQL introspection, gRPC reflection, traffic analysis. Discover undocumented endpoints with Kiterunner. 2. **BFLA Testing**: Access admin-only API functions as regular user. HTTP method switching (GET→DELETE). Test function-level authorization gaps distinct from object-level (BOLA). 3. **Mass Assignment**: Send extra fields in POST/PUT (role, isAdmin, balance). Check response objects for leaked internal fields (WSTG-INPV-20). 4. **Rate Limiting & Resource**: Test missing rate limits, GraphQL depth/complexity abuse, pagination abuse, regex DoS via API input. 5. **Excessive Data Exposure**: Compare API responses across privilege levels. Identify fields returned but not displayed in UI. Test verbose error responses. 6. **Unsafe Consumption**: SSRF through upstream API calls, injection through trusted-but-tainted API response data. 7. **API Versioning**: Old API versions with weaker controls, version header manipulation, deprecated endpoint access. ## OWASP API Security Top 10 (2023) Coverage | Category | Test Focus | Status | |----------|-----------|--------| | API1 Broken Object Level Authorization | IDOR via API params | ✅ | | API2 Broken Authentication | Token/key weaknesses | ✅ | | API3 Broken Object Property Level Authorization | Mass assignment, excessive data | ✅ | | API4 Unrestricted Resource Consumption | Rate limits, complexity | ✅ | | API5 Broken Function Level Authorization | BFLA, method switching | ✅ | | API6 Unrestricted Access to Sensitive Business Flows | Automation abuse | ✅ | | API7 Server Side Request Forgery | API-triggered SSRF | ✅ | | API8 Security Misconfiguration | CORS, headers, versioning | ✅ | | API9 Improper Inventory Management | Shadow APIs, deprecated versions | ✅ | | API10 Unsafe Consumption of Third-Party APIs | Upstream injection | ✅ | ## Tool Categories | Category | Tools | Purpose | |----------|-------|---------| | API Discovery | Kiterunner, Swagger UI, GraphQL Voyager | Endpoint enumeration | | Parameter Discovery | Arjun, x8, ParamSpider | Hidden parameter detection | | Fuzzing | ffuf, Burp Intruder, custom scripts | Mass assignment, BFLA | | GraphQL | graphql-cop, InQL, BatchQL | GraphQL-specific attacks | | gRPC | grpcurl, grpc-tools | gRPC reflection and testing | | Rate Testing | custom aiohttp scripts, Turbo Intruder | Rate limit verification | ## References - `references/tools.md` - Tool function signatures and parameters - `references/workflows.md` - Attack pattern definitions and test vectors
More API Design skills
lark-event
larksuite/cli
Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.
lark-contact
larksuite/cli
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
lark-openapi-explorer
larksuite/cli
飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。

