
Das Cyber Swiss Army Knife - eine Web-App für Verschlüsselung, Kodierung, Komprimierung und Datenanalyse
CyberChef ist eine einfache, intuitive Web-App zur Durchführung aller Arten von „Cyber“-Operationen in einem Webbrowser. Zu diesen Operationen gehören einfache Kodierungen wie XOR und Base64, komplexere Verschlüsselungen wie AES, DES und Blowfish, das Erstellen von Binär- und Hexdumps, das Komprimieren und Dekomprimieren von Daten, das Berechnen von Hashes und Prüfsummen, das Parsen von IPv6- und X.509-Daten, das Ändern von Zeichenkodierungen und vieles mehr.
Das Tool ist so konzipiert, dass sowohl technische als auch nicht-technische Analysten Daten auf komplexe Weise manipulieren können, ohne sich mit komplexen Tools oder Algorithmen befassen zu müssen. Es wurde von einem Analysten über mehrere Jahre hinweg in seiner 10-Prozent-Innovationszeit konzipiert, entworfen, gebaut und schrittweise verbessert.
Die offizielle Website von CyberChef findest du hier - viel Spaß!
Du kannst CyberChef mit Docker ausführen (keine Toolchain erforderlich) oder es mit Node.js aus dem Quellcode erstellen.
Voraussetzungen
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 in deinem BrowserWenn du den Build-Prozess überspringen möchtest, kannst du das vorgefertigte Image verwenden.
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Öffne wie zuvor http://localhost:8080 in deinem Browser.
Dieses Image wird über unsere GitHub Workflows erstellt und veröffentlicht.
Wenn du CyberChef weiterentwickeln oder ohne Docker ausführen möchtest, kannst du es direkt mit Node.js erstellen.
Voraussetzungen
v24 (siehe Node.js-Unterstützung)[!NOTE]
Du kannst nvm zum Verwalten von Node.js-Versionen verwenden und die aktuelle Entwicklungsversion aus diesem Projekt nutzen, um Konflikte mit anderen Projekten auf deinem Rechner zu vermeiden.
Einrichtung
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Häufige Aufgaben
Wenn beim Erstellen umfangreicher Recipes ein Out-of-Memory-Fehler auftritt, erhöhe die Heap-Größe von Node mit npm run setheapsize.
Es gibt vier Hauptbereiche in CyberChef:
Du kannst beliebig viele Operationen auf einfache oder komplexe Weise verwenden. Hier sind einige Beispiele:
Durch Manipulation des URL-Hashs von CyberChef kannst du die Anfangseinstellungen ändern, mit denen die Seite geöffnet wird.
Das Format ist https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Unterstützte Argumente sind recipe, input (Base64-kodiert) und theme.
CyberChef ist darauf ausgelegt, folgende Browser zu unterstützen:
CyberChef ist darauf ausgelegt, Node.js v24 vollständig zu unterstützen, und wird außerdem bereits gegen Node.js v26 getestet, noch bevor es zum aktiven LTS-Release wird. Weitere Informationen findest du auf der „Node API“-Wiki-Seite
Bitte beachte die Sicherheitsrichtlinie von CyberChef.
Eine neue Operation zu CyberChef beizutragen ist super einfach! Das Quickstart-Skript führt dich durch den Prozess. Wenn du grundlegendes JavaScript schreiben kannst, kannst du eine CyberChef-Operation schreiben.
Eine Installationsanleitung, How-to-Guides für das Hinzufügen neuer Operationen und Themes, Beschreibungen der Repository-Struktur, verfügbare Datentypen und Code-Konventionen findest du alles auf der „Contributing“-Wiki-Seite.
CyberChef wird unter der Apache-2.0-Lizenz veröffentlicht und unterliegt dem Crown Copyright.
| Befehl | Beschreibung |
|---|
npm start | Startet den Entwicklungsserver mit Live-Reload unter http://localhost:8080. |
npm run build | Erzeugt einen Produktions-Build im Verzeichnis build/prod. |
npm test | Führt die Node.js- und Operationstest-Suiten aus. |
npm run testui | Führt die Browser-Tests (UI) aus. |
npm run lint | Prüft den Code gegen die Linting-Regeln. |
npm run newop | Erstellt eine neue Operation über das interaktive Quickstart-Skript. |