Skip to content
Back to skills

Audit Api

ASecurity

Comprehensive audit of ALL API routes across frontend, admin, and mcp-server. Use when asked to audit APIs, review endpoints, or assess API security — covering auth middleware, input validation, rate limiting, error handling, CORS, and data exposure.

  • 5 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added June 1, 2026
ai-agentsshellsqlfastapiapifrontendsecurity

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned June 1, 2026

npx -y skills add lroy-stack/ai-pod-store --skill audit-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audit Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Audit Api
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lroy-stack-audit-api/badge)](https://www.skillsdirectory.com/skills/lroy-stack-audit-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Audit API
description: >
  Comprehensive audit of ALL API routes across frontend, admin, and mcp-server. Use when asked
  to audit APIs, review endpoints, or assess API security — covering auth middleware, input
  validation, rate limiting, error handling, CORS, and data exposure.
---

# Audit API

Systematic audit of every API route in the system: frontend (`/api/`), admin (`/panel/api/`), mcp-server (`/api/`), and PodClaw bridge (`/bridge/`).

## Prerequisites

- Read `frontend/src/app/api/` — all frontend API routes
- Read `admin/src/app/api/` — all admin API routes
- Read `mcp-server/src/` — MCP server routes if they exist
- Read `podclaw/bridge/api.py` — PodClaw FastAPI bridge

## Workflow

### Phase 1: Endpoint Inventory

1. **Catalog all endpoints**:
   - List every API route with HTTP method, path, auth requirement
   - Classify: public, authenticated, admin-only, service-internal
   - Format as table for easy review

2. **Auth middleware coverage**:
   - For each endpoint, identify which auth middleware is applied
   - Frontend: `withAuth()`, Supabase auth header validation
   - Admin: `withAuth()`, `withPermission()`, iron-session
   - PodClaw: token-based auth
   - List any endpoint WITHOUT auth → CRITICAL if it mutates data

### Phase 2: Input Validation

3. **Schema validation**:
   - Does every POST/PATCH/PUT endpoint validate input with Zod or equivalent?
   - List endpoints with unvalidated input → FAIL
   - Check for overly permissive schemas (e.g., `z.any()`, `z.unknown()`)

4. **Injection vectors**:
   - Search for string interpolation in SQL queries → CRITICAL
   - Search for `dangerouslySetInnerHTML` with user input → CRITICAL
   - Check for command injection in any shell exec calls
   - Check for path traversal in file-serving endpoints

5. **Mass assignment**:
   - Can users update fields they shouldn't? (e.g., `role`, `is_admin`, `status`)
   - Are update schemas restrictive (allowlist) vs permissive (blocklist)?
   - Check for `.update(req.body)` patterns without filtering

### Phase 3: Response Security

6. **Data exposure**:
   - Do responses include sensitive fields? (passwords, tokens, internal IDs)
   - Are error responses sanitized? (no stack traces, no DB schema leaks)
   - Check for verbose error messages in production mode

7. **CORS configuration**:
   - What origins are allowed?
   - Are credentials allowed cross-origin?
   - Is CORS too permissive? (e.g., `*` origin with credentials)

8. **Response headers**:
   - Is `Cache-Control: no-store` set on sensitive endpoints?
   - Are security headers present? (X-Content-Type-Options, X-Frame-Options)
   - Is HSTS configured?

### Phase 4: Rate Limiting & Abuse Prevention

9. **Rate limiting**:
   - Which endpoints have rate limiting?
   - Auth endpoints (login, register, password reset) — MUST have rate limiting
   - Data export endpoints — should have rate limiting
   - List unprotected endpoints → WARN

10. **Abuse vectors**:
    - Can unauthenticated users trigger expensive operations? (AI calls, email sends)
    - Are file upload endpoints size-limited?
    - Is there pagination enforcement on list endpoints?

### Phase 5: Inter-Service Communication

11. **Service-to-service auth**:
    - How do frontend → PodClaw bridge calls authenticate?
    - How do cron jobs authenticate to API routes?
    - Are internal service tokens rotated?

12. **Webhook security**:
    - Are incoming webhooks (Stripe, Printful) validated? (signatures, source IP)
    - Do webhooks use idempotency keys?
    - Are webhook endpoints protected from replay attacks?

13. **MCP server**:
    - What tools does the MCP server expose?
    - Is there auth on MCP tool invocations?
    - Can MCP tools access data they shouldn't?

## Output Format

Generate `AUDIT_API_[DATE].md` at workspace root with:

```markdown
# API Audit — [DATE]

## Endpoint Inventory
| Service | Method | Path | Auth | Validation | Rate Limit | Status |
|---|---|---|---|---|---|---|

## Summary
- Total endpoints: X
- PASS: X | WARN: X | FAIL: X | CRITICAL: X

## Critical Findings
[Unprotected endpoints, injection vectors, auth bypasses]

## Recommendations
[Priority-ordered fixes]
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.