Skip to content

gabrielfrdev/api-risk-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

api-risk-analyzer

ferramenta em python puro pra analisar endpoints de uma API e identificar problemas de seguranca

como usar

python analyzer.py --input sample_api.json --output reports/example_report.json

o --output e opcional, por padrao salva em reports/example_report.json

o que detecta

  • endpoint sem autenticacao
  • rota com {id} sem checar se o usuario tem acesso ao objeto (IDOR)
  • rota /admin sem 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

exemplo de entrada

[
  {
    "method": "POST",
    "path": "/api/login",
    "auth_required": false,
    "object_authorization": false,
    "role_required": null,
    "rate_limit": false,
    "signature_required": false,
    "sensitive_fields": ["password"]
  }
]

exemplo de saida

{
  "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)"
    }
  ]
}

estrutura

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

obs

nao faz requisicao real, so analisa o json de definicao da api. nao substitui um pentest, e so uma analise estatica baseada nos metadados.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages