
Кибер-швейцарский армейский нож - веб-приложение для шифрования, кодирования, сжатия и анализа данных.
CyberChef — это простое интуитивно понятное веб-приложение для выполнения всевозможных «кибер»-операций в веб-браузере. Эти операции включают простое кодирование, такое как XOR и Base64, более сложное шифрование, такое как AES, DES и Blowfish, создание бинарных и hex-дампов, сжатие и распаковку данных, вычисление хешей и контрольных сумм, разбор IPv6 и X.509, смену кодировок символов и многое другое.
Инструмент предназначен для того, чтобы дать возможность как техническим, так и нетехническим аналитикам манипулировать данными сложными способами, без необходимости иметь дело со сложными инструментами или алгоритмами. Он был задуман, спроектирован, создан и постепенно улучшался аналитиком в рамках его 10% времени на инновации в течение нескольких лет.
Официальный сайт CyberChef можно найти здесь — приятного использования!
Вы можете запустить CyberChef с помощью Docker (без необходимости в цепочке инструментов) или собрать его из исходного кода с помощью Node.js.
Предварительные требования
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:8080 cyberchef
http://localhost:8080 в вашем браузереЕсли вы предпочитаете пропустить процесс сборки, вы можете использовать готовый образ
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Как и раньше, перейдите по адресу http://localhost:8080 в вашем браузере.
Этот образ собирается и публикуется через наши GitHub Workflows.
Если вы хотите разрабатывать CyberChef или запускать его без Docker, вы можете собрать его напрямую с помощью Node.js.
Предварительные требования
v24 (см. поддержку Node.js)[!NOTE]
Вы можете использовать nvm для управления версиями Node.js и использовать текущую версию для разработки из этого проекта, чтобы избежать конфликтов с другими проектами на вашем компьютере.
Настройка
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Типовые задачи
Если при сборке больших рецептов вы столкнулись с ошибкой нехватки памяти, увеличьте размер кучи Node.js с помощью npm run setheapsize.
В CyberChef есть четыре основные области:
Вы можете использовать любое количество операций простыми или сложными способами. Вот несколько примеров:
Манипулируя URL-хешем CyberChef, вы можете изменять начальные настройки, с которыми открывается страница.
Формат: https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Поддерживаемые аргументы: recipe, input (в кодировке Base64) и theme.
CyberChef создан для поддержки
CyberChef создан для полной поддержки Node.js v24, а также тестируется с Node.js v26 до того, как он станет активным LTS-релизом. Дополнительную информацию см. на wiki-странице «Node API»
Пожалуйста, ознакомьтесь с политикой безопасности CyberChef.
Добавить новую операцию в CyberChef очень просто! Скрипт быстрого старта проведёт вас через весь процесс. Если вы умеете писать базовый JavaScript, вы сможете написать операцию для CyberChef.
Пошаговое руководство по установке, инструкции по добавлению новых операций и тем, описание структуры репозитория, доступных типов данных и соглашений о написании кода — всё это можно найти на wiki-странице «Contributing».
CyberChef распространяется под лицензией Apache 2.0 и защищён авторским правом Короны.
| Command | Описание |
|---|
npm start | Запускает сервер разработки с автоматической перезагрузкой по адресу http://localhost:8080. |
npm run build | Создаёт production-сборку в каталоге build/prod. |
npm test | Запускает наборы тестов для Node.js и операций. |
npm run testui | Запускает браузерные (UI) тесты. |
npm run lint | Проверяет код на соответствие правилам линтинга. |
npm run newop | Создаёт каркас новой операции с помощью интерактивного скрипта быстрого старта. |