Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ChopChop — Escáner CLI impulsado por YAML que detecta servicios, archivos y carpetas expuestos en endpoints web. Diseñado para que los desarrolladores integren comprobaciones de seguridad en pipelines CI/CD con firmas personalizables. | Kitploit
Herramientas/GitHubGitHub/michelin/chopchop
Escáneres de VulnerabilidadesAuditoría de ConfiguraciónRecopilación de InformaciónSeguridad WebDevSecOps
GitHubmichelin/chopchop

ChopChop

Escáner CLI impulsado por YAML que detecta servicios, archivos y carpetas expuestos en endpoints web. Diseñado para que los desarrolladores integren comprobaciones de seguridad en pipelines CI/CD con firmas personalizables.

Ver Repositorio
71277hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Build Status License Go Report Card

ChopChop

ChopChop es una herramienta de línea de comandos para pruebas dinámicas de seguridad de aplicaciones web, inicialmente escrita por el Michelin CERT.

Su objetivo es escanear varios puntos finales e identificar la exposición de servicios/archivos/carpetas a través de la raíz web. Las verificaciones/firmas se declaran en un archivo de configuración (por defecto: chopchop.yml), totalmente configurable, y especialmente por los desarrolladores.

«Chop chop» es una frase de origen cantonés. «Chop chop» significa «date prisa» y sugiere que algo debe hacerse ahora y sin demora.


Tabla de Contenidos

  • Compilación
  • Uso
    • Banderas disponibles
    • Uso avanzado
  • Crear una nueva verificación
  • Bibliotecas externas
  • Charlas
  • Licencia
  • Autores

Compilación

Intentamos que el proceso de compilación sea sencillo y, con suerte, debería ser tan fácil como:

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

Debería haber un binario gochopchop resultante en la carpeta.

Usando Docker

¡Gracias a Github Container Registry, podemos proporcionarle algunas imágenes Docker recién compiladas!

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

Pero si lo prefieres, también puedes compilarlo localmente, mira a continuación:

Compilación local

root@kitploit:~
docker build -t gochopchop .

Uso

Continuamente intentamos hacer goChopChop lo más fácil posible. Escanear un host con esta utilidad es tan simple como:

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

Usando Docker

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

Archivo de configuración personalizado

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

¿Qué sigue?

La reescritura en Golang tuvo lugar hace un par de meses, pero aún queda mucho por hacer. Aquí hay algunas características que planeamos integrar: [x] Hilos para mejor rendimiento [x] Capacidad de especificar el número de hilos concurrentes [x] Colores y mejor formato [x] Capacidad de filtrar verificaciones/firmas a buscar [x] Pruebas simuladas y unitarias [x] CI de Github ¡Y mucho más!

Pruebas

Para probar rápida y exhaustivamente chopchop, proporcionamos un servidor web en tests/server.go. Para probarlo, ejecute go run tests/server.go y luego ejecute chopchop con el siguiente comando ./gochopchop scan http://localhost:8000 --verbosity Debug. ChopChop debería imprimir "no se encontraron vulnerabilidades".

También hay pruebas unitarias que puede lanzar con go test -v ./.... Estas pruebas están integradas en el flujo de trabajo de CI de GitHub.

Banderas disponibles

Puede encontrar las banderas disponibles para el comando scan:

Uso avanzado

Aquí hay una lista de usos avanzados que podrían interesarle. Nota: Se pueden usar redireccionadores como > para post-procesamiento.

  • Capacidad de escanear y deshabilitar la verificación SSL
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure
  • Capacidad de escanear con un archivo de configuración personalizado (incluyendo plugins personalizados)
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure --signature test_config.yml
  • Capacidad de listar todos los plugins o por severidad: plugins o plugins --severity High
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Capacidad de especificar el número de hilos concurrentes: --threads 4 para 4 trabajadores
root@kitploit:~
$ ./gochopchop plugins --threads 4
  • Capacidad de bloquear el pipeline de CI por nivel de severidad (igual o superior a la severidad especificada): --max-severity Medium
root@kitploit:~
$ ./gochopchop scan https://foobar.com --max-severity Medium
  • Capacidad de especificar firmas específicas a verificar
root@kitploit:~
./gochopchop scan https://foobar.com --timeout 1 --verbosity --export=csv,json --export-filename boo --plugin-filters=Git,Zimbra,Jenkins
  • Capacidad de listar todos los plugins
root@kitploit:~
$ ./gochopchop plugins
  • Listar plugins de severidad Alta
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Establecer una lista de URLs ubicadas en un archivo
root@kitploit:~
$ ./gochopchop scan --url-file url_file.txt
  • Exportar resultados de GoChopChop en formato CSV y JSON
root@kitploit:~
$ ./gochopchop scan https://foobar.com  --export=csv,json --export-filename results

Crear una nueva verificación

Escribir una nueva verificación es tan simple como:

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"

Un endpoint (ej. /.git/config) se asigna a múltiples verificaciones, lo que evita enviar X peticiones para X verificaciones. Se pueden realizar múltiples verificaciones a través de una sola petición HTTP. Cada verificación necesita estos campos:

Bibliotecas externas

Consulte el archivo third-party.txt para obtener más información.

Charlas

  • PyCon FR 2019 (La herramienta fue desarrollada inicialmente en Python) - https://docs.google.com/presentation/d/1uVXGUpt7tC7zQ1HWegoBbEg2LHamABIqfDfiD9MWsD8/edit
  • DEFCON AppSec Village 2020 "Turning offsec mindset to developer's toolset" - https://drive.google.com/file/d/15P8eSarIohwCVW-tR3FN78KJPGbpAtR1/view

Licencia

ChopChop se ha publicado bajo la Licencia Apache 2.0. Consulte el archivo LICENSE para obtener más información.

Autores

  • Paul A.
  • David R. (Para la versión en Python)
  • Stanislas M. (Para la versión en Golang)
Descargar herramienta
BanderaBandera completaDescripción
-h--helpAsistente de ayuda
-v--verbosityNivel de detalle de registro
-c--signatureRuta del archivo de firma personalizado
-k--insecureDeshabilitar verificación SSL
-u--url-fileRuta a un archivo específico que contiene URLs a probar
-b--max-severityBloquear el pipeline de CI si la severidad es igual o superior a la bandera especificada
-e--exportTipo de exportación de la salida (csv y/o json)
--export-filenameEspecificar el nombre del archivo para los archivos de exportación
-t--timeoutTiempo de espera para las peticiones HTTP
--severity-filterFiltrar plugins por severidad
--plugin-filterFiltrar plugins por nombre de plugin
--threadsNúmero de hilos concurrentes
AtributoTipoDescripción¿Opcional?Ejemplo
namestringNombre de la verificaciónNoGit exposed
descriptionstringUna pequeña descripción de la verificaciónNoEnsure .git repository is not accessible from the webroot
remediationstringDar una remediación para esta "incidencia" específicaNoDo not deploy .git folder on production servers
severityEnum("High", "Medium", "Low", "Informational")Calificar la criticidad si se activa en su entornoNoHigh
status_codeintegerEl código de estado HTTP que debería devolverseSí200
headersList of stringLista de cabeceras que deberían estar en la respuesta HTTPSíN/A
no_headersList of stringLista de cabeceras que NO deberían estar en la respuesta HTTPSíN/A
matchList of stringListar las cadenas que deberían estar en la respuesta HTTPSí"[branch"
no_matchList of stringListar las cadenas que NO deberían estar en la respuesta HTTPSíN/A
query_stringParámetros GET que deben pasarse al endpointStringSíquery_string: "id=FOO-chopchoptest"
Nombre de la bibliotecaEnlaceLicencia
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