Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ChopChop — YAML-gesteuerter CLI-Scanner, der offengelegte Dienste, Dateien und Ordner auf Web-Endpunkten erkennt. Entwickelt für Entwickler, um Sicherheitsprüfungen mit anpassbaren Signaturen in CI/CD-Pipelines zu integrieren. | Kitploit
Tools/GitHubGitHub/michelin/chopchop
SchwachstellenscannerKonfigurationsprüfungInformationsbeschaffungWebsicherheitDevSecOps
GitHubmichelin/chopchop

ChopChop

YAML-gesteuerter CLI-Scanner, der offengelegte Dienste, Dateien und Ordner auf Web-Endpunkten erkennt. Entwickelt für Entwickler, um Sicherheitsprüfungen mit anpassbaren Signaturen in CI/CD-Pipelines zu integrieren.

Repository anzeigen
71277vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Build Status License Go Report Card

ChopChop

ChopChop ist ein Kommandozeilenwerkzeug für dynamische Anwendungssicherheitstests (DAST) auf Webanwendungen, das ursprünglich vom Michelin CERT entwickelt wurde.

Ziel ist es, mehrere Endpunkte zu scannen und die Offenlegung von Diensten/Dateien/Ordnern über das Webroot zu identifizieren. Prüfungen/Signaturen werden in einer Konfigurationsdatei (standardmäßig chopchop.yml) deklariert, die vollständig konfigurierbar ist – insbesondere auch von Entwicklern.

„Chop chop“ ist ein Ausdruck aus dem Kantonesischen. „Chop chop“ bedeutet „beeil dich“ und deutet an, dass etwas sofort und ohne Verzögerung erledigt werden sollte.


Inhaltsverzeichnis

  • Erstellen
  • Verwendung
    • Verfügbare Flaggen
    • Fortgeschrittene Nutzung
  • Erstellen einer neuen Prüfung/Signatur
  • Externe Bibliotheken
  • Vorträge
  • Lizenz
  • Autoren

Erstellen

Wir haben versucht, den Build-Prozess so schmerzfrei wie möglich zu gestalten, und hoffentlich sollte es so einfach sein wie:

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

Es sollte ein resultierendes Binary gochopchop im Ordner sein.

Docker verwenden

Dank Github Container Registry können wir Ihnen einige frisch erstellte Docker-Images bereitstellen!

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

Wenn Sie es vorziehen, können Sie es auch lokal erstellen, siehe unten:

Lokal erstellen

root@kitploit:~
docker build -t gochopchop .

Verwendung

Wir arbeiten kontinuierlich daran, goChopChop so einfach wie möglich zu gestalten. Das Scannen eines Hosts mit diesem Dienstprogramm ist so einfach wie:

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

Docker verwenden

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

Benutzerdefinierte Konfigurationsdatei

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

Was als Nächstes ansteht

Die Umschreibung in Go fand vor ein paar Monaten statt, aber es gibt noch so viel zu tun. Hier sind einige Funktionen, die wir einzuplanen gedenken: [x] Threading für bessere Leistung [x] Möglichkeit, die Anzahl der gleichzeitigen Threads anzugeben [x] Farben und bessere Formatierung [x] Möglichkeit, Prüfungen/Signaturen zu filtern [x] Mocks und Unit-Tests [x] GitHub-CI Und vieles mehr!

Testen

Für schnelle End-to-End-Tests von chopchop haben wir einen Webserver in tests/server.go bereitgestellt. Um ihn auszuprobieren, führen Sie bitte go run tests/server.go aus und dann chopchop mit dem folgenden Befehl: ./gochopchop scan http://localhost:8000 --verbosity Debug. ChopChop sollte „no vulnerabilities found“ ausgeben.

Es gibt auch Unit-Tests, die Sie mit go test -v ./... starten können. Diese Tests sind in den GitHub-CI-Workflow integriert.

Verfügbare Flaggen

Sie finden die verfügbaren Flaggen für den Befehl scan:

Fortgeschrittene Nutzung

Hier ist eine Liste fortgeschrittener Nutzungsmöglichkeiten, die Sie interessieren könnten. Hinweis: Umleitungen wie > für die Nachbearbeitung können verwendet werden.

  • Scannen und SSL-Verifikation deaktivieren
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure
  • Scannen mit einer benutzerdefinierten Konfigurationsdatei (inklusive benutzerdefinierter Plugins)
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure --signature test_config.yml
  • Alle Plugins oder nach Schweregrad auflisten : plugins oder plugins --severity High
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Anzahl gleichzeitiger Threads angeben : --threads 4 für 4 Arbeiter
root@kitploit:~
$ ./gochopchop plugins --threads 4
  • CI-Pipeline nach Schweregrad blockieren (gleich oder höher als angegebener Schweregrad) : --max-severity Medium
root@kitploit:~
$ ./gochopchop scan https://foobar.com --max-severity Medium
  • Bestimmte zu prüfende Signaturen angeben
root@kitploit:~
./gochopchop scan https://foobar.com --timeout 1 --verbosity --export=csv,json --export-filename boo --plugin-filters=Git,Zimbra,Jenkins
  • Alle Plugins auflisten
root@kitploit:~
$ ./gochopchop plugins
  • Plugins mit hohem Schweregrad auflisten
root@kitploit:~
$ ./gochopchop plugins --severity High
  • Eine Liste von URLs in einer Datei festlegen
root@kitploit:~
$ ./gochopchop scan --url-file url_file.txt
  • GoChopChop-Ergebnisse im CSV- und JSON-Format exportieren
root@kitploit:~
$ ./gochopchop scan https://foobar.com  --export=csv,json --export-filename results

Erstellen einer neuen Prüfung

Das Schreiben einer neuen Prüfung ist so einfach wie:

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"

Ein Endpunkt (z. B. /.git/config) ist mehreren Prüfungen zugeordnet, was vermeidet, X Anfragen für X Prüfungen zu senden. Mehrere Prüfungen können mit einer einzigen HTTP-Anfrage durchgeführt werden. Jede Prüfung benötigt folgende Felder:

Externe Bibliotheken

Bitte beziehen Sie sich auf die Datei third-party.txt für weitere Informationen.

Vorträge

  • PyCon FR 2019 (Das Tool wurde ursprünglich in Python entwickelt) - https://docs.google.com/presentation/d/1uVXGUpt7tC7zQ1HWegoBbEg2LHamABIqfDfiD9MWsD8/edit
  • DEFCON AppSec Village 2020 „Offsec-Denkweise in das Toolkit der Entwickler umwandeln" - https://drive.google.com/file/d/15P8eSarIohwCVW-tR3FN78KJPGbpAtR1/view

Lizenz

ChopChop wurde unter der Apache-Lizenz 2.0 veröffentlicht. Bitte beziehen Sie sich auf die Datei LICENSE für weitere Informationen.

Autoren

  • Paul A.
  • David R. (Für die Python-Version)
  • Stanislas M. (Für die Go-Version)
Tool herunterladen
FlaggeVollständige FlaggeBeschreibung
-h--helpHilfe-Assistent
-v--verbosityAusführlichkeitsstufe der Protokollierung
-c--signaturePfad zu einer benutzerdefinierten Signaturdatei
-k--insecureSSL-Verifizierung deaktivieren
-u--url-filePfad zu einer angegebenen Datei mit zu testenden URLs
-b--max-severityCI-Pipeline blockieren, wenn der Schweregrad über oder gleich dem angegebenen Flag liegt
-e--exportExporttyp der Ausgabe (csv und/oder json)
--export-filenameDateinamen für die Exportdatei(en) angeben
-t--timeoutZeitüberschreitung für die HTTP-Anfragen
--severity-filterPlugins nach Schweregrad filtern
--plugin-filterPlugins nach Plugin-Name filtern
--threadsAnzahl gleichzeitiger Threads
AttributTypBeschreibungOptional?Beispiel
namestringName der PrüfungNeinGit exposed
descriptionstringEine kurze Beschreibung der PrüfungNeinEnsure .git repository is not accessible from the webroot
remediationstringGeben Sie eine Abhilfemaßnahme für dieses spezifische „Problem" anNeinDo not deploy .git folder on production servers
severityEnum("Hoch", "Mittel", "Niedrig", "Information")Bewerten Sie die Kritikalität, falls es in Ihrer Umgebung ausgelöst wirdNeinHoch
status_codeintegerDer HTTP-Statuscode, der zurückgegeben werden sollJa200
headersListe von stringsListe der Header, die in der HTTP-Antwort vorhanden sein sollenJaN/A
no_headersListe von stringsListe der Header, die in der HTTP-Antwort NICHT vorhanden sein sollenJaN/A
matchListe von stringsListe der Zeichenfolgen, die in der HTTP-Antwort vorhanden sein sollenJa"[branch"
no_matchListe von stringsListe der Zeichenfolgen, die in der HTTP-Antwort NICHT vorhanden sein sollenJaN/A
query_stringGET-Parameter, die an den Endpunkt übergeben werden müssenstringJaquery_string: "id=FOO-chopchoptest"
BibliotheksnameLinkLizenz
Viperhttps://github.com/spf13/viperMIT-Lizenz
Go-prettyhttps://github.com/jedib0t/go-prettyMIT-Lizenz
Cobrahttps://github.com/spf13/cobraApache-Lizenz 2.0
strfmthttps://github.com/go-openapi/strfmtApache-Lizenz 2.0
Go-homedirhttps://github.com/mitchellh/go-homedirMIT-Lizenz
pkg-errorshttps://github.com/pkg/errorsBSD 2 (vereinfachte Lizenz)
Go-runewidthhttps://github.com/mattn/go-runewidthMIT-Lizenz