
The Cyber Swiss Army Knife - un'app web per crittografia, codifica, compressione e analisi dei dati
CyberChef è una web app semplice e intuitiva per eseguire ogni tipo di operazione "cyber" all'interno di un browser web. Queste operazioni includono semplici codifiche come XOR e Base64, crittografie più complesse come AES, DES e Blowfish, creazione di binary ed hexdump, compressione e decompressione dei dati, calcolo di hash e checksum, parsing di IPv6 e X.509, modifica delle codifiche dei caratteri e molto altro.
Lo strumento è progettato per consentire sia agli analisti tecnici che a quelli non tecnici di manipolare i dati in modi complessi senza dover gestire strumenti o algoritmi complessi. È stato concepito, progettato, costruito e migliorato progressivamente da un analista nel proprio tempo di innovazione del 10% nell'arco di diversi anni.
Il sito web ufficiale di CyberChef si trova qui - buon divertimento!
Puoi eseguire CyberChef con Docker (nessun toolchain richiesto) o compilarlo dal sorgente con Node.js.
Prerequisiti
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 nel tuo browserSe preferisci saltare il processo di creazione, puoi usare l'immagine precompilata
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Come prima, vai su http://localhost:8080 nel tuo browser.
Questa immagine viene creata e pubblicata tramite i nostri GitHub Workflows.
Se vuoi sviluppare CyberChef o eseguirlo senza Docker, puoi compilarlo direttamente con Node.js.
Prerequisiti
v24 (vedi Supporto Node.js)[!NOTE]
Puoi usare nvm per gestire le versioni di Node.js e utilizzare la versione di sviluppo corrente in questo progetto per evitare conflitti con altri progetti sul tuo computer.
Configurazione
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Attività comuni
Se incontri un errore di memoria insufficiente durante la creazione di ricette di grandi dimensioni, aumenta la dimensione dell'heap di Node con npm run setheapsize.
Ci sono quattro aree principali in CyberChef:
Puoi usare quante operazioni vuoi, in modi semplici o complessi. Alcuni esempi sono i seguenti:
Manipolando l'hash dell'URL di CyberChef, puoi modificare le impostazioni iniziali con cui si apre la pagina.
Il formato è https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Gli argomenti supportati sono recipe, input (codificato in Base64) e theme.
CyberChef è progettato per supportare
CyberChef è progettato per supportare pienamente Node.js v24 ed è testato anche con Node.js v26 in previsione della sua prossima disponibilità come release LTS attiva. Per maggiori informazioni, consulta la pagina wiki "Node API"
Consulta la security policy di CyberChef.
Contribuire con una nuova operazione a CyberChef è facilissimo! Lo script di avvio rapido ti guiderà attraverso il processo. Se sai scrivere JavaScript di base, puoi scrivere un'operazione per CyberChef.
Una guida all'installazione, guide pratiche per aggiungere nuove operazioni e temi, descrizioni della struttura del repository, dei tipi di dati disponibili e delle convenzioni di codifica: tutto questo si trova nella pagina wiki "Contributing".
CyberChef è rilasciato sotto la Licenza Apache 2.0 ed è coperto da Crown Copyright.
| Comando | Descrizione |
|---|
npm start | Avvia il server di sviluppo con ricaricamento automatico su http://localhost:8080. |
npm run build | Genera una build di produzione nella directory build/prod. |
npm test | Esegue le suite di test Node.js e delle operazioni. |
npm run testui | Esegue i test del browser (UI). |
npm run lint | Verifica il codice rispetto alle regole di linting. |
npm run newop | Crea una nuova operazione tramite lo script interattivo di avvio rapido. |