Rust-based web application security scanner for penetration testers, with 125+ scanner modules, a browser extension, and an AI-driven testing mode.
bee-san/Ciphey
A Rust CLI and library that detects and decodes encoded or encrypted text without a key or cipher name, including multi-layer chains.
Open-source alternative to:CyberChef
- Stars
- 21,687
- Forks
- 1,446
- Open issues
- 66
- Last commit
- 7 days ago
What is it?
Ciphey takes a string that has been encoded or encrypted and works out the chain of decoders needed to recover the plaintext. It covers Base64, Base32, Base58, hex, binary, URL encoding, Morse code, Caesar and ROT13, Vigenère, rail fence and Brainfuck, among others, and searches several layers deep using an A* search over decoder chains.
When a candidate looks like plaintext, Ciphey shows it and asks for confirmation, or runs unattended with the -d flag. Candidates are also checked with LemmeKnow to identify formats such as tokens, IP addresses or credentials. A regex crib (-r) or a wordlist can constrain which results are accepted, which helps with CTF-style flags.
Beyond the command line, the project exposes a Rust library API for running the full search or single decoders, and an ciphey-mcp server so AI assistants can call its decode tools.
Key features
- 01Automatically decodes multi-layer chains of Base64, hex, ROT13 and other encodings.
- 02Cracks Caesar and Vigenère ciphers without the key.
- 03Uses a regex crib or wordlist to accept only matching plaintext.
- 04Identifies common credential and token formats with LemmeKnow.
- 05Provides a Rust library API and an MCP server for AI assistants.
Use cases
- Solving CTF challenges that hide flags behind several encoding layers.
- Quickly inspecting an unknown encoded string in a terminal.
- Calling decoding functions from a Rust program or an AI assistant.
Quick start
- 1
Install the ciphey CLI with Cargo
cargo install ciphey - 2
Decode a Base64 string
ciphey -t 'aGVsbG8gdGhlcmUgZ2VuZXJhbA=='
Things to know
- The first run asks setup questions and saves them to ~/.ciphey/config.toml.
- Library functions for single decoders and plaintext detection are only on master, not in the last crates.io release (0.12.0).
Topics
FAQ
- What is Ciphey?
- A Rust CLI and library that detects and decodes encoded or encrypted text without a key or cipher name, including multi-layer chains. Ciphey takes a string that has been encoded or encrypted and works out the chain of decoders needed to recover the plaintext. It covers Base64, Base32, Base58, hex, binary, URL encoding, Morse code, Caesar and ROT13, Vigenère, rail fence and Brainfuck, among others, and searches several layers deep using an A* search over decoder chains.
- Is Ciphey free to use? What license does it have?
- Ciphey is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Ciphey still maintained?
- Actively maintained. The last commit to Ciphey was on Oct 13, 2026.
- What can I use Ciphey for?
- Solving CTF challenges that hide flags behind several encoding layers. Quickly inspecting an unknown encoded string in a terminal. Calling decoding functions from a Rust program or an AI assistant.
- How do I install Ciphey?
- Install the ciphey CLI with Cargo: cargo install ciphey Decode a Base64 string: ciphey -t 'aGVsbG8gdGhlcmUgZ2VuZXJhbA=='
- Where can I get Ciphey?
- The source code and installation instructions are on GitHub: https://github.com/bee-san/Ciphey
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Rust-native, event-driven trading engine with Python control plane for backtesting and live trading across crypto, FX, equities, futures, options and betting venues.
Open-source Rust toolkit for logging, visualizing, querying and streaming multimodal robotics and sensor data over time.
An incremental parser generator and parsing library that builds concrete syntax trees and updates them as source files are edited.
Open-source slicer that turns 3D models into G-code for Bambu Lab, Prusa, Creality, Voron and other FDM printers.
Fast, state-of-the-art tokenization library in Rust with Python and Node.js bindings for NLP and language model pipelines.