
O Canivete Suíço Cibernético - uma aplicação web para criptografia, codificação, compressão e análise de dados
O CyberChef é uma aplicação web simples e intuitiva para realizar todo o tipo de operações "cibernéticas" dentro de um navegador web. Estas operações incluem codificação simples como XOR e Base64, encriptação mais complexa como AES, DES e Blowfish, criação de binários e hexdumps, compressão e descompressão de dados, cálculo de hashes e checksums, análise de IPv6 e X.509, alteração de codificações de caracteres e muito mais.
A ferramenta foi concebida para permitir que analistas, tanto técnicos como não técnicos, manipulem dados de formas complexas sem terem de lidar com ferramentas ou algoritmos complexos. Foi concebida, projetada, construída e melhorada incrementalmente por um analista no seu tempo de inovação de 10% ao longo de vários anos.
O site oficial do CyberChef pode ser encontrado aqui - divirta-se!
Pode executar o CyberChef com Docker (sem necessidade de toolchain) ou compilá-lo a partir do código-fonte com Node.js.
Pré-requisitos
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 no seu navegadorSe preferir evitar o processo de compilação, pode utilizar a imagem pré-compilada
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Tal como antes, navegue até http://localhost:8080 no seu navegador.
Esta imagem é compilada e publicada através dos nossos GitHub Workflows.
Se quiser desenvolver o CyberChef ou executá-lo sem Docker, pode compilá-lo diretamente com Node.js.
Pré-requisitos
v24 (consulte Suporte para Node.js)[!NOTE]
Pode utilizar o nvm para gerir versões do Node.js e utilizar a versão de desenvolvimento atual em este projeto para evitar conflitos com outros projetos na sua máquina.
Configuração
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Tarefas comuns
Se encontrar um erro de falta de memória ao compilar receitas grandes, aumente o tamanho do heap do Node com npm run setheapsize.
Existem quatro áreas principais no CyberChef:
Pode utilizar quantas operações quiser, de formas simples ou complexas. Alguns exemplos são:
Ao manipular o hash do URL do CyberChef, pode alterar as definições iniciais com as quais a página abre.
O formato é https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Os argumentos suportados são recipe, input (codificado em Base64) e theme.
O CyberChef foi construído para suportar
O CyberChef foi construído para suportar totalmente o Node.js v24 e também é testado contra o Node.js v26 antes de se tornar a versão LTS ativa. Para mais informações, consulte a página wiki "Node API"
Consulte a política de segurança do CyberChef.
Contribuir com uma nova operação para o CyberChef é super fácil! O script de início rápido irá guiá-lo pelo processo. Se sabe escrever JavaScript básico, sabe escrever uma operação do CyberChef.
Um tutorial de instalação, guias de como adicionar novas operações e temas, descrições da estrutura do repositório, tipos de dados disponíveis e convenções de codificação podem ser encontrados na página wiki "Contributing".
O CyberChef é disponibilizado sob a Licença Apache 2.0 e é abrangido pelo Crown Copyright.
| Comando | Descrição |
|---|
npm start | Executa o servidor de desenvolvimento com recarga automática em http://localhost:8080. |
npm run build | Produz uma compilação de produção no diretório build/prod. |
npm test | Executa as suítes de testes do Node.js e das operações. |
npm run testui | Executa os testes do navegador (UI). |
npm run lint | Verifica o código de acordo com as regras de linting. |
npm run newop | Cria uma nova operação através do script interativo de início rápido. |