Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
173375há 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.

    root@kitploit:~
    {
       "<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.

    root@kitploit:~
    {
       "/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.

    root@kitploit:~
    {
       "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.

    root@kitploit:~
    /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.

    root@kitploit:~
    <YOU_GITLAB_API_ACCESS_TOKEN>
    

    OPENAPI_BASE_URL

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

    root@kitploit:~
    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