api-security
Ajuda seu agente a avaliar a segurança de APIs. Ele busca falhas em autenticação, autorização e outros pontos vulneráveis.
O que ela faz
Esta ferramenta ajuda a verificar a segurança de APIs (interfaces que aplicativos usam para conversar entre si). Ela procura por falhas que poderiam ser usadas por invasores, como acesso indevido a dados ou sobrecarga do sistema.
Quando usar
- ✓Quando você tem permissão para testar a segurança de uma API.
- ✓Para encontrar falhas em como uma API lida com logins e permissões.
- ✓Para verificar se uma API pode ser sobrecarregada ou atacada.
Exemplo do que pedir para a IA
“Quero testar a segurança da API em 'endereço.da.api.com', com autorização escrita e escopo definido.”
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 usa um processo passo a passo para descobrir a API, testar seus acessos e verificar se ela se comporta de forma segura. Ela simula diferentes tipos de ataques para encontrar vulnerabilidades.
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 sickn33/agentic-awesome-skills --skill api-securityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/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.
⚠️ USO AUTORIZADO APENAS Esta habilidade é apenas para fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Portão de confirmação obrigatório Antes de executar qualquer comando que sonde, explore, altere, persista em, extraia dados de ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar a URL, IP, conta ou recurso exato do alvo.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça somente leitura e forneça apenas orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
Teste de Segurança de API
Quando Usar
- Uma avaliação autorizada abrange endpoints de API e você precisa de um fluxo de trabalho estruturado, da descoberta ao relatório.
- Testando o comportamento de autenticação, autorização ou limitação de taxa de API dentro de um escopo aprovado.
Cenários de Aplicação
- Teste de segurança de API REST (baseado em OpenAPI/Swagger ou teste cego)
- Auditoria de segurança GraphQL (introspecção, consultas em lote, sobrecarga de alias)
- Teste de segurança WebSocket
- Teste de autenticação JWT / OAuth 2.0
- Detecção de vulnerabilidades de autorização BOLA/IDOR/BFLA
- Teste de bypass de limitação de taxa de API e DoS
Processo 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: Teste 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: Teste 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: Especial 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 Teste de Diferença
□ Entropy compare: diff v1 vs v2 API → 状态码变化/字段删除/延迟回归
□ 多角色工作流测试: admin/user/readonly 权限矩阵
□ 优惠券/积分/价格操控
□ 竞态条件: 并发请求测试 TOCTOU
Fase 7: Teste 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 | Uso | 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 | Teste de segurança de lógica de negócios | escape.tech |
| api.sh | Pipeline de ataque completo de 8 fases para todos os protocolos | GitHub: Sharon-Needles/api |
| FireTail | Teste especializado de 12 pontos para GraphQL | firetail.ai |
| jwt_tool | Teste abrangente 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— Teste aprofundado de REST + GraphQLreferences/jwt-oauth-testing.md— Teste de segurança de JWT + OAuth
Autoverificação de Conclusão de 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)?
- Completei e registrei os itens da Lista de Verificação exigidos pelas REGRAS?
Limitações
- Execute apenas contra APIs que você está explicitamente autorizado a testar.
…
Perguntas frequentes
O que é uma API?
API significa Interface de Programação de Aplicações. Pense nela como um garçom em um restaurante: ela recebe seu pedido (dados), leva para a cozinha (servidor) e traz a resposta (informação) de volta para você.
O que são falhas de autenticação e autorização?
Autenticação é verificar quem você é (como um login). Autorização é verificar o que você pode fazer depois de entrar (suas permissões). Falhas aqui podem permitir que pessoas acessem dados que não deveriam.
Posso usar isso em qualquer API?
Não! É crucial ter permissão explícita e por escrito do dono da API antes de usar esta ferramenta. Usá-la sem permissão é ilegal.
Detalhes
Descrição original do autor
Authorized security assessment of REST, GraphQL, WebSocket, and SOAP APIs: discovery, authentication and authorization flaws (BOLA/IDOR, JWT/OAuth), rate-limit testing, and a structured multi-phase methodology.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2167
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
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