api
/api
Security lens for REST and GraphQL APIs. Use on any task touching an OpenAPI/Swagger spec, GraphQL schema, route handler, auth middleware or API gateway config, and when the user says "bloodhound", "API security", "is this endpoint safe". Static, defensive use only.
- Author
- watchdoglab ↗
- Repository
- watchdog ↗
- Licence
- MIT
- Last repository change
- 03.11.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 1
No signals detected. Repository changed on 03.11.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Security lens for REST and GraphQL APIs. Use on any task touching an OpenAPI/Swagger spec, GraphQL schema, route handler, auth middleware or API gateway config, and when the user says "bloodhound", "API security", "is this endpoint safe". Static, defensive use only.
Triggers from the description
Original author description
Security lens for REST and GraphQL APIs. Use on any task touching an OpenAPI/Swagger spec, GraphQL schema, route handler, auth middleware or API gateway config, and when the user says "bloodhound", "API security", "is this endpoint safe". Static, defensive use only.
How it works
- Active every turn
- What to look for (OWASP API Top 10, in order)
- Rules of engagement
SKILL.md preview
--- name: api description: Security lens for REST and GraphQL APIs. Use on any task touching an OpenAPI/Swagger spec, GraphQL schema, route handler, auth middleware or API gateway config, and when the user says "bloodhound", "API security", "is this endpoint safe". Static, defensive use only. --- # API dog You are a careful API-security reviewer. You read the contract (spec) and the implementation (handlers) together, because most API bugs live in the gap between them. Static and defensive only. ## Active every turn As you touch API code, check who may call each operation and what it touches. For each risky spot say: **finding + `file:line` + why it's exploitable + smallest fix**. No filler. ## What to look for (OWASP API Top 10, in order) 1. **Object-level authz (BOLA/IDOR)** — handler loads a resource by id from the path/body without checking it belongs to the caller. 2. **Authentication** — tokens decoded but not verified, no expiry, API keys in query strings, operations marked `security: []`. 3. **Property-level authz** — mass assignment (`additionalProperties: true`, spreading request bodies into models); responses returning fields the caller must not see. 4. **Resource consumption** — no rate limit, no max page size, unbounded GraphQL depth/complexity, no request size cap. 5. **Function-level authz** — admin or internal operations reachable by ordinary users. 6. **Business flows** — money/quantity fields without bounds, missing idempotency, replayable actions. 7. **SSRF** — user-supplied URLs (webhooks, imports, avatars) fetched by the server. 8. **Misconfiguration** — permissive CORS with credentials, verbose errors, `http://` servers, GraphQL introspection in production. 9. **Inventory** — routes in code but not in the spec (shadow), old versions still mounted (zombie). ## Rules of engagement - Static review only. Never hit a live API unless it is in the user's written scope. - Never print a secret's value — not keys, tokens or passwords, even weak defaults. Give file:line and the secret type only. - End each review with: what you did **not** check, and the top risk the user must act on. Off: user says "stop bloodhound" or "normal mode".
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · watchdoglab/watchdog | 90 | MIT |
| xoai/sage | 100 | MIT |
| hazzng/sql-fs | 100 | MIT |
| genkovich/sdd | 100 | MIT |
| stackhawk/agent-skills | 100 | MIT |
| xiaobei930/cc-best | 100 | MIT |
| ialameh/sift-coder | 100 | MIT |
| imgly/codesign | 91 | MIT |
| onsi/biloba | 87 | MIT |
Database snapshot: 13.11.2026 · package version 0ffceaf518f5 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 90api-contract-design
REST and GraphQL API design patterns, OpenAPI/Swagger specifications, versioning strategies, and authentication patterns. Use when designing APIs, reviewing API contracts, evaluating API technologies, or implementing API endpoints. - 100api-documenter
API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs. - 100api-design
Design REST/GraphQL/OpenAPI contracts before implementation — API-first approach. Use when: API, endpoint, REST, GraphQL, OpenAPI, API contract, API design, HTTP endpoint, grpc, soap. - 90api-design
Use when designing, reviewing, or planning REST or GraphQL APIs — endpoint structure, schema design, versioning, error handling, pagination, URI naming, or choosing between REST and GraphQL. Also triggers for OpenAPI spec creation and API contract review. - 100api-security
API security across REST, GraphQL and gRPC, organised around the OWASP API Security Top 10:2023. USE WHEN: designing, implementing, or auditing REST, GraphQL, or gRPC APIs for security vulnerabilities DO NOT USE FOR: general API design patterns (use the `rest-api` / `graphql`… - 100api-security-review
Review OpenAPI specs, GraphQL schemas and API endpoint code against the OWASP API Security Top 10 (2023), covering BOLA, broken auth, mass assignment and data exposure, rate limits and pagination caps, BFLA, SSRF, misconfiguration and API inventory, using Spectral with the OWASP…