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
ChopChop — Scanner de CLI orientado por YAML que detecta serviços, arquivos e pastas expostos em endpoints web. Projetado para desenvolvedores integrarem verificações de segurança em pipelines CI/CD com assinaturas personalizáveis. | Kitploit
Ferramentas/GitHubGitHub/michelin/chopchop
Scanners de VulnerabilidadesAuditoria de ConfiguraçãoColeta de InformaçõesSegurança WebDevSecOps
GitHubmichelin/chopchop

ChopChop

Scanner de CLI orientado por YAML que detecta serviços, arquivos e pastas expostos em endpoints web. Projetado para desenvolvedores integrarem verificações de segurança em pipelines CI/CD com assinaturas personalizáveis.

Ver Repositório
71277há 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

Build Status License Go Report Card

ChopChop

ChopChop é uma ferramenta de linha de comando para testes dinâmicos de segurança em aplicações web, inicialmente escrita pelo CERT da Michelin.

Seu objetivo é escanear vários endpoints e identificar a exposição de serviços/arquivos/pastas através da raiz web. As verificações/assinaturas são declaradas em um arquivo de configuração (por padrão: chopchop.yml), totalmente configurável, e especialmente por desenvolvedores.

"Chop chop" é uma expressão enraizada no cantonês. "Chop chop" significa "depressa" e sugere que algo deve ser feito agora e sem demora.


Índice

  • Compilação
  • Uso
    • Flags disponíveis
    • Uso avançado
  • Criando uma nova verificação
  • Bibliotecas Externas
  • Palestras
  • Licença
  • Autores

Compilação

Tentamos tornar o processo de compilação indolor e, com sorte, deve ser tão simples quanto:

root@kitploit:~
$ go mod download
$ go build .

Deve resultar em um binário gochopchop na pasta.

Usando Docker

Graças ao Github Container Registry, podemos fornecer algumas imagens Docker recém-construídas!

root@kitploit:~
docker run ghcr.io/michelin/gochopchop scan https://foobar.com -v debug

Mas se preferir, você também pode compilar localmente, veja abaixo:

Compilação local

root@kitploit:~
docker build -t gochopchop .

Uso

Estamos continuamente tentando tornar o goChopChop o mais fácil possível. Escanear um host com este utilitário é tão simples quanto:

root@kitploit:~
$ ./gochopchop scan https://foobar.com

Usando Docker

root@kitploit:~
docker run gochopchop scan https://foobar.com

Arquivo de configuração personalizado

root@kitploit:~
docker run -v ./:/app chopchop scan -c /app/chopchop.yml https://foobar.com

Próximos passos

A reescrita em Go ocorreu há alguns meses, mas ainda há muito a fazer. Aqui estão alguns recursos que planejamos integrar: [x] Paralelismo para melhor desempenho [x] Capacidade de especificar o número de threads concorrentes [x] Cores e melhor formatação [x] Capacidade de filtrar verificações/assinaturas a serem pesquisadas [x] Testes mock e unitários [x] CI do Github E muito mais!

Testes

Para testar rapidamente o chopchop de ponta a ponta, fornecemos um servidor web em tests/server.go. Para testá-lo, execute go run tests/server.go e depois execute o chopchop com o seguinte comando ./gochopchop scan http://localhost:8000 --verbosity Debug. O ChopChop deve exibir "no vulnerabilities found".

Também existem testes unitários que você pode executar com go test -v ./.... Esses testes estão integrados no workflow de CI do github.

Flags disponíveis

Você pode encontrar as flags disponíveis para o comando scan:

Uso avançado

Aqui está uma lista de usos avançados que podem lhe interessar. Nota: Redirecionadores como > para pós-processamento podem ser usados.

  • Capacidade de escanear e desabilitar verificação SSL
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure
  • Capacidade de escanear com um arquivo de configuração personalizado (incluindo plugins personalizados)
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure --signature test_config.yml
  • Capacidade de listar todos os plugins ou por gravidade: plugins ou plugins --severity High
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Capacidade de especificar o número de threads concorrentes: --threads 4 para 4 workers
root@kitploit:~
$ ./gochopchop plugins --threads 4
  • Capacidade de bloquear o pipeline de CI por nível de gravidade (igual ou superior à gravidade especificada): --max-severity Medium
root@kitploit:~
$ ./gochopchop scan https://foobar.com --max-severity Medium
  • Capacidade de especificar assinaturas específicas a serem verificadas
root@kitploit:~
./gochopchop scan https://foobar.com --timeout 1 --verbosity --export=csv,json --export-filename boo --plugin-filters=Git,Zimbra,Jenkins
  • Capacidade de listar todos os plugins
root@kitploit:~
$ ./gochopchop plugins
  • Listar plugins de alta gravidade
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Definir uma lista de URLs localizados em um arquivo
root@kitploit:~
$ ./gochopchop scan --url-file url_file.txt
  • Exportar resultados do GoChopChop nos formatos CSV e JSON
root@kitploit:~
$ ./gochopchop scan https://foobar.com  --export=csv,json --export-filename results

Criando uma nova verificação

Escrever uma nova verificação é tão simples quanto:

root@kitploit:~
  - endpoint: "/.git/config"
    checks:
      - name: Git exposed
        match:
          - "[branch"
        remediation: Do not deploy .git folder on production servers
        description: Verifies that the GIT repository is accessible from the site
        severity: "High"

Um endpoint (ex. /.git/config) é mapeado para várias verificações, o que evita enviar X requisições para X verificações. Várias verificações podem ser feitas através de uma única requisição HTTP. Cada verificação precisa desses campos:

Bibliotecas Externas

Por favor, consulte o arquivo third-party.txt para mais informações.

Palestras

  • PyCon FR 2019 (A ferramenta foi inicialmente desenvolvida em Python) - https://docs.google.com/presentation/d/1uVXGUpt7tC7zQ1HWegoBbEg2LHamABIqfDfiD9MWsD8/edit
  • DEFCON AppSec Village 2020 "Transformando a mentalidade offsec no conjunto de ferramentas do desenvolvedor" - https://drive.google.com/file/d/15P8eSarIohwCVW-tR3FN78KJPGbpAtR1/view

Licença

ChopChop foi lançado sob a Apache License 2.0. Por favor, consulte o arquivo LICENSE para mais informações.

Autores

  • Paul A.
  • David R. (Para a versão em Python)
  • Stanislas M. (Para a versão em Golang)
Baixar ferramenta
FlagFlag completaDescrição
-h--helpAssistente de ajuda
-v--verbosityNível de verbosidade do log
-c--signatureCaminho do arquivo de assinatura personalizado
-k--insecureDesabilitar verificação SSL
-u--url-fileCaminho para um arquivo especificado contendo URLs para testar
-b--max-severityBloquear o pipeline de CI se a gravidade for maior ou igual à flag especificada
-e--exportTipo de exportação da saída (csv e/ou json)
--export-filenameEspecificar o nome do arquivo para o(s) arquivo(s) de exportação
-t--timeoutTempo limite para as requisições HTTP
--severity-filterFiltrar plugins por gravidade
--plugin-filterFiltrar plugins por nome do plugin
--threadsNúmero de threads concorrentes
AtributoTipoDescriçãoOpcional?Exemplo
namestringNome da verificaçãoNãoGit exposed
descriptionstringUma pequena descrição para a verificaçãoNãoEnsure .git repository is not accessible from the webroot
remediationstringFornecer uma remediação para este "problema" específicoNãoDo not deploy .git folder on production servers
severityEnum("High", "Medium", "Low", "Informational")Avaliar a criticidade se acionar no seu ambienteNãoHigh
status_codeintegerO código de status HTTP que deve ser retornadoSim200
headersLista de stringsLista de cabeçalhos que devem estar na resposta HTTPSimN/A
no_headersLista de stringsLista de cabeçalhos que NÃO devem estar na resposta HTTPSimN/A
matchLista de stringsListar as strings que devem estar na resposta HTTPSim"[branch"
no_matchLista de stringsListar as strings que NÃO devem estar na resposta HTTPSimN/A
query_stringParâmetros GET que devem ser passados para o endpointStringSimquery_string: "id=FOO-chopchoptest"
Nome da BibliotecaLinkLicença
Viperhttps://github.com/spf13/viperMIT License
Go-prettyhttps://github.com/jedib0t/go-prettyMIT License
Cobrahttps://github.com/spf13/cobraApache License 2.0
strfmthttps://github.com/go-openapi/strfmtApache License 2.0
Go-homedirhttps://github.com/mitchellh/go-homedirMIT License
pkg-errorshttps://github.com/pkg/errorsBSD 2 (Simplified License)
Go-runewidthhttps://github.com/mattn/go-runewidthMIT License