Guide · Agent skill
How to use the Offensive API Security Testing agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The offensive-api-security skill is a structured testing playbook for an AI agent, covering the attack surfaces of REST, gRPC and WebSocket APIs. It is aimed at authorized penetration testing, so the agent works through checks such as whether one user can read another user's data or whether admin functions are open to ordinary accounts. This guide explains what the skill does, how to install it, how to ask for it in plain language, and the safety limits you should respect before running anything.
Quick start
- 1Download the ZIP. Download the offensive-api-security ZIP from this page.
- 2Unzip into a skills folder. Place the offensive-api-security folder in ~/.claude/skills/ for all projects, or in .claude/skills/ inside one project.
- 3Or upload it in the app. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the ZIP.
- 4Gather your prerequisites. Install curl, jq and bash for the example commands, and Python 3 for the payload example. Have valid test credentials or tokens ready.
- 5Confirm authorization and scope. Write down the permission you have and the endpoints in scope before you start.
- 6Ask in plain language. Describe the API, the target and the check you want, such as a BOLA test on one endpoint.
- 7Review findings. Ask the agent for reproduction steps and severity ratings for each issue it reports.
What the skill makes the agent do
Agent skills are folders of instructions that an AI assistant loads when a task matches them. This one is built around the SKILL.md file, which gives the agent a step-by-step methodology for finding weaknesses in the connection points that apps use to exchange data.
The skill's quick workflow runs in ten stages: map the API surface from OpenAPI or Swagger specs, gRPC reflection output and WebSocket endpoints; enumerate authentication mechanisms such as API keys, OAuth flows, JWTs and session tokens; test BOLA/IDOR by swapping object identifiers across authenticated contexts; probe BFLA across roles and HTTP methods; fuzz for mass assignment, content-type switching and verb tampering; assess rate limiting; test gRPC and WebSocket specifics; check for SSRF; and document findings with reproduction steps and severity ratings.
The skill's description lists its coverage of the OWASP API Security Top 10 2023, including BOLA/IDOR, broken authentication, excessive data exposure, rate limiting bypass, BFLA, mass assignment, SSRF and security misconfiguration. It also names REST-specific attacks (HTTP verb tampering, content-type switching, parameter pollution), gRPC topics (protobuf interception, reflection enumeration, metadata injection), WebSocket topics (origin bypass, message injection, cross-site WebSocket hijacking), and tooling guidance for Burp Suite, Postman, grpcurl, websocat and mitmproxy. The skill also says each technique comes with detection signatures and defensive indicators showing what artifacts testing leaves behind.
How to install the offensive-api-security skill
Download the ZIP for this skill from this page. Unzip it so that the offensive-api-security folder containing SKILL.md sits in one of these locations: ~/.claude/skills/ for all your projects, or .claude/skills/ inside a specific project folder.
You can also upload the skill in the Claude apps. Open Settings, go to Capabilities, then Skills, and upload the ZIP there.
The skill ships as a single file, SKILL.md. The source does not list any other files, scripts or installer steps.
- Personal install: ~/.claude/skills/offensive-api-security/
- Project install: .claude/skills/offensive-api-security/ inside your repository
- App install: upload the ZIP under Settings, Capabilities, Skills
How to trigger the skill with natural requests
You do not need a special command. Describe the authorized test in plain language and name the API and your target. The agent loads the skill when the request matches its purpose, which is API security testing against API-driven applications.
Always state that you have written permission and a defined scope. The skill itself assumes this for every technique, so including it in your request keeps the agent working within those limits.
- Map the attack surface of https://target.example.com for an authorized engagement. Our scope is the /api/v1 paths only.
- Check whether user A can read or change user B's orders on our staging API. We have written permission to test it.
- Test the login endpoint for missing rate limits. Use test accounts only.
- Review our REST API for mass assignment and BFLA issues before release.
Example: testing for BOLA and IDOR
BOLA (Broken Object Level Authorization) is the first thing the skill tests. You capture a legitimate request that contains an object identifier, then replay it with an identifier that belongs to another user while keeping the original token. If the server still returns the data, authorization is not being enforced on that object.
The skill also includes a bash loop that tests sequential IDs with curl and reports the HTTP status for each one. Run loops like this only against systems you are authorized to test, and keep the ranges small.
for id in $(seq 1000 1050); do
status=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $TOKEN_A" \
"https://target.example.com/api/v1/users/${id}/orders")
echo "ID: ${id} -> HTTP ${status}"
doneExample: checking broken authentication and rate limits
The skill checks whether login endpoints limit guessing attempts and whether token validation holds up. It suggests testing an expired token, a token issued before a password change, and malformed bearer values.
The rate-limit example measures response headers across rapid requests and looks for x-rate, retry-after or x-ratelimit headers. Treat this as a test against a non-production system with a rate-limit plan, because the source warns that such loops can trigger lockouts or outages.
- Expired token and post-password-change token: check whether the API still accepts them.
- Malformed Authorization values such as an empty value, null or Bearer alone: check how the API responds.
- Login loops: watch for HTTP 429 and note the attempt number where it appears.
curl -s -D - -o /dev/null \
-H "Authorization: Bearer $TOKEN" \
"https://target.example.com/api/v1/search?q=test" 2>&1 | \
grep -iE "x-rate|retry-after|x-ratelimit"Safety notes: scripts, network and permission
The skill does not run scripts on its own, but the agent will send live network requests to the target you name. Every request leaves a record on the target side, and some techniques, such as brute-force login attempts and resource-exhaustion payloads, can be illegal and disruptive without permission.
The skill's own guidance is that these techniques need written permission and a defined scope. Use test accounts and tokens that you supply, and avoid production systems unless you have a rate-limit or load-testing plan. Large page sizes and payloads in the examples can cause large data pulls.
- Confirm written authorization and scope before any request is sent.
- Use test credentials or tokens that you supply for the target API.
- Do not run brute-force or large-payload examples against production without a plan.
- Remember that the skill describes defensive indicators so you can see what your testing leaves behind.
What people use it for
- Checking whether one tenant's user can read another tenant's records by changing object IDs.
- Testing whether admin endpoints respond to a regular user's token before a release.
- Reviewing a login endpoint for missing rate limits and token validation weaknesses.
- Preparing a pentest plan that maps REST, gRPC and WebSocket surfaces for a defined scope.
- Learning the OWASP API Security Top 10 by working through each check on a system you are allowed to test.
Frequently asked questions
Is the offensive API security skill free and what licence does it use?
The skill is listed under the MIT licence on this page. The source does not mention pricing, so check the repository for any terms beyond the licence.
What do I need to run the offensive-api-security skill?
The example commands need curl, jq and bash, and the payload example needs Python 3. Optional tools named in the skill are Burp Suite, Postman, grpcurl, websocat and mitmproxy. You also need valid test credentials or tokens for the target API.
Does the skill run scripts on my computer?
The source says the skill does not run scripts. It does use the network, because the agent sends requests to the API you name, so the target and scope matter.
Where do I put the skill folder?
Place it in ~/.claude/skills/ for personal use across projects, or in .claude/skills/ inside a project. You can also upload the ZIP in the Claude apps under Settings, Capabilities, Skills.
Can I use this skill on a live production API?
Only with written permission and a defined scope. The skill's guidance warns that loops and payloads can trigger lockouts, outages or large data pulls, so use a non-production system or a rate-limit or load-testing plan.
How does this compare with running the tests myself in Burp Suite or Postman?
The skill gives the agent a structured methodology and example commands, and it names Burp Suite, Postman, grpcurl, websocat and mitmproxy as tools to use. It does not replace those tools or your judgement about scope and findings.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits security professionals on authorized engagements, students learning the OWASP API Top 10, and developers checking their own APIs for authorization flaws before release. It is a poor fit for systems you do not own or have no written permission to test, and for production systems without a rate-limit or load-testing plan.
Download the skill