
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 — 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
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 :
En manipulant le hash de l'URL de CyberChef, vous pouvez modifier les paramètres initiaux avec lesquels la page s'ouvre.
Le format est https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Les arguments pris en charge sont recipe, input (encodé en Base64) et theme.
CyberChef est conçu pour prendre en charge
CyberChef est conçu pour prendre entièrement en charge Node.js v24 et est également testé avec Node.js v26 avant qu'il ne devienne la version LTS active. Pour plus d'informations, consultez la page wiki "Node API"
Veuillez consulter la politique de sécurité de CyberChef.
Contribuer avec une nouvelle opération à CyberChef est très simple ! Le script de démarrage rapide vous guidera tout au long du processus. Si vous savez écrire du JavaScript de base, vous savez écrire une opération CyberChef.
Une présentation de l'installation, des guides pratiques pour ajouter de nouvelles opérations et thèmes, des descriptions de la structure du dépôt, des types de données disponibles et des conventions de codage se trouvent tous dans la page wiki "Contributing".
CyberChef est publié sous la licence Apache 2.0 et est couvert par le Crown Copyright.
| 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. |