Skip to content
Skills Library
Security · Review & audit

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.

Repository
watchdog ↗
Licence
MIT
Last repository change
03.11.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
1
Deprecation

No signals detected. Repository changed on 03.11.2026, without references to retired models or APIs.

Licence

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

bloodhoundAPI securityis this endpoint safe
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

  1. Active every turn
  2. What to look for (OWASP API Top 10, in order)
  3. Rules of engagement
Original SKILL.md headings · 26 lines, 297 words
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

RepositoryScoreLicence
This page · watchdoglab/watchdog90MIT
xoai/sage100MIT
hazzng/sql-fs100MIT
genkovich/sdd100MIT
stackhawk/agent-skills100MIT
xiaobei930/cc-best100MIT
ialameh/sift-coder100MIT
imgly/codesign91MIT
onsi/biloba87MIT

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…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.