https://github.com/securisec/chepy
Chepy is a python lib/cli equivalent of the awesome CyberChef tool.
https://github.com/securisec/chepy
cli cyber cyberchef cybersecurity data-format python-library python3
Last synced: 11 days ago
JSON representation
Chepy is a python lib/cli equivalent of the awesome CyberChef tool.
- Host: GitHub
- URL: https://github.com/securisec/chepy
- Owner: securisec
- License: gpl-3.0
- Created: 2019-10-27T00:03:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-16T00:14:50.000Z (18 days ago)
- Last Synced: 2025-04-16T01:21:03.941Z (18 days ago)
- Topics: cli, cyber, cyberchef, cybersecurity, data-format, python-library, python3
- Language: Python
- Homepage:
- Size: 4.82 MB
- Stars: 968
- Watchers: 20
- Forks: 55
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - securisec/chepy - Chepy is a python lib/cli equivalent of the awesome CyberChef tool. (Python)
README
![]()

[](http://chepy.readthedocs.io/en/latest/)
[](https://pypi.python.org/pypi/chepy)[](https://codecov.io/gh/securisec/chepy)
[](https://github.com/securisec/chepy)
[](https://pepy.tech/project/chepy)
# Chepy

Chepy is a python library with a handy cli that is aimed to mirror some of the capabilities of [CyberChef](https://gchq.github.io/CyberChef/). A reasonable amount of effort was put behind Chepy to make it compatible to the various functionalities that CyberChef offers, all in a pure Pythonic manner. There are some key advantages and disadvantages that Chepy has over Cyberchef. The Cyberchef concept of _stacking_ different modules is kept alive in Chepy.
There is still a long way to go for Chepy as it does not offer every single ability of Cyberchef.
## Feel free to give the project a ⭐️!
## Docs
[Refer to the docs for full usage information](http://chepy.readthedocs.io/en/latest/)## Example
[For all usage and examples, see the docs.](http://chepy.readthedocs.io/en/latest/)Chepy has a stacking mechanism similar to Cyberchef. For example, this in Cyberchef:
This is equivalent to
```python
from chepy import Chepyfile_path = "/tmp/demo/encoding"
print(
Chepy(file_path)
.load_file()
.reverse()
.rot_13()
.from_base64()
.from_base32()
.hexdump_to_str()
.o
)```
## Chepy vs Cyberchef
#### Advantages
- Chepy is pure python with a supporting and accessible python api
- Chepy has a CLI
- Chepy CLI has full autocompletion.
- Supports pe, elf, and other various file format specific parsing.
- Extendable via [plugins](https://chepy-plugins.readthedocs.io/en/latest/)
- Infinitely scalable as it can leverage the full Python library.
- Chepy can interface with the full Cyberchef web app to a certain degree. It is easy to move from Chepy to Cyberchef if need be.
- The Chepy python library is significantly faster than the Cyberchef Node library.
- Works with HTTP/S requests without CORS issues.
- `magic` support via the Chepy ML plugin.#### Disadvantages
- Chepy does not offer every single thing that Cyberchef does## Installation
Chepy can be installed in a few ways.### Pypi
```bash
pip3 install chepy
# optionally with extra requirements
pip3 install chepy[extras]
```### Git
```bash
git clone --recursive https://github.com/securisec/chepy.git
cd chepy
pip3 install -e .
# I use -e here so that if I update later with git pull, I dont have it install it again (unless dependencies have changed)
```#### Standalone binary
One can build Chepy to be a standalone binary also. This includes packaging all the dependencies together.
```bash
git clone https://github.com/securisec/chepy.git
cd chepy
pip install .
pip install pyinstaller
pyinstaller cli.py --name chepy --onefile
```
The binary will be in the dist/ folder.### Plugins
[Check here for plugins docs](https://chepy-plugins.readthedocs.io/en/latest/)### Used by
[Remnux linux](https://docs.remnux.org/discover-the-tools/examine+static+properties/deobfuscation#chepy)```eval_rst
.. toctree::
:maxdepth: 3
:caption: Contents:usage.md
examples.md
cli.rst
chepy.md
core.md
modules.rst
extras.rst
plugins.md
pullrequest.md
config.md
faq.mdIndices and tables
==================* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
```