Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
openapi_security_scanner — Scanner de segurança de autorização automatizado para APIs baseadas em OpenAPI. Testa endpoints GET com múltiplos conjuntos de credenciais para detectar escalonamento de privilégios e falhas de controle de acesso quebrado por meio de análise diferencial de resposta. | Kitploit
Ferramentas/GitHubGitHub/ngalongc/openapi_security_scanner
Scanners de VulnerabilidadesTestes de Segurança de APIsSegurança WebTestes de Penetração
GitHubngalongc/openapi_security_scanner

openapi_security_scanner

Scanner de segurança de autorização automatizado para APIs baseadas em OpenAPI. Testa endpoints GET com múltiplos conjuntos de credenciais para detectar escalonamento de privilégios e falhas de controle de acesso quebrado por meio de análise diferencial de resposta.

Ver Repositório
1733723há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

OpenAPI Security Scanner

Sobre o Projeto

Problemas de segurança de autorização em aplicações web modernas não são facilmente detectados por scanners de segurança. Alguns exemplos do Shopify, LINE, NordVPN. Uma das razões é que os scanners de segurança procuram principalmente por SQLi, XSS, RCE em vez de bugs de segurança de autorização, e os scanners geralmente não têm conhecimento de como a aplicação web deve se comportar. É por isso que a maioria dos bugs de autorização atualmente são descobertos manualmente. O OpenAPI Security Scanner foi criado para ajudar a descobrir problemas de segurança de autorização tanto com automação quanto com revisão manual. Ele se comporta como uma ferramenta de teste unitário externa para garantir que tudo está se comportando como deveria.

Construído Com

  • Schemathesis

Primeiros Passos

Assista a este vídeo para acompanhar ou continue lendo.

Faça um Fork ou clone este projeto e siga as instruções abaixo para começar.

O fluxo de trabalho para usar este scanner seria algo como:

  • Prepare o arquivo yaml OpenAPI da API alvo
  • Defina os endpoints alvo e as variáveis a serem usadas para o teste da API
  • Gere vários conjuntos de credenciais de diferentes usuários para garantir que uma variedade de casos extremos seja coberta durante a execução dos testes de API
  • Após a configuração, inicie o runner e o resultado da varredura pode ser encontrado nos artefatos
  • Agende o runner para ser executado periodicamente e personalize a forma como deseja receber as notificações sempre que houver uma alteração no resultado da varredura

Vantagens

Para desenvolvedores, usar esta ferramenta adicionaria uma camada extra de garantia de que a API está se comportando conforme o esperado, tanto interna quanto externamente. E o scanner pode ser acionado a cada implantação de código acionando o pipeline https://docs.gitlab.com/ee/ci/triggers/.

Para caçadores de bug bounty, usar esta ferramenta pode garantir que você esteja sempre atualizado sobre a API alvo, porque todos sabemos que mesmo um endpoint específico não era vulnerável antes, pode se tornar vulnerável no futuro por vários motivos. Portanto, é mais fácil automatizar a parte manual da caça a bugs usando esta ferramenta.

Aviso Antes do Uso

Certifique-se de ter permissão para escanear a API alvo.

Pré-requisitos

Você precisará de um arquivo yaml OpenAPI da aplicação web e substituí-lo pelo conteúdo de api.yaml no repositório.

Uso

Substitua o conteúdo de api.yaml pelo arquivo yaml OpenAPI do alvo e vá para Settings do projeto GitLab -> CI/CD -> Expandir Variables e insira as variáveis nos formatos abaixo.

OPENAPI_CREDS

As credenciais fornecidas aqui serão passadas para as chamadas de API no formato de cabeçalho Authorization: Bearer. É recomendável preparar tokens de acesso para pelo menos duas contas de usuário com permissões diferentes, e você também pode criar mais de um token de acesso por conta de usuário para testar comportamentos corretos para tokens de acesso com diferentes escopos.

{
   "<user_a>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      },
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ],
   "<user_b>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ]
}

OPENAPI_ENDPOINTS

Os endpoints fornecidos aqui devem ser chamadas de API baseadas em GET, e você também pode incluir a consulta no corpo JSON. No exemplo abaixo, o endpoint é /org/{orgs}/repos e a consulta para ele é type=all. Para o endpoint /repos/{owner}/{repo}, não haverá consulta.

{
   "/orgs/{org}/repos":{
      "type":"all"
   },
   "/repos/{owner}/{repo}":{
      
   }
}

OPENAPI_PATHS

As variáveis de caminho podem ser fornecidas aqui, e o scanner gerará todas as combinações a partir dos valores nas variáveis de caminho.

{
   "org":[
      "test-org"
   ],
   "owner":[
      "ngalongc",
      "reconless"
   ],
   "repo":[
      "public-repo",
      "private-repo"
   ]
}

Neste caso, as seguintes combinações de chamadas de API são geradas, e todas elas serão chamadas por diferentes conjuntos de credenciais fornecidos em OPENAPI_CREDS.

/orgs/test-org/repos?type=all
/repos/ngalongc/public-repo
/repos/ngalongc/private-repo
/repos/reconless/public-repo
/repos/reconless/private-repo

PRIVATE_TOKEN

Vá para https://gitlab.com/-/profile/personal_access_tokens e crie um token de acesso api e substitua o valor aqui. Este token de acesso do GitLab é usado para baixar os resultados da varredura do runner do GitLab.

<YOU_GITLAB_API_ACCESS_TOKEN>

OPENAPI_BASE_URL

Este deve ser o valor da url base do seu servidor de API

https://example.com/api/v3

Demonstração de execução de testes simples de permissão na API do GitHub

Captura de tela da notificação do Slack quando alterações na API são detectadas

Captura de tela do resultado da varredura nos artefatos

Relatório de exemplo: https://ngalog-gitlab.gitlab.io/-/openapi_security_scanner/-/jobs/966841401/artifacts/sample.html

Limitações

  • Só pode testar endpoints baseados em GET
  • Para alguns endpoints de API, como /users/{user_id}/activities, as respostas são diferentes toda vez que são chamadas, portanto detectar mudanças neste tipo de API não é significativo

Contribuição

As contribuições são o que tornam a comunidade open source um lugar incrível para aprender, inspirar e criar. Quaisquer contribuições que você fizer são muito apreciadas.

  1. Faça um Fork do Projeto
  2. Crie sua Branch de Funcionalidade (git checkout -b feature/AmazingFeature)
  3. Faça o Commit das suas Alterações (git commit -m 'Add some AmazingFeature')
  4. Envie para a Branch (git push origin feature/AmazingFeature)
  5. Abra um Merge Request

Licença

Distribuído sob a Licença MIT. Veja LICENSE para mais informações.

Contato

Ron Chan - @ngalongc

Link do Projeto: https://gitlab.com/ngalog-gitlab/openapi_security_scanner

Baixar ferramenta