performing-api-security-testing-with-postman
Ajuda seu agente a construir testes de segurança de API repetíveis usando Postman e cobrindo o OWASP API Security Top 10.
O que ela faz
Esta ferramenta usa o Postman para testar a segurança de APIs. Ela verifica se há falhas comuns, como acesso não autorizado, injeção de código e vazamento de dados, simulando diferentes tipos de usuários.
Quando usar
- ✓Ao criar testes de segurança repetitivos para APIs.
- ✓Ao automatizar a verificação de segurança em processos de desenvolvimento.
- ✓Ao testar o acesso de diferentes perfis de usuários (comum, administrador) a uma API.
Exemplo do que pedir para a IA
“Teste a segurança da minha API contra falhas comuns usando o Postman.”
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
Você configura o Postman com informações da sua API e simula diferentes usuários. A ferramenta envia requisições e verifica se a API responde de forma segura, como esperado.
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 mukul975/Anthropic-Cybersecurity-Skills --skill performing-api-security-testing-with-postmanOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-api-security-testing-with-postman/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.
Testando a Segurança de APIs com Postman
Quando Usar
- Construindo suítes repetíveis de testes de segurança de API para cobertura do OWASP API Security Top 10
- Criando testes automatizados de regressão de segurança que rodam em pipelines de CI/CD via Newman
- Testando autenticação e autorização de API em múltiplos papéis de usuário de forma sistemática
- Integrando Postman com o proxy OWASP ZAP para testes de segurança combinados, manuais e automatizados
- Estabelecendo uma coleção de testes de segurança base para novos endpoints de API antes da implantação
Não use contra APIs de produção sem autorização. Testes de segurança com Postman envolvem o envio de payloads potencialmente maliciosos.
Pré-requisitos
- Postman Desktop ou aplicação web com um workspace ativo
- API alvo com especificação OpenAPI/Swagger para importação da coleção
- Contas de teste para pelo menos três papéis: não autenticado, usuário regular, administrador
- Newman CLI instalado para integração CI/CD:
npm install -g newman - OWASP ZAP configurado como proxy local (localhost:8080) para integração de proxy do Postman
- Variáveis de ambiente da API para URL base, tokens e dados de teste
Fluxo de Trabalho
Passo 1: Configuração de Ambiente e Coleção
Crie ambientes Postman para testes multi-papel:
// Environment: API Security Test - Regular User
{
"values": [
{"key": "base_url", "value": "https://target-api.example.com/api/v1"},
{"key": "auth_token", "value": ""},
{"key": "user_email", "value": "regular@test.com"},
{"key": "user_password", "value": "TestPass123!"},
{"key": "user_id", "value": ""},
{"key": "other_user_id", "value": "1002"},
{"key": "admin_endpoint", "value": "/admin/users"},
{"key": "test_order_id", "value": ""},
{"key": "other_user_order_id", "value": "5003"}
]
}
Script de pré-requisição para autenticação automática:
// Collection-level pre-request script for auto-login
if (!pm.environment.get("auth_token") || pm.environment.get("token_expired")) {
const loginRequest = {
url: pm.environment.get("base_url") + "/auth/login",
method: "POST",
header: {"Content-Type": "application/json"},
body: {
mode: "raw",
raw: JSON.stringify({
email: pm.environment.get("user_email"),
password: pm.environment.get("user_password")
})
}
};
pm.sendRequest(loginRequest, (err, res) => {
if (!err && res.code === 200) {
const token = res.json().access_token;
pm.environment.set("auth_token", token);
pm.environment.set("user_id", res.json().user.id);
}
});
}
Passo 2: Coleção de Testes BOLA (API1)
// Test: Access other user's profile (BOLA)
// Request: GET {{base_url}}/users/{{other_user_id}}
// Auth: Bearer {{auth_token}}
// Test script:
pm.test("BOLA: Cannot access other user profile", function() {
pm.expect(pm.response.code).to.be.oneOf([401, 403]);
});
pm.test("BOLA: No user data leaked on denial", function() {
if (pm.response.code === 200) {
const body = pm.response.json();
pm.expect(body).to.not.have.property("email");
pm.expect(body).to.not.have.property("phone");
pm.expect(body).to.not.have.property("address");
// Flag as BOLA if full profile returned
console.error("BOLA VULNERABILITY: Full profile returned for other user");
}
});
// Test: Access other user's order
// Request: GET {{base_url}}/orders/{{other_user_order_id}}
pm.test("BOLA: Cannot access other user order", function() {
pm.expect(pm.response.code).to.be.oneOf([401, 403, 404]);
});
// Test: Modify other user's resource
// Request: PATCH {{base_url}}/users/{{other_user_id}}
// Body: {"name": "Hacked"}
pm.test("BOLA: Cannot modify other user profile", function() {
pm.expect(pm.response.code).to.be.oneOf([401, 403]);
});
Passo 3: Coleção de Testes de Autenticação (API2)
// Teste: Validação de token
// Requisição: GET {{base_url}}/users/me
// Autenticação: Bearer invalid_token_value
pm.test("Auth: Token inválido rejeitado", function() {
pm.expect(pm.response.code).to.be.oneOf([401, 403]);
});
// Teste: Tratamento de token expirado
// Requisição: GET {{base_url}}/users/me
// Autenticação: Bearer {{expired_token}}
pm.test("Auth: Token expirado rejeitado", function() {
pm.expect(pm.response.code).to.equal(401);
});
// Teste: Falta de autenticação
// Requisição: GET {{base_url}}/users/me
// Autenticação: Nenhuma
…
Perguntas frequentes
O que é OWASP API Security Top 10?
É uma lista das 10 falhas de segurança mais críticas encontradas em APIs, criada pela Open Web Application Security Project (OWASP).
O que é CI/CD?
É uma prática de desenvolvimento de software que automatiza a integração e a entrega de código, permitindo que as mudanças sejam testadas e lançadas mais rapidamente.
Posso usar isso em APIs em produção?
Não, a menos que você tenha autorização explícita. Testes de segurança podem enviar dados que se parecem com ataques e podem afetar o funcionamento da API.
Detalhes
Descrição original do autor
Uses Postman to build structured API security test collections covering the OWASP API Security Top 10—authentication bypass, authorization flaws, injection, and data exposure—with multi-role environments, automated test scripts, and OWASP ZAP/Newman integration for CI/CD. Use when building repeatable Postman-based API security regression tests or automating OWASP API Top 10 coverage in a pipeline.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6021
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC