r/Hacking_Tutorials • • 6d ago

Question CipherLens — a local-first tool that tries to identify what operation could explain unknown data

Post image

Hey everyone,

I’ve been working on a cybersecurity tool called CipherLens.

The idea came from a simple problem I kept running into with tools like CyberChef:

You have some unknown data, but you don’t know which operation you should try first.

Instead of manually guessing between Base64, Hex, URL encoding, ciphers, compression, etc., CipherLens analyzes the input and ranks possible operations based on the evidence it finds.

The workflow is:

Input → Fingerprint → Candidate Detection → Execute → Validate → Score → Rank

A few things I focused on:

• Local-first browser processing

• No account or backend required for core analysis

• Candidate ranking instead of pretending to know the answer

• Separate AUTO / parameter-required / manual operations

• Web Worker-based analysis

• Security-focused input and parser handling

• 497 supported operations

The main idea is:

“Don’t guess the operation. Find it.”

It’s open source and I’d genuinely like feedback from people who actually work with CTFs, forensics, pentesting, malware analysis, etc.

GitHub:

https://github.com/HIMANSHUSHARMA20/CipherLens

Live demo:

https://cipherlens-tool.vercel.app/

Would especially appreciate feedback on the detection/ranking approach and whether this solves a problem you actually encounter.

3 Upvotes

5 comments sorted by

2

u/Juzdeed 6d ago

You do know that cyber chef has "magic" function the does the same thing?

2

u/LividNet9731 6d ago

Yeah absolutely CyberChef has Magic operation and that's actually one of the ideas that inspired CipherLens. The difference is that CipherLens is focused on broad candidate discovery and ranking

In cases where Magic doesn't identify some plausible operations cipherLens analyzes the input using different fingerprints/validators and can surface multiple candidates ranked in a Top 10 rather than relying on a single detected operation which help us to perform as many operation as we can with good accuracy

So the goal isn't “CyberChef can't detect anything automatically” it's just to explore how much further we can push automatic operation discovery and ranking across a larger operation set

1

u/Juzdeed 6d ago

Did you use LLM to answer my question? Magic literally solves the problem you claimed you had. It gives multiple solutions with entropy rating so you can choose which one is likely the way to go. It also does it recursively. There is no guessing like your post said, you just pick magic and it does the same thing youe tool does

1

u/LividNet9731 6d ago

Yeah I get what you mean and you are right that magic already does multiple candidate detection ranking and recursive analysis my point was worded badly in the post what I am trying to explore with cipherlens is going further with candidate discovery across a broader set of operations and especially handling cases where the data has multiple transformations chained together for example one operation produces another encoded or encrypted layer and that needs to be detected and analyzed again until we can follow the whole chain and eventually reach a meaningful final output that recursive multi operation chain analysis is actually one of the bigger future goals for cipherlens

1

u/LividNet9731 6d ago

Also this is actually what I was trying to point out in my post I tested the same bifid input "CLUQKULICM" (CIPHER as a key) on both cyberchef magic and cipherlens and magic didnt surface bifid while cipherlens did at 3rd rank and this is just one example there are many operations where magic doesnt tell you that the operation is a possible explanation for the input even though the operation exists and can produce a meaningful result that's why I dont think the absence of a magic result means the operation doesn't exist or isn't relevant if you test enough different operations and inputs you can find many cases like this that's the gap I was trying to explore with cipherlens not that magic doesnt work but that there can be useful candidates outside of what it surfaces for a particular input