The Cyber Swiss Army Knife - une application web pour le chiffrement, l'encodage, la compression et l'analyse de données.
CyberChef est une application web simple et intuitive pour effectuer toutes sortes d'opérations « cyber » directement dans un navigateur web. Ces opérations incluent le codage simple comme XOR et Base64, le chiffrement plus complexe comme AES, DES et Blowfish, la création de binaires et de hexdumps, la compression et la décompression de données, le calcul de hachages et de sommes de contrôle, l'analyse IPv6 et X.509, le changement d'encodages de caractères, et bien plus encore.
L'outil est conçu pour permettre aux analystes techniques comme non techniques de manipuler des données de manière complexe sans avoir à utiliser des outils ou des algorithmes complexes. Il a été conçu, développé et amélioré progressivement par un analyste pendant son temps d'innovation de 10 % sur plusieurs années.
[Le site officiel de CyberChef se trouve ici][1] — amusez-vous bien !
Vous pouvez exécuter CyberChef avec Docker (aucune chaîne d'outils requise) ou le compiler à partir des sources avec Node.js.
Prérequis
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 dans votre navigateurSi vous préférez éviter le processus de compilation, vous pouvez utiliser l'image pré-construite.
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Comme précédemment, rendez-vous sur http://localhost:8080 dans votre navigateur.
Cette image est construite et publiée via nos GitHub Workflows.
Si vous souhaitez développer CyberChef ou l'exécuter sans Docker, vous pouvez le compiler directement avec Node.js.
Prérequis
v24 (voir Support Node.js)[!NOTE]
Vous pouvez utiliser nvm pour gérer les versions de Node.js et utiliser la version de développement actuelle de ce projet afin d'éviter les conflits avec d'autres projets sur votre machine.
Configuration
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Tâches courantes
| Commande | Description |
|---|---|
npm start | Lance le serveur de développement avec rechargement en direct à http://localhost:8080. |
npm run build | Produit une version de production dans le répertoire build/prod. |
npm test | Exécute les suites de tests Node.js et des opérations. |
npm run testui | Exécute les tests navigateur (interface). |
npm run lint | Vérifie le code par rapport aux règles de lint. |
npm run newop | Génère une nouvelle opération via le script de démarrage rapide interactif. |
Si vous rencontrez une erreur de mémoire insuffisante lors de la compilation de grosses recettes, augmentez la taille du tas de Node avec npm run setheapsize.
CyberChef comporte quatre zones principales :
Vous pouvez utiliser autant d'opérations que vous le souhaitez, de façon simple ou complexe. Voici quelques exemples :