ferramenta em python puro pra analisar endpoints de uma API e identificar problemas de seguranca
python analyzer.py --input sample_api.json --output reports/example_report.jsono --output e opcional, por padrao salva em reports/example_report.json
- endpoint sem autenticacao
- rota com
{id}sem checar se o usuario tem acesso ao objeto (IDOR) - rota
/adminsem restricao de role - webhook sem verificacao de assinatura HMAC
- login sem rate limit
- campos sensiveis expostos na definicao (password, token, cpf, card_number, secret)
cada problema vem com nivel de risco: low, medium, high ou critical
[
{
"method": "POST",
"path": "/api/login",
"auth_required": false,
"object_authorization": false,
"role_required": null,
"rate_limit": false,
"signature_required": false,
"sensitive_fields": ["password"]
}
]{
"gerado_em": "2024-01-10T14:00:00Z",
"total_endpoints": 1,
"resumo": { "low": 0, "medium": 0, "high": 2, "critical": 0 },
"problemas": [
{
"rule_id": "R001",
"method": "POST",
"path": "/api/login",
"descricao": "endpoint sem autenticacao",
"risco": "high",
"recomendacao": "adicionar autenticacao (bearer token, api key, etc)"
}
]
}api-risk-analyzer/
+-- analyzer.py # entry point da CLI
+-- rules.py # regras de seguranca
+-- sample_api.json # exemplo de entrada
+-- reports/ # relatorios gerados
+-- docs/ # anotacoes e regras documentadas
nao faz requisicao real, so analisa o json de definicao da api. nao substitui um pentest, e so uma analise estatica baseada nos metadados.