agentleFS
mindfortaimindfortai/security-skills/skills/api-testing/SKILL.md

api-testing

Skill16 starsChanged 5 months agoMITView on GitHub

Builds safe, authorized API abuse testing plans for applications. Use when testing APIs for broken access control, data exposure, unsafe input handling, replay, rate-limit gaps, or business logic abuse.

17 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use analytics-tracking-testing, database-testing and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • petrkindlmannSkill

    analytics-tracking-testing

    Validate that analytics and marketing tracking fire CORRECTLY: GA4/GTM dataLayer events, Meta/TikTok/LinkedIn pixels, and ad-tech tags. Covers building a tracking plan as the contract, intercepting collect-endpoint beacons and dataLayer.push in Playwright, asserting event name + params + values + timing + de-duplication, Consent Mode v2 gating, CI regression gating, and news-media events (article-view, scroll-depth, paywall). Use when: "test analytics tracking," "GA4 event test," "verify the pixel fires," "dataLayer test," "tracking plan," "Meta Pixel dedup," "scroll-depth tracking test," "gate tracking in CI." Not for: whether tracking is ALLOWED to fire under consent law (GDPR/CMP) — that is compliance-testing; this skill checks the data is CORRECT. SEO meta tags / structured data — out of scope. Related: compliance-testing, playwright-automation, api-testing, qa-project-context.

    Also in 3 projects that use this

  • petrkindlmannSkill

    database-testing

    Validate database integrity, test migrations forward and backward, verify schema constraints, manage seed data, detect migration drift, and identify query performance issues. Covers PostgreSQL, MySQL, MongoDB with Prisma, TypeORM, Drizzle, and SQLAlchemy, plus Testcontainers test databases. Use when: "database test," "migration test," "migration rollback," "rollback test," "data integrity," "SQL test," "schema validation," "seed data," "query performance," "Testcontainers." Not for: synthetic data generation/masking at scale — use test-data-management; Docker/IaC test-environment provisioning — use test-environments; SQL injection — use security-testing. Related: test-data-management, test-environments, security-testing, ci-cd-integration.

    Also in 4 projects that use this

  • testified-ossSkill

    exploratory-testing

    Guide exploratory testing sessions including charter creation, session-based testing, heuristics application, and finding documentation. Use when planning exploratory testing, conducting test sessions, or documenting discoveries.

    Also in 5 projects that use this

  • conorluddySkill

    accessibility-testing

    WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels, testing VoiceOver compatibility, checking contrast ratios, or ensuring WCAG 2.1 compliance. Covers accessibility tree analysis, semantic validation, and automated accessibility testing patterns.

    Also in 4 projects that use this

  • mmondoraSkill

    security-testing

    Automated security testing in CI. SAST, DAST, dependency scanning, authorization testing, secret detection. Use when adding security scans to pipelines, writing tenant isolation tests, or configuring vulnerability scanning.

    Also in 3 projects that use this

  • etewiahSkill

    e2e-testing

    Playwright E2E testing and Lighthouse performance auditing. Use when setting up E2E tests, running Playwright tests, performing Lighthouse audits, or debugging E2E test failures.

    Also in 4 projects that use this

  • +4 more from petrkindlmann

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 13 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill to create a practical security test plan for APIs.

    line 9
  2. Distinctive:

    Only plan or run tests against systems the user owns or is authorized to test.

    line 15
  3. Distinctive:

    Prefer local, staging, or explicitly approved test environments.

    line 16
  4. Distinctive:

    Do not include destructive payloads, persistence steps, credential theft workflows, or attack instructions against third-party systems.

    line 17
  5. Distinctive:

    Do not run high-volume, destructive, or state-changing tests without user approval.

    line 19
  6. Very specific:

    Use status values such as planned_test, confirmed_gap, needs_environment, do_not_run_without_approval, or no_confirmed_findings.

    line 96
  7. Distinctive:

    Put scope, coverage matrix, automation recommendations, and tests that must not run without approval after the CSV unless the user asks for …

    line 110
  8. Distinctive:

    Prefer reusable test patterns teams can automate in CI.

    line 116
  9. Distinctive:

    When a safe local environment exists, run representative smoke tests with local fixtures or temporary stubs for external integrations, then …

    line 119
  10. Distinctive:

    Do not stub the API control being tested: authorization, signature verification, rate limiting, replay protection, validation, and tenant …

    line 120
  11. Distinctive:

    When subagents are available, ask an independent subagent to review high-priority test cases for missing actor setups, false assumptions, …

    line 121

“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

API Testing

Use this skill to create a practical security test plan for APIs. The output should help a startup engineering team or enterprise security team test realistic abuse cases without turning the report into an offensive payload catalog.

The skill can be used against repository code, OpenAPI specs, route definitions, API docs, Postman collections, test suites, logs, or a local authorized environment.

Safety Boundaries

  • Only plan or run tests against systems the user owns or is authorized to test.
  • Prefer local, staging, or explicitly approved test environments.
  • Do not include destructive payloads, persistence steps, credential theft workflows, or attack instructions against third-party systems.
  • For production systems, recommend non-destructive validation and rate-limited probes only when explicitly authorized.
  • Do not run high-volume, destructive, or state-changing tests without user approval.

Discovery

Identify:

  • API styles: REST, GraphQL, gRPC, WebSocket, webhooks, internal RPC, worker events, or SDK methods.
  • Auth mechanisms: sessions, bearer tokens, API keys, OAuth, SSO, mTLS, signed webhooks, service accounts.
  • Actor types: anonymous, user, admin, tenant member, external integration, service account, internal support, CI/deploy actor.
  • Sensitive operations: login, reset, invite, role change, export, billing, deletion, file upload, integration setup, webhook handling, import, search, report generation.
  • Data types: PII, credentials, tokens, tenant data, customer data, payments, audit logs, prompts, model outputs, files, operational metadata.
  • Existing tests: unit, integration, E2E, contract tests, DAST, fuzzing, negative auth tests.

Useful commands when available:

rg --files
rg -n "router|route|controller|handler|resolver|mutation|query|webhook|OpenAPI|swagger|graphql|grpc"
rg -n "auth|permission|role|tenant|org|admin|api.?key|token|rate.?limit|csrf|cors|upload|export|invite|billing"

Test Categories

Build test cases across categories relevant to the target:

Access Control

  • Unauthenticated access to protected endpoints.
  • Low-role access to privileged actions.
  • Cross-user and cross-tenant object access by changing IDs.
  • Bulk operations where only some objects are authorized.
  • Admin/support/impersonation boundaries.
  • API key scope and service-account boundaries.

Data Exposure

  • Sensitive fields in responses, errors, logs, exports, search, list endpoints, autocomplete, analytics, cache keys, and metadata.
  • Server-only data in client-visible APIs.
  • Debug, health, metrics, or internal endpoints exposed to the wrong actor.

Input Handling

  • Type confusion, schema bypass, over-posting, mass assignment, unsafe filters, sorting, path traversal, file upload edge cases, parser limits, and unsafe URL fetches.
  • GraphQL depth, alias, introspection, batching, and resolver-level authorization.

Replay And Workflow Abuse

  • Reusing one-time tokens, reset links, invites, checkout sessions, approval links, signed URLs, webhook events, or idempotency keys.
  • Skipping workflow steps or changing state out of order.
  • Race conditions around billing, quotas, inventory, approvals, and role changes.

Rate Limits And Resource Abuse

  • Expensive search, export, report, upload, import, AI/tool, or webhook endpoints.
  • Missing per-user, per-tenant, per-IP, and per-key limits.
  • Queue amplification, retry storms, and background job abuse.

Integration And Webhooks

  • Signature verification, timestamp windows, replay protection, event-to-tenant binding, external ID mapping, and failure modes.
  • Integration install/uninstall and permission downgrade behavior.

LLM Or Agent APIs

  • Prompt injection into tool calls.
  • Untrusted content influencing privileged actions.
  • Cross-tenant retrieval or memory leakage.
  • Tool permission and human-approval boundaries.

Output Format

Produce an actionable CSV list of planned API security test cases:

id,severity,confidence,status,category,title,location,asset_or_flow,actor,issue,impact,evidence,fix,test,scope_notes

Use status values such as planned_test, confirmed_gap, needs_environment, do_not_run_without_approval, or no_confirmed_findings. Use category values such as access-control, data-exposure, input-handling, replay, workflow-abuse, rate-limit, webhook, integration, graphql, llm-agent, or operability.

For planned tests, use:

  • location: endpoint, resolver, webhook, job, or API family.
  • asset_or_flow: protected data, action, workflow, or state transition.
  • actor: required test actor or role setup.
  • issue: risk the test is designed to prove or disprove.
  • impact: why the control matters.
  • evidence: response, log, assertion, audit event, or metric to collect.
  • fix: likely control to add if the test fails.
  • test: safe test idea or automation target.
  • scope_notes: environment, data, rate limits, and approval requirements.

Put scope, coverage matrix, automation recommendations, and tests that must not run without approval after the CSV unless the user asks for CSV only.

Quality Bar

  • Prioritize tests by business risk and likelihood.
  • Include negative authorization tests for every sensitive API family.
  • Prefer reusable test patterns teams can automate in CI.
  • Clearly mark tests that require staging data, privileged accounts, or production approval.
  • Include what evidence proves the control works.
  • When a safe local environment exists, run representative smoke tests with local fixtures or temporary stubs for external integrations, then clean up scratch requests, local data, mock servers, and temporary config.
  • Do not stub the API control being tested: authorization, signature verification, rate limiting, replay protection, validation, and tenant filters must be exercised for real.
  • When subagents are available, ask an independent subagent to review high-priority test cases for missing actor setups, false assumptions, unsafe production impact, and whether the expected secure behavior is measurable.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.