Vibeleaderboard
Index / tool
Visit github.com
Category
Cybersecurity
Rank
No. 1433Tools index
Pricing
Open Source
Type
TOOL
Builder
ruvnet
GitHub
139 stars
Date

About

First decompiler that understands code semantically — recovers original names with AI, proves every transformation with cryptographic witness chains.

What it does

ruDevolution turns bundled, minified, or obfuscated JavaScript into grouped, beautified modules. A lightweight scanner finds declarations and references, graph clustering separates related code, and contextual rules suggest readable names. It can also emit confidence data, source maps, hierarchical folders, and hashes for tracing results back to input regions.

Why it's ranked here

The project combines useful analysis stages in one Rust pipeline and exposes results through several practical interfaces. Its strongest ideas are reference-based module grouping, explainable name confidence, and standard source-map output. The caution is equally important: parsing relies on regexes and brace tracking, while the witness verifier checks internal hash consistency rather than independently proving semantic equivalence.

What's good

Each inferred name carries a confidence value and supporting evidence, which helps users separate strong context matches from structural guesses. Module boundaries derive from cross-reference weights instead of fixed file templates. Source maps use the standard version-three format. Witness records preserve the original bundle hash, module byte ranges, content hashes, and inferred-name hashes.

Tradeoffs

The parser is not a full JavaScript syntax tree parser. It recognizes selected top-level declaration forms with regexes, then scans bodies for strings, properties, and identifiers. Template contents are skipped, so some context can be missed. Low-confidence fallbacks use generic labels. Neural support is optional, and recognized GGUF or RVF models currently load as stubs without inference.

How to use it well

Use it when auditing installed JavaScript packages, studying bundled architecture, comparing releases, or building interoperability tooling. Start with its module grouping, then inspect name evidence and confidence before trusting reconstructed intent. Keep the original bundle beside the output for validation. It does not obtain unpublished source, bypass authentication or DRM, or replace legal review.

Technical notes+

Cargo.toml defines the Rust library crate ruvector-decompiler, an optional neural feature, and benchmark targets. src/lib.rs runs parsing, reference-graph construction, partitioning, heuristic inference, beautification, optional tree and source-map generation, then witness construction and self-verification. The main pipeline calls inferrer::infer_names, not neural::infer_names_neural. src/parser.rs uses cached regexes plus a single-pass byte scanner rather than a full AST. src/tree.rs performs agglomerative clustering over inter-module references. src/witness.rs hashes original byte ranges and inferred-name mappings with SHA3-256; verify_witness_chain recomputes the Merkle root from stored witness entries, but does not re-check transformed output against source semantics. src/neural.rs implements transformer and ONNX backends while treating GGUF and RVF as inactive stubs.

Observed

License
MIT
Primary language
Rust
Packaging
Published surfaces are described for npm as ruvector and Cargo as ruvector-decompiler; npx usage is also documented.
Interfaces
Rust library, command-line interface, six MCP tools, and a dashboard UI are documented.
Input support
The CLI accepts npm package names, local JavaScript files, and URLs.
Library artifact
Cargo.toml configures an rlib crate type.
Neural dependency surface
ONNX Runtime and ndarray are optional dependencies enabled by the neural Cargo feature.
Tests
Unit tests are embedded in the supplied Rust source modules, and Cargo.toml declares two Criterion benchmarks.

Read from README.md, Cargo.toml, src/lib.rs, src/tree.rs, src/error.rs, src/graph.rs, src/types.rs, src/neural.rs, src/parser.rs, src/witness.rs, src/inferrer.rs, src/training.rs, src/sourcemap.rs.

What it can do

  • Decompile binary code into source code

    Compiled binary executable or libraryDecompiled source code

  • Recover original variable and function names using AI

    Decompiled code with generic namesCode with semantically meaningful names

  • Generate cryptographic witness chains for code transformations

    Code transformation operationsCryptographic proofs of transformation validity

  • Analyze code semantics to understand program behavior

    Binary or compiled codeSemantic analysis of program functionality

  • Prove transformation correctness with cryptographic verification

    Original and transformed codeMathematical proof of transformation accuracy

Tags

decompilerreverse-engineeringruvnetaisecurity

Tech Stack

Rust

Media

ruDevolution

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.