
El Cyber Swiss Army Knife - una aplicación web para cifrado, codificación, compresión y análisis de datos
CyberChef es una aplicación web sencilla e intuitiva para realizar todo tipo de operaciones «cibernéticas» dentro de un navegador web. Estas operaciones incluyen codificaciones sencillas como XOR y Base64, cifrados más complejos como AES, DES y Blowfish, creación de binarios y volcados hexadecimales, compresión y descompresión de datos, cálculo de hashes y sumas de verificación, análisis de IPv6 y X.509, cambio de codificaciones de caracteres y mucho más.
La herramienta está diseñada para permitir que analistas técnicos y no técnicos manipulen datos de formas complejas sin tener que lidiar con herramientas o algoritmos complejos. Fue concebida, diseñada, construida y mejorada de forma incremental por un analista durante su tiempo de innovación del 10 % a lo largo de varios años.
El sitio web oficial de CyberChef se encuentra aquí ¡a disfrutar!
Puedes ejecutar CyberChef con Docker (sin necesidad de cadena de herramientas) o compilarlo desde el código fuente con Node.js.
Requisitos previos
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 en tu navegadorSi prefieres omitir el proceso de compilación, puedes usar la imagen precompilada
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Igual que antes, navega a http://localhost:8080 en tu navegador.
Esta imagen se compila y publica a través de nuestros Flujos de trabajo de GitHub.
Si quieres desarrollar CyberChef o ejecutarlo sin Docker, puedes compilarlo directamente con Node.js.
Requisitos previos
v24 (consulta Soporte de Node.js)[!NOTE]
Puedes usar nvm para gestionar las versiones de Node.js y usar la versión de desarrollo actual en este proyecto para evitar conflictos con otros proyectos en tu máquina.
Configuración
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Tareas comunes
Si te encuentras con un error de memoria insuficiente al compilar recetas grandes, aumenta el tamaño del heap de Node con npm run setheapsize.
Hay cuatro áreas principales en CyberChef:
Puedes usar tantas operaciones como quieras de formas sencillas o complejas. Algunos ejemplos son:
Al manipular el hash de la URL de CyberChef, puedes cambiar la configuración inicial con la que se abre la página.
El formato es https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Los argumentos admitidos son recipe, input (codificado en Base64) y theme.
CyberChef está diseñado para ser compatible con
CyberChef está diseñado para ser totalmente compatible con Node.js v24 y también se prueba con Node.js v26 antes de que se convierta en la versión LTS activa. Para más información, consulta la página wiki "Node API"
Consulta la política de seguridad de CyberChef.
¡Contribuir con una nueva operación a CyberChef es muy fácil! El script de inicio rápido te guiará por el proceso. Si sabes escribir JavaScript básico, puedes escribir una operación de CyberChef.
Puedes encontrar una guía de instalación, tutoriales para añadir nuevas operaciones y temas, descripciones de la estructura del repositorio, tipos de datos disponibles y convenciones de codificación en la página wiki "Contributing".
CyberChef se publica bajo la Licencia Apache 2.0 y está cubierto por Crown Copyright.
| Comando | Descripción |
|---|
npm start | Ejecuta el servidor de desarrollo con recarga en vivo en http://localhost:8080. |
npm run build | Produce una compilación de producción en el directorio build/prod. |
npm test | Ejecuta las suites de pruebas de Node.js y de operaciones. |
npm run testui | Ejecuta las pruebas del navegador (UI). |
npm run lint | Comprueba el código contra las reglas de linting. |
npm run newop | Crea una nueva operación mediante el script interactivo de inicio rápido. |