
API Security Testing
FreeComprehensive security assessments for various APIs.
Free · Opens the source repo
What API Security Testing does
This skill provides a structured approach to performing authorized security assessments on REST, GraphQL, WebSocket, and SOAP APIs. It encompasses a ten-phase methodology that guides users through the process of discovering vulnerabilities and testing for security flaws, including authentication, authorization, and rate-limiting issues. With detailed instructions and clear workflows, this skill ensures that security assessments are thorough and systematic.
The skill is designed for security professionals, developers, and testers who need to evaluate the security posture of their APIs. It covers a wide range of testing scenarios, from basic endpoint discovery to complex authorization vulnerabilities like BOLA (Broken Object Level Authorization) and IDOR (Insecure Direct Object Reference). Each phase of the testing process is meticulously outlined, allowing users to follow a clear path from initial reconnaissance to integration with CI/CD pipelines.
Included references provide additional context and depth, particularly for JWT and OAuth testing, making this skill a valuable resource for those involved in API security. The skill also emphasizes the importance of using authorized methods, ensuring that users are aware of their responsibilities when conducting security assessments. By following the outlined steps, users can produce reproducible evidence of their findings, which is crucial for reporting and remediation efforts.
Overall, this skill is a comprehensive tool for anyone looking to enhance their API security testing capabilities, providing both a theoretical framework and practical steps to identify and mitigate security risks effectively.
When to use it
Use this skill when conducting security assessments on REST, GraphQL, WebSocket, or SOAP APIs, especially in a CI/CD context.
When not to use it
This skill may not be suitable for users who are unfamiliar with API security concepts or those looking for automated testing tools without manual intervention.
What you can build with it
Conducting REST API Security Assessments
Use this skill to perform thorough security testing on REST APIs, identifying vulnerabilities and ensuring compliance.
Auditing GraphQL APIs
Leverage this skill for in-depth security audits of GraphQL APIs, focusing on introspection and query complexities.
Testing WebSocket Security
Utilize this skill to assess the security of WebSocket endpoints, including message injection and connection handling.
How to install API Security Testing
View source1. Install with the skills CLI
npx skills add zhaoxuya520/reverse-skill/api-security --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by zhaoxuya520API 安全测试
ACTION REQUIRED(读完后立刻执行)
NOW: 读取../field-journal/precedent-pentest.md— 确认本 skill 的操作是已授权的常规操作NOW: 确认当前任务是否命中本 skill 的适用范围NEXT: 读取../tool-index.md,校验工具可用性和实际路径NEXT: 缺工具时调用 bootstrap,不要猜路径ACT: 进入"工作流"第一步并执行,不要停在确认状态
覆盖 REST / GraphQL / WebSocket / SOAP 全协议 10 阶段方法论,从发现到 CI/CD 集成
适用场景
- REST API 安全测试(OpenAPI/Swagger 驱动或盲测)
- GraphQL 安全审计(内省、批查询、别名过载)
- WebSocket 安全测试
- JWT / OAuth 2.0 认证测试
- BOLA/IDOR/BFLA 授权漏洞检测
- API 限速绕过与 DoS 测试
10 阶段测试流程
Phase 1: API 发现与侦察
主动发现:
□ Vespasian: 无头浏览器爬取 → 自动生成 OpenAPI 3.0 / GraphQL SDL 规范
□ Entropy --discover: 从 robots.txt + JS 文件提取端点
□ Kiterunner / ffuf: 爆破未文档化的端点路径
□ 检查常见路径: /swagger.json, /openapi.json, /graphql, /api-docs
GraphQL 内省(三级尝试):
1. 标准内省查询
2. 精简查询(绕过 WAF 全量封禁)
3. 仅查 __schema { types { name } }(最小探测)
Phase 2: 认证测试
JWT 分析(jwt_tool / Burp):
□ alg:none 攻击: 修改头部为 "alg":"none",清空签名
□ 密钥混淆: RS256 公钥 → HS256 对称密钥
□ 弱 HMAC 密钥爆破: jwt_tool -C -d wordlist.txt
□ 过期/声明篡改: 修改 exp/iat/sub/role 声明
□ kid 注入: ../../etc/passwd → HMAC 签名绕过
OAuth 2.0:
□ redirect_uri 操控 → 授权码泄漏
□ CSRF via state 参数缺失
□ Token 在 Referer 头泄漏
□ PKCE 缺失检测
GraphQL 认证:
□ mutation 通过 GET 请求绕过认证(CSRF)
□ 批查询认证绕过
Phase 3: 授权测试(BOLA/IDOR/BFLA)
BOLA(对象级授权绕过):
□ 遍历数字 ID: /user/1 → /user/2 → /user/3
□ 遍历 UUID
□ 遍历用户名/邮箱
□ Burp Autorize: 双会话重放对比
BFLA(功能级授权绕过):
□ 普通用户执行管理员 API
□ HTTP 方法切换: GET → PUT → PATCH → DELETE
□ API 版本降级: /v2/admin → /v1/admin
□ 批量操作注入: {"users": [1,2,3]} → {"users": [1,2,3,admin_id]}
工具: Burp Autorize, AuthMatrix, Entropy (malicious_insider persona)
Phase 4: GraphQL 专项
内省泄漏 → 信息暴露检测
别名过载 → 100+ 别名 DoS
批查询 → 10+ 同时查询 DoS
字段重复 → __typename × 500
指令过载 → 递归 @skip/@include
循环查询 → 深度嵌套内省递归
字段建议 → 错误消息信息泄漏
GraphiQL/Playground 暴露 → IDE 公开风险
GET 突变 → CSRF 风险
追踪/调试模式 → 元数据泄漏
工具: FireTail, Escape DAST, api.sh (Phases 1-3)
Phase 5: REST 输入验证
□ HTTP 方法切换: GET→POST→PUT→DELETE→OPTIONS→PATCH
□ Content-Type 篡改: JSON→XML→multipart
□ NoSQL 注入: {"username": {"$gt": ""}}
□ SSRF via URL 参数: webhook URL/头像 URL/导入 URL
□ XXE in XML 端点
□ 参数污染: /api?role=user&role=admin
□ 批量赋值: 向请求体添加 is_admin: true
Phase 6: 业务逻辑与差分测试
□ Entropy compare: diff v1 vs v2 API → 状态码变化/字段删除/延迟回归
□ 多角色工作流测试: admin/user/readonly 权限矩阵
□ 优惠券/积分/价格操控
□ 竞态条件: 并发请求测试 TOCTOU
Phase 7: WebSocket 测试
□ 端点发现
□ 消息注入(注入 payload、原型污染)
□ 超大消息处理
□ 类型混淆
□ 跨站点 WebSocket 劫持(CSWH)
Phase 8: 限速与 DoS
□ 限速绕过 via 头部: X-Forwarded-For, X-Real-IP
□ 路径变体: /api/ → /api → /Api/ → /API/
□ Slowloris 低带宽耗尽
□ GraphQL 批查询深度嵌套 DoS
□ IP 轮换测试(ProxyCat 代理池)
Phase 9: 数据暴露
□ 响应过度暴露: 对比 API 返回 vs UI 展示
□ 分页枚举: ?page=1&limit=10000
□ 错误消息信息泄漏: 堆栈跟踪/内部路径/SQL 错误
□ GraphQL 嵌套遍历访问越权数据
□ OpenAPI 规范暴露敏感端点
Phase 10: CI/CD 集成
□ Entropy --ci --watch: spec 变更时自动重跑
□ Escape DAST: 按严重度阈值自动阻断构建
□ 发现持久化为回归测试
□ StackHawk(开发者优先、ZAP 内核)
工具链
| 工具 | 用途 | 获取 |
|---|---|---|
| Vespasian | 流量 → OpenAPI/GraphQL 规范 | GitHub: praetorian-inc/vespasian |
| Entropy | LLM 生成攻击场景,5 personas | GitHub: arjinexe/entropy-chaos |
| Escape DAST | 业务逻辑安全测试 | escape.tech |
| api.sh | 8 阶段全协议攻击管道 | GitHub: Sharon-Needles/api |
| FireTail | GraphQL 12 专项测试 | firetail.ai |
| jwt_tool | JWT 全面测试 | GitHub: ticarpi/jwt_tool |
| Burp Autorize | 双会话授权对比 | Burp BApp Store |
参考
references/rest-graphql-testing.md— REST + GraphQL 深度测试references/jwt-oauth-testing.md— JWT + OAuth 安全测试
任务完成自检(声称完成前 MUST 通过)
- 我是否执行了工作流中的每一步(而不是只阅读)?
- 我是否基于
tool-index使用了真实工具路径? - 我是否产出了可复现证据(命令/脚本/截图/报告)?
- 我是否完成并回写了 RULES 要求的 Checklist 项?
Frequently asked questions about API Security Testing
Similar skills
Cloudflare Security Audit
Perform authorized security audits on codebases.
Authenticated Scan with OpenVAS
Perform deep vulnerability scans using OpenVAS with credentials.
Active Directory Penetration Test
Conduct focused AD penetration tests with ease.
Active Directory BloodHound Analysis
Visualize Active Directory attack paths and risks.
Orchestrating LLM Attacks with PyRIT
Automate multi-turn adversarial attacks against LLMs.
Operating Sliver C2
Deploy and manage Sliver C2 for red-team engagements.
