CyberChef is a straightforward, intuitive internet app for finishing up all method of “cyber” operations inside an online browser. These operations embrace easy encoding like XOR and Base64, extra advanced encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of knowledge, calculating hashes and checksums, IPv6 and X.509 parsing, altering character encodings, and rather more.
The device is designed to allow each technical and non-technical analysts to govern knowledge in advanced methods with out having to cope with advanced instruments or algorithms. It was conceived, designed, constructed and incrementally improved by an analyst of their 10% innovation time over a number of years.
Dwell demo
CyberChef continues to be beneath lively improvement. Because of this, it should not be thought of a completed product. There’s nonetheless testing and bug fixing to do, new options to be added and extra documentation to put in writing. Please contribute!
Cryptographic operations in CyberChef shouldn’t be relied upon to supply safety in any scenario. No assure is obtainable for his or her correctness.
A dwell demo might be discovered right here – have enjoyable!
Containers
If you need to check out CyberChef domestically you may both construct it your self:
docker construct --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:80 cyberchef
Or you need to use our picture immediately:
docker run -it -p 8080:80 ghcr.io/gchq/cyberchef:newest
This picture is constructed and revealed via our GitHub Workflows
The way it works
There are 4 foremost areas in CyberChef:
- The enter field within the high proper, the place you may paste, sort or drag the textual content or file you wish to function on.
- The output field within the backside proper, the place the result of your processing shall be displayed.
- The operations checklist on the far left, the place yow will discover all of the operations that CyberChef is able to in categorised lists, or by looking out.
- The recipe space within the center, the place you may drag the operations that you simply wish to use and specify arguments and choices.
You need to use as many operations as you want in easy or advanced methods. Some examples are as follows:
Options
- Drag and drop
- Operations might be dragged out and in of the recipe checklist, or reorganised.
- Recordsdata as much as 2GB might be dragged over the enter field to load them immediately into the browser.
- Auto Bake
- Everytime you modify the enter or the recipe, CyberChef will mechanically “bake” for you and produce the output instantly.
- This may be turned off and operated manually whether it is affecting efficiency (if the enter could be very massive, as an illustration).
- Automated encoding detection
- CyberChef makes use of a variety of strategies to try to mechanically detect which encodings your knowledge is beneath. If it finds an acceptable operation that make sense of your knowledge, it shows the ‘magic’ icon within the Output discipline which you’ll be able to click on to decode your knowledge.
- Breakpoints
- You possibly can set breakpoints on any operation in your recipe to pause execution earlier than working it.
- You can even step via the recipe one operation at a time to see what the information appears like at every stage.
- Save and cargo recipes
- Should you give you an superior recipe that you understand you may wish to use once more, simply click on “Save recipe” and add it to your native storage. It’s going to be ready for you subsequent time you go to CyberChef.
- You can even copy the URL, which incorporates your recipe and enter, to simply share it with others.
- Search
- If you understand the identify of the operation you need or a phrase related to it, begin typing it into the search discipline and any matching operations will instantly be proven.
- Highlighting
- Save to file and cargo from file
- It can save you the output to a file at any time or load a file by dragging and dropping it into the enter discipline. Recordsdata as much as round 2GB are supported (relying in your browser), nevertheless, some operations might take a really very long time to run over this a lot knowledge.
- CyberChef is totally client-side
- It needs to be famous that none of your recipe configuration or enter (both textual content or recordsdata) is ever despatched to the CyberChef internet server – all processing is carried out inside your browser, by yourself laptop.
- Because of this characteristic, CyberChef might be downloaded and run domestically. You need to use the hyperlink within the high left nook of the app to obtain a full copy of CyberChef and drop it right into a digital machine, share it with different individuals, or host it in a closed community.
Deep linking
By manipulating CyberChef’s URL hash, you may change the preliminary settings with which the web page opens. The format is https://gchq.github.io/CyberChef/#recipe=Operation()&enter=...
Supported arguments are recipe
, enter
(encoded in Base64), and theme
.
Browser help
CyberChef is constructed to help
- Google Chrome 50+
- Mozilla Firefox 38+
Node.js help
CyberChef is constructed to completely help Node.js v16
. For extra data, see the “Node API” wiki web page
Contributing
Contributing a brand new operation to CyberChef is tremendous straightforward! The quickstart script will stroll you thru the method. Should you can write fundamental JavaScript, you may write a CyberChef operation.
An set up walkthrough, how-to guides for including new operations and themes, descriptions of the repository construction, out there knowledge sorts and coding conventions can all be discovered within the “Contributing” wiki web page.
- Push your adjustments to your fork.
- Submit a pull request. If you’re doing this for the primary time, you may be prompted to signal the GCHQ Contributor Licence Settlement by way of the CLA assistant on the pull request. This will even ask whether or not you’re glad for GCHQ to contact you a couple of token of thanks in your contribution, or about job alternatives at GCHQ.