Guide · Agent skill
How to use the API Security Testing agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
This guide explains how to install and use the conducting-api-security-testing skill, a set of instructions and a small Python script that lets an AI agent work through a structured security test of an API. It is written for readers who have never used agent skills before. By the end you will know what the skill does, how to add it to your agent, how to ask for it in plain language, and what you need in place before testing anything.
Quick start
- 1Download the ZIP. Download the skill ZIP from this page and keep a copy of the unzipped folder somewhere you can find it.
- 2Unzip into the skills folder. Unzip the archive into ~/.claude/skills/ for a personal install, or into .claude/skills/ in a project folder. Alternatively, upload it under Settings, Capabilities, Skills in the Claude apps.
- 3Install Python dependencies. Make sure Python 3 is available and install the requests library, which scripts/agent.py needs.
- 4Confirm authorization and credentials. Gather written authorization for the target and test accounts at more than one privilege level before any testing.
- 5Ask for a scoped test. Describe the base URL, the areas to test and the tokens you are providing, in plain language.
- 6Review and verify findings. Replay flagged requests manually in Burp Suite or Postman to confirm each issue before reporting it.
What the skill makes the agent do
The skill gives the agent a step-by-step methodology for finding security weaknesses in APIs, the interfaces apps use to talk to servers. It targets REST, GraphQL and gRPC APIs and uses the OWASP API Security Top 10 as its testing framework.
The methodology covers five areas: discovering endpoints, testing logins and tokens, checking whether users can reach data or actions they should not, probing inputs for injection flaws, and checking whether responses leak too much information.
- Discovery: importing API documentation, exporting a Burp sitemap, sending a GraphQL introspection query, and enumerating hidden or debug endpoints
- Authentication: JWT analysis, OAuth 2.0 checks and API key handling
- Authorization: BOLA (IDOR) and BFLA tests, mass assignment and HTTP method testing
- Input validation: SQL, NoSQL, SSRF and XXE checks, plus rate limiting validation
- Data exposure: verbose responses, error messages, pagination enumeration and debug endpoints
Install the skill from the ZIP
Download the ZIP for this skill from this page. You can install it in one of two ways. For a personal setup, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder. Alternatively, in the Claude apps, open Settings, go to Capabilities, and upload the skill under Skills.
After unzipping, the skill folder should contain SKILL.md, scripts/agent.py and references/api-reference.md.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills, then upload
~/.claude/skills/Check what you need before you start
The skill assumes you already have authorization and a working test setup. Confirm these before you ask the agent to test anything.
Python 3 with the requests library is needed for scripts/agent.py. Burp Suite Professional and Postman or Insomnia are recommended and referenced in the workflow. You also need valid test credentials at multiple privilege levels (unauthenticated, standard user and admin are the levels the skill names) and written authorization for the target. hashcat is needed only if you perform the JWT secret brute-force step. The Burp Autorize extension is optional and automates BOLA checks.
- Python 3 and the requests library (requests >=2.28 per the reference file)
- Burp Suite Professional (recommended)
- Postman or Insomnia (recommended)
- Test credentials at multiple privilege levels
- Written authorization for the target
- hashcat, only for JWT secret brute-forcing
- Burp Autorize extension (optional)
Trigger the skill with a natural request
You do not need special syntax. The skill activates for requests about API security testing, REST API pentests, GraphQL security assessments or API vulnerability testing. State the target, the scope and the credentials you are providing, and say that you have authorization.
A useful request names the API base URL, the test scope and which tokens are available. For example, you might write: "I have written authorization to test the staging API at the base URL below. Use the API security testing skill. I have a standard user token and an admin token. Check for BOLA and BFLA on the user and order endpoints, and check whether GraphQL introspection is enabled."
Run the included script for a BOLA check
The skill includes scripts/agent.py, which automates a basic check for broken object-level authorization by comparing responses for two user IDs. The reference file shows the command-line form below. Arguments include --base-url (required), --token, --low-priv-token for BFLA testing, --login-endpoint for the rate limiting test (default /api/auth/login), --graphql for introspection disclosure testing, and --output to write a report.
Only run it against systems you are authorized to test.
python agent.py --base-url https://api.target.com --token <jwt> --low-priv-token <jwt> --graphql --output report.jsonRead the results and follow up
Treat the agent's output as a list of leads, not a verdict. A flagged BOLA response still needs a manual check in Burp Suite or Postman to confirm the data really belongs to another user. The workflow asks the tester to replay requests across sessions, so the results should be reproducible before you report them.
Ask the agent to walk through a single finding in detail if you want to confirm it. Keep the test notes and the report file with your engagement records.
Safety notes for scripts and network use
This skill runs scripts and uses the network. The script sends HTTP requests to the base URL you give it, so point it only at systems you are authorized to test, and never at production systems that handle real payments without safeguards. The skill itself says not to use it against APIs without written authorization, and not for load testing or denial-of-service testing unless explicitly scoped.
Some workflow steps are deliberately disruptive. The skill's rate limiting step sends 100+ rapid requests to login, password reset and OTP endpoints, which can trigger lockouts. Injection and brute-force payloads can also cause damage. Agree the scope and timing in advance, and read scripts/agent.py before running it.
- Use only against authorized targets, ideally staging or a lab
- Avoid load and denial-of-service testing unless explicitly scoped
- Expect lockouts from the rate limiting step
- Review scripts/agent.py before execution
Tips for better results
Give the agent complete documentation where you have it, such as an OpenAPI spec, a GraphQL schema or a Postman collection, because the discovery step starts there. Provide tokens for each privilege level, since BOLA and BFLA checks need at least two identities to compare.
Ask for one area at a time, such as authentication or authorization, so findings stay easy to verify. If you are a developer, run the checks against your own staging API before release.
- Supply an API spec or Postman collection to speed up discovery
- Provide at least two identities for BOLA comparisons
- Test one category at a time
- Use a deliberately vulnerable lab to practise OWASP API Top 10 issues
What people use it for
- A penetration tester checking whether one user can read another user's orders through an ID swap on a client's staging API
- A developer reviewing their own REST API in a lab for BFLA issues before a release
- A student working through the OWASP API Security Top 10 against a deliberately vulnerable application
- A security engineer checking whether GraphQL introspection is exposed on a staging GraphQL endpoint
- A tester verifying that login endpoints enforce rate limiting, within an agreed scope
Frequently asked questions
How do I install the API security testing agent skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings, Capabilities, Skills. The folder should contain SKILL.md, scripts/agent.py and references/api-reference.md.
What do I need to run the conducting-api-security-testing skill?
You need Python 3 with the requests library for the script, plus written authorization for the target and valid test credentials at multiple privilege levels. Burp Suite Professional and Postman or Insomnia are recommended. hashcat is only needed for the JWT secret brute-force step.
Is the API security testing skill free?
The skill is licensed under Apache-2.0, and that licence is stated on this page. Check the licence file in the downloaded folder for its terms. Note that Burp Suite Professional is a separate commercial product that the workflow recommends, and this page does not give its price.
Can I use this skill to test someone else's API?
Only with written authorization from the owner. The skill itself says not to test APIs without written authorization, and testing someone else's API without permission is illegal in most places. Stick to your own systems, a staging environment or a lab.
Does the skill work with REST, GraphQL and gRPC?
The skill description covers REST, GraphQL and gRPC APIs. The bundled reference file and script focus on REST and GraphQL, including a GraphQL introspection test, so check the output carefully for gRPC targets.
What is a BOLA check and how does the script help?
BOLA, or Broken Object Level Authorization, happens when an API returns one user's data to another user who requests it by changing an identifier. The included script automates a basic check by comparing responses for two user IDs. Confirm any hit manually before reporting it.
Will the skill cause outages?
It can. The rate limiting step sends 100+ rapid requests and injection or brute-force payloads can cause damage or trigger lockouts. Avoid load and denial-of-service testing unless explicitly scoped, and do not run it against production payment systems without safeguards.
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
Choose this skill if you are a penetration tester, security engineer or developer with written authorization to test a specific API, or a student working in a deliberately vulnerable lab. Pick something else if you need load testing, want to test production systems that handle real payments, or do not have authorization for the target.
Download the skill