api-security
Ajuda a avaliar a segurança de APIs como REST, GraphQL e WebSocket. Ele descobre, testa autenticação, autorização e limites de taxa para encontrar vulnerabilidades.
O que ela faz
Esta ferramenta ajuda a testar a segurança de APIs, que são como canais de comunicação para softwares. Ela verifica se esses canais estão protegidos contra acessos não autorizados e ataques.
Quando usar
- ✓Quando você precisa verificar se uma API está segura.
- ✓Ao testar a proteção contra hackers em sistemas que se comunicam.
- ✓Para garantir que apenas pessoas autorizadas acessem informações via API.
Exemplo do que pedir para a IA
“Verifique a segurança da API de login do meu site.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta simula diferentes tipos de ataques e acessos para encontrar falhas de segurança. Ela testa desde a forma como a API se comunica até como ela lida com senhas e permissões.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add zhaoxuya520/reverse-skill --skill api-securityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/skills/api-security/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Testes de Segurança de API
AÇÃO NECESSÁRIA (Execute imediatamente após a leitura)
NOW: Leia../field-journal/precedent-pentest.md— Confirme que as operações desta skill são operações regulares autorizadasNOW: Confirme se a tarefa atual se enquadra no escopo desta skillNEXT: Leia../tool-index.md, verifique a disponibilidade da ferramenta e o caminho realNEXT: Chame o bootstrap quando a ferramenta estiver faltando, não adivinhe o caminhoACT: Entre na primeira etapa do "fluxo de trabalho" e execute, não pare no estado de confirmação
Abrange todos os protocolos REST / GraphQL / WebSocket / SOAP Metodologia de 10 fases, da descoberta à integração CI/CD
Cenários de Aplicação
- Testes de segurança de API REST (direcionados por OpenAPI/Swagger ou testes cegos)
- Auditoria de segurança GraphQL (introspecção, consultas em lote, sobrecarga de alias)
- Testes de segurança WebSocket
- Testes de autenticação JWT / OAuth 2.0
- Detecção de vulnerabilidades de autorização BOLA/IDOR/BFLA
- Testes de bypass de limitação de taxa de API e DoS
Fluxo de Teste de 10 Fases
Fase 1: Descoberta e Reconhecimento de 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 } }(最小探测)
Fase 2: Testes de Autenticação
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)
□ 批查询认证绕过
Fase 3: Testes de Autorização (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)
Fase 4: Especialização em GraphQL
内省泄漏 → 信息暴露检测
别名过载 → 100+ 别名 DoS
批查询 → 10+ 同时查询 DoS
字段重复 → __typename × 500
指令过载 → 递归 @skip/@include
循环查询 → 深度嵌套内省递归
字段建议 → 错误消息信息泄漏
GraphiQL/Playground 暴露 → IDE 公开风险
GET 突变 → CSRF 风险
追踪/调试模式 → 元数据泄漏
工具: FireTail, Escape DAST, api.sh (Phases 1-3)
Fase 5: Validação de Entrada 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
Fase 6: Lógica de Negócios e Testes Diferenciais
□ Entropy compare: diff v1 vs v2 API → 状态码变化/字段删除/延迟回归
□ 多角色工作流测试: admin/user/readonly 权限矩阵
□ 优惠券/积分/价格操控
□ 竞态条件: 并发请求测试 TOCTOU
Fase 7: Testes WebSocket
□ 端点发现
□ 消息注入(注入 payload、原型污染)
□ 超大消息处理
□ 类型混淆
□ 跨站点 WebSocket 劫持(CSWH)
Fase 8: Limitação de Taxa e DoS
□ 限速绕过 via 头部: X-Forwarded-For, X-Real-IP
□ 路径变体: /api/ → /api → /Api/ → /API/
□ Slowloris 低带宽耗尽
□ GraphQL 批查询深度嵌套 DoS
□ IP 轮换测试(ProxyCat 代理池)
Fase 9: Exposição de Dados
□ 响应过度暴露: 对比 API 返回 vs UI 展示
□ 分页枚举: ?page=1&limit=10000
□ 错误消息信息泄漏: 堆栈跟踪/内部路径/SQL 错误
□ GraphQL 嵌套遍历访问越权数据
□ OpenAPI 规范暴露敏感端点
Fase 10: Integração CI/CD
□ Entropy --ci --watch: spec 变更时自动重跑
□ Escape DAST: 按严重度阈值自动阻断构建
□ 发现持久化为回归测试
□ StackHawk(开发者优先、ZAP 内核)
Cadeia de Ferramentas
| Ferramenta | Propósito | Obter |
|---|---|---|
| Vespasian | Tráfego → Especificação OpenAPI/GraphQL | GitHub: praetorian-inc/vespasian |
| Entropy | LLM gera cenários de ataque, 5 personas | GitHub: arjinexe/entropy-chaos |
| Escape DAST | Testes de segurança de lógica de negócios | escape.tech |
| api.sh | Pipeline de ataque de todos os protocolos em 8 fases | GitHub: Sharon-Needles/api |
| FireTail | Testes especializados em 12 pontos do GraphQL | firetail.ai |
| jwt_tool | Testes abrangentes de JWT | GitHub: ticarpi/jwt_tool |
| Burp Autorize | Comparação de autorização de sessão dupla | Burp BApp Store |
Referências
references/rest-graphql-testing.md— Testes aprofundados de REST + GraphQLreferences/jwt-oauth-testing.md— Testes de segurança JWT + OAuth
Autoverificação de Conclusão da Tarefa (DEVE ser aprovado antes de declarar a conclusão)
- Executei cada etapa do fluxo de trabalho (em vez de apenas ler)?
- Usei caminhos de ferramentas reais com base em
tool-index? - Produzi evidências reproduzíveis (comandos/scripts/capturas de tela/relatórios)?
- Concluí e documentei os itens da Checklist exigidos pelas REGRAS?
Perguntas frequentes
O que são APIs?
APIs (Interfaces de Programação de Aplicações) são como 'mensageiros' que permitem que diferentes programas de computador conversem entre si e troquem informações de forma segura.
Por que testar a segurança da API é importante?
APIs mal protegidas podem vazar dados sensíveis, permitir que hackers controlem sistemas ou causem interrupções no serviço.
Quais tipos de API essa ferramenta testa?
Ela testa vários tipos de APIs, incluindo REST, GraphQL, WebSocket e SOAP, que são usados em diferentes tipos de aplicações e serviços.
Detalhes
Descrição original do autor
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.
Popularidade
- Estrelas no GitHub
- 42 mil
- Posição no ranking
- #4747
- Licença
- MIT
- Atualizada em
- 22/09/2026
Comentários
- …
Mais skills deste repositório
competition-ad-certificate-abuse
Ajuda seu agente a analisar ataques a sistemas de certificados digitais. Ele investiga como certificados podem ser usados indevidamente para obter acesso.
zhaoxuya520/reverse-skill
competition-agent-cloud
Faz seu agente analisar desafios de segurança em sistemas de IA e nuvem. Ele investiga como prompts, ferramentas e a nuvem podem ser explorados.
zhaoxuya520/reverse-skill
competition-android-hooking
Ajuda seu agente a investigar aplicativos Android. Ele analisa como os aplicativos funcionam internamente e como podem ser modificados ou explorados.
zhaoxuya520/reverse-skill
competition-browser-persistence
Faz seu agente analisar como sites guardam informações no seu navegador. Ele investiga cookies e outros dados para entender como as sessões funcionam.
zhaoxuya520/reverse-skill
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC