CyberChef est une application web open source créée par le GCHQ (le renseignement britannique) pour encoder, décoder, déchiffrer, compresser et analyser des données sans écrire une ligne de code. Son principe : enchaîner des opérations dans une recette, comme une suite de filtres. Atout majeur pour un analyste SOC ou un DevSecOps : tout le traitement se fait dans votre navigateur, aucune donnée n'est envoyée à un serveur. Ce guide explique son fonctionnement, ses opérations clés, ses cas d'usage en sécurité (décoder une payload, défanger des IoC) et comment l'auto-héberger.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Ce qu'est CyberChef et pourquoi tout se passe dans le navigateur.
- Le principe des recettes et des opérations.
- Les opérations à connaître pour la sécurité.
- Des cas d'usage SOC : décoder une payload, défanger des IoC, lire un JWT.
- Comment auto-héberger CyberChef en Docker et l'utiliser en ligne de commande.
Qu'est-ce que CyberChef ?
Section intitulée « Qu'est-ce que CyberChef ? »CyberChef se présente comme « le couteau suisse cyber » (The Cyber Swiss Army Knife). C'est une application web publiée par le GCHQ sous licence Apache 2.0 (Crown Copyright), dont le code est sur github.com/gchq/CyberChef.
Sa caractéristique la plus importante pour la sécurité : 100% côté navigateur. La documentation officielle est explicite : aucune configuration de recette ni aucune entrée (texte ou fichier) n'est envoyée au serveur web. Tout le traitement a lieu localement. Vous pouvez donc y coller des données sensibles sans les exposer, ou l'utiliser hors-ligne.
CyberChef réunit en un seul endroit ce qui demanderait sinon une dizaine d'outils en ligne de commande (base64, xxd, openssl, gzip...), avec un aperçu instantané à chaque étape.
Recettes et opérations : le principe
Section intitulée « Recettes et opérations : le principe »Le cœur de CyberChef tient en deux notions :
- une opération (operation) est une transformation unitaire : décoder du Base64, déchiffrer en AES, extraire des adresses IP...
- une recette (recipe) est une suite ordonnée d'opérations appliquée à votre entrée.
Vous glissez-déposez les opérations (plus de 300 disponibles) dans la zone recette, vous les réordonnez, et le résultat se recalcule en direct. On peut traiter des fichiers jusqu'à 2 Go.
L'opération Magic : la détection automatique
Section intitulée « L'opération Magic : la détection automatique »Quand vous ne savez pas sous quel encodage se trouve une donnée, l'opération Magic l'analyse et propose les décodages probables, souvent en un clic. C'est le premier réflexe face à une chaîne obscure : Magic reconnaît Base64, hexadécimal, URL encoding, compression et bien d'autres, et détecte les encodages en cascade.
Les opérations à connaître
Section intitulée « Les opérations à connaître »Quelques opérations reviennent constamment en sécurité (noms exacts CyberChef) :
| Catégorie | Opérations |
|---|---|
| Encodage | From Base64 / To Base64, From Hex / To Hex, URL Decode / URL Encode |
| Chiffrement | XOR, AES Decrypt, DES Decrypt, JWT Decode |
| Compression | Gunzip / Gzip |
| Analyse (IoC) | Extract IP addresses, Extract URLs, Defang URL, Defang IP Addresses |
| Divers | Regular expression, From Hexdump, Magic |
Pour comprendre ce que fait chaque opération, rien ne vaut l'équivalent en ligne de commande. Ces transformations, validées en lab, sont exactement ce que CyberChef enchaîne visuellement :
# From Base64 : decoder une chaine encodeeecho "RGV2U2VjT3BzIQ==" | base64 -d # -> DevSecOps!
# To Hex : representation hexadecimaleecho -n "Hello" | od -An -tx1 | tr -d ' ' # -> 48656c6c6f
# ROT13echo "Hello DevSecOps" | tr 'A-Za-z' 'N-ZA-Mn-za-m' # -> Uryyb QriFrpBcf
# Base64 en cascade (double encodage, frequent dans les payloads)echo -n "secret" | base64 | base64 # -> YzJWamNtVjAKCas d'usage SOC et DevSecOps
Section intitulée « Cas d'usage SOC et DevSecOps »CyberChef brille dans le travail d'analyse au quotidien :
-
Décoder une payload encodée en cascade
Une charge malveillante est souvent empilée : Base64, puis Gunzip, puis Hex. Recette :
From Base64->Gunzip->From Hex. En cas de doute, Magic identifie la pile. -
Désobfusquer une commande PowerShell
Le paramètre
-EncodedCommandde PowerShell est du Base64 en UTF-16LE. Recette :From Base64puisDecode text(UTF-16LE). La commande réelle apparaît. -
Défanger des IoC pour les partager sans risque
Avant de partager une URL ou une IP malveillante, on la défang pour qu'elle ne soit pas cliquable :
Defang URLtransformehttp://mechant.comenhxxp://mechant[.]com.Defang IP Addressesfait de même pour les IP. -
Extraire des IoC d'un texte
Extract IP addressesetExtract URLsrécupèrent tous les indicateurs d'un log ou d'un mail de phishing en une opération. -
Lire un JWT
JWT Decodeaffiche l'en-tête et la charge utile d'un jeton, utile pour vérifier les claims sans déchiffrer.
Vos données restent-elles privées ?
Section intitulée « Vos données restent-elles privées ? »Oui. CyberChef ne transmet rien : pas de recette, pas d'entrée. Tout est traité par le moteur JavaScript de votre navigateur. C'est ce qui le rend acceptable pour analyser des données sensibles, à condition d'utiliser une instance de confiance. Pour un usage en environnement isolé (air-gap, SOC durci), on l'auto-héberge ou on utilise la version standalone (un fichier HTML autonome).
Déployer CyberChef
Section intitulée « Déployer CyberChef »Trois options selon le besoin :
L'image officielle du GCHQ, exposée sur le port 8080 :
docker run -d -p 8080:8080 ghcr.io/gchq/cyberchef:latestValidé en lab : la page répond en HTTP 200 avec le titre CyberChef. Ouvrez http://localhost:8080.
L'image mpepping/cyberchef, reconstruite quotidiennement, expose le port 8000 :
docker run -d -p 8000:8000 mpepping/cyberchefAttention à ne pas confondre les ports : 8080 pour l'image officielle, 8000 pour celle-ci.
CyberChef se télécharge en fichier autonome depuis les releases GitHub. Un simple double-clic l'ouvre dans le navigateur, sans serveur ni connexion : idéal pour une VM d'analyse ou un réseau air-gapped.
CyberChef en ligne de commande
Section intitulée « CyberChef en ligne de commande »Pour scripter des recettes ou les intégrer à un pipeline, le projet CyberChef-server (github.com/gchq/CyberChef-server) expose une API HTTP qui « cuisine » une recette côté serveur :
docker run -d --rm -p 3000:3000 cyberchef-server# POST /bake : { "input": "...", "recipe": [{ "op": "From Base64" }] }CyberChef fournit aussi une API Node.js utilisable par programme. Le bon partage des rôles : l'interface web pour l'exploration interactive, CyberChef-server pour l'automatisation.
CyberChef ou les commandes Unix ?
Section intitulée « CyberChef ou les commandes Unix ? »Les deux ont leur place :
| CyberChef | Commandes Unix | |
|---|---|---|
| Exploration interactive | excellente (visuel, Magic) | fastidieuse |
| Mémorisation | aucune (drag-drop) | il faut connaître base64, xxd, openssl... |
| Automatisation / CI | via CyberChef-server | native |
| Partage d'une analyse | par URL | par script |
Pour analyser et comprendre une donnée inconnue, CyberChef est imbattable. Pour un pipeline reproductible, les outils en ligne de commande (ou CyberChef-server) restent la bonne réponse.
À retenir
Section intitulée « À retenir »- CyberChef est l'app web du GCHQ (Apache 2.0) pour encoder, déchiffrer et analyser des données par recettes d'opérations.
- Tout est traité dans le navigateur : aucune donnée n'est envoyée à un serveur.
- Une recette enchaîne des opérations (plus de 300) ; l'opération Magic détecte l'encodage automatiquement.
- Cas d'usage clés : décoder des payloads en cascade, désobfusquer PowerShell, défanger et extraire des IoC, lire un JWT.
- Base64 n'est pas du chiffrement : CyberChef le rappelle en une opération.
- Auto-hébergement Docker :
ghcr.io/gchq/cyberchef(port 8080) oumpepping/cyberchef(8000) ; CyberChef-server pour l'API.
FAQ : questions fréquentes sur CyberChef
Section intitulée « FAQ : questions fréquentes sur CyberChef »Le couteau suisse cyber
CyberChef (The Cyber Swiss Army Knife) est une application web open source publiée par le GCHQ sous licence Apache 2.0. Elle permet d'encoder, décoder, déchiffrer, compresser et analyser des données sans écrire de code.Son principe : enchaîner des opérations (plus de 300) dans une recette, comme une suite de filtres, avec un aperçu instantané.Point essentiel pour la sécurité : tout est traité dans le navigateur, aucune entrée ni recette n'est envoyée à un serveur. On peut donc l'utiliser sur des données sensibles, et même hors-ligne.Tout reste dans le navigateur
La documentation officielle est explicite : aucune configuration de recette ni aucune entrée (texte ou fichier) n'est envoyée au serveur web. Tout le traitement se fait par le moteur JavaScript de votre navigateur.Vous pouvez donc y coller des données sensibles sans les exposer au réseau. Pour un niveau de confiance maximal :- auto-hébergez CyberChef (Docker) sur votre propre infrastructure ;
- ou utilisez la version standalone (un fichier HTML autonome), idéale en environnement air-gapped.
En ligne, Docker ou standalone
# Image officielle GCHQ (port 8080)
docker run -d -p 8080:8080 ghcr.io/gchq/cyberchef:latest
# Alternative communautaire (port 8000)
docker run -d -p 8000:8000 mpepping/cyberchef
Trois possibilités :- En ligne : gchq.github.io/CyberChef, sans rien installer.
- Docker : l'image officielle
ghcr.io/gchq/cyberchef(port 8080), oumpepping/cyberchef(port 8000). - Standalone : un fichier HTML autonome, sans serveur ni connexion, parfait pour une VM d'analyse isolée.
Une suite d'opérations
Une recette (recipe) est une suite ordonnée d'opérations appliquée à votre entrée. Chaque opération est une transformation unitaire :From Base64décode du Base64 ;Gunzipdécompresse ;Extract IP addressesrécupère les IP.
From Base64 -> Gunzip -> From Hex.L'état complet d'une recette est encodé dans l'URL : on peut la sauvegarder dans ses notes d'incident ou la partager à un collègue par simple lien.La détection automatique
Quand vous ne savez pas sous quel encodage se trouve une donnée, l'opération Magic l'analyse et propose les décodages probables, souvent en un clic.C'est le premier réflexe face à une chaîne obscure : Magic reconnaît le Base64, l'hexadécimal, l'URL encoding, la compression et bien d'autres, et détecte les encodages en cascade (par exemple du Base64 contenant du Gzip).Elle fait gagner un temps précieux : au lieu d'essayer les opérations une à une, vous laissez Magic identifier la pile, puis vous affinez la recette.Oui, avec CyberChef-server
Pour scripter des recettes ou les intégrer à un pipeline, le projet CyberChef-server (github.com/gchq/CyberChef-server) expose une API HTTP :docker run -d --rm -p 3000:3000 cyberchef-server
# POST /bake : { "input": "...", "recipe": [{ "op": "From Base64" }] }
Les endpoints /bake (une entrée) et /batch/bake (un lot) appliquent la recette côté serveur. CyberChef fournit aussi une API Node.js utilisable par programme.Le bon partage des rôles : l'interface web pour l'exploration interactive, CyberChef-server pour l'automatisation reproductible.