mrkeyoor.com_
Tue 01 Sept 17:07 UTC
Dev Toolsevaluationupdated 01 Sept 2026

hashcat review

Hashcat is a command-line password recovery and auditing tool that tests candidate passwords against hashes you already possess. It runs on GPUs and CPUs, covers hundreds of hash formats, and lets authorized security teams check whether captured or exported password data falls to realistic wordlists and rules.

trackingstars / 7d
Verdict

Our Hashcat run built Rust/hashcat-sys in 15 seconds and passed its 2 tests in 6 seconds, but it did not exercise the 423,663-line native engine or any GPU backend. Use the official v7.1.2 package for authorized offline recovery when you can verify the hash mode and compute runtime on the exact host. Treat downloaded plugins and restore files as executable-risk inputs, and put Brain behind a VPN or SSH tunnel before its traffic crosses a network you do not control.

We ran it

Lab card: what happened when we ran hashcatScreenshot of hashcat (hashcat.net/hashcat)
Install✓ · 9s1 packages
Build✓ · 15s
Tests✓ · 6s2 passed · 0 failed of 2 (cargo test)
Repo4281 files~423,663 lines of source · 77.9 MB · 3 CI workflows

Answers from our run

Does hashcat build from source?

Dependencies installed in 9 seconds (1 packages), and the build succeeded in 15 seconds. We cloned commit 1bd6dec into a clean Debian container with 3 CPUs and no project-specific setup.

Do hashcat's tests pass?

Yes: 2 of 2 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use hashcat?

Anyone without explicit authorization to test the hashes or accounts involved: Hashcat's power does not supply legal permission.

What are the alternatives to hashcat?

John the Ripper, Hashtopolis, THC Hydra. Our Hashcat run built Rust/hashcat-sys in 15 seconds and passed its 2 tests in 6 seconds, but it did not exercise the 423,663-line native engine or any GPU backend.

Setup3/5Easy archive install; compute drivers decide whether it can run
Docs5/5Builds, modes, plugins, restore files, and security boundaries are clear
Community5/526,673 stars with active pushes and current issue discussion
Maturity4/5v7.1.2 covers 590+ modes; old releases receive no security patches

Who it’s for

Security teams auditing password hashes they are authorized to test.
Incident responders and owners recovering passwords from supported encrypted files or disk formats.
Researchers who need custom hash modules, kernels, or C, Python, and Rust bridge plugins.
Operators with compatible CUDA, HIP, Metal, or OpenCL hardware who can validate drivers before a long run.

Who it’s NOT for

Anyone without explicit authorization to test the hashes or accounts involved: Hashcat's power does not supply legal permission.
People trying to automate guesses against a live login without obtaining hashes: Hashcat is an offline recovery tool, not a network authentication client.
Operators whose compute host has no working CUDA, HIP, Metal, or OpenCL backend: the README requires one of those paths, and issue 4719 reports a current VM and package combination finding no usable device.
Teams that would expose Brain directly to an untrusted network: the security policy says its traffic has no encryption or transport integrity and may listen on all interfaces.
Users who load untrusted modules, kernels, bridges, feeds, or automatic restore files: Hashcat runs them with the user's privileges and provides no sandbox.
Organizations that require backported security fixes: the policy says fixes land on master and the next release, while older releases are not patched.

Setup reality

Our sandbox installed the Rust crate at Rust/hashcat-sys/ in 9 seconds, adding 1 package. It built in 15 seconds, and Cargo passed 2 of 2 tests in 6 seconds. That result did not compile or run Hashcat's native engine, a hash mode, or a GPU backend.

+The official release is downloaded and unpacked, with no account or service required. Useful work still needs hashes, candidate sources, and a compatible CUDA, HIP, Metal, or OpenCL runtime. Brain mode adds a shared password and should sit behind an encrypted tunnel on untrusted networks.

+Source builds require Python 3.12+ and make. The optional package check loads modules, generates candidates, compiles a kernel, and needs an OpenCL device for its final checks. Our scan found no Dockerfile, so container users must follow the separate build documentation rather than expect a root image recipe.

More than 590 hash modes make Hashcat an offline recovery workbench

Hashcat supports more than 590 hash modes and 5 attack modes across CUDA, HIP, Metal, and OpenCL. It accepts candidates from wordlists, standard input, rules, masks, and external generators. Sessions can pause, resume, restore after interruption, and watch device temperature. That breadth suits authorized audits and recovery from supported files. It does nothing useful against a login page unless the tester has a compatible hash or encrypted artifact.

Our checkout held 4,281 files, roughly 423,663 lines of source, and occupied 77.9 MB. The tree contains a native engine, hash modules, compute kernels, plugins, and Rust bindings. Picking the correct mode matters more than trying random switches. Hashcat ships one example hash per mode, giving operators a known input for checking syntax before committing hardware time to recovery.

Hashcat v7.1.2 still depends on a working compute backend

Hashcat v7.1.2 is an archive that users unpack in place, and some operating systems package it separately. The standard path needs no cloud account, root service, or API credential. A job still needs CUDA, HIP, Metal, or OpenCL to recognize a device and compile its kernel. Built-in benchmark and self-test commands check that path on the intended host.

Our sandbox installed 1 Rust package in 9 seconds without loading CUDA, HIP, Metal, or OpenCL. Issue 4719 reports Hashcat 7.1.2 finding no usable OpenCL device in one Kali Linux 2026.2 VMware setup, while the prior distribution worked on the same host. That is one report rather than a universal VM limitation. Package, runtime, driver, and virtualization versions must be tested together.

What happened when we ran it

Our lab found the Rust project at Rust/hashcat-sys/ in commit 1bd6dec. Cargo installed 1 package in 9 seconds, built it in 15 seconds, and tested it in 6 seconds. The result was 2 passed and 0 failed out of 2 in a 3-CPU, 12 GB unprivileged Debian container with no secrets.

The 2 Rust tests do not measure native Hashcat correctness, recovery speed, or GPU compatibility. We ran no hash mode or benchmark, so there is no throughput figure. The scan found 3 CI workflow files, no Dockerfile, and no tests directory. Those signals match separate Build, BSD, and Rust workflows, while the build guide points to an optional package-check script.

Python 3.12 and an OpenCL device are needed for the full source check

The build guide requires Python 3.12 or newer, then uses make. Its optional tools/test_package.sh check starts the binary, loads every module, produces candidates through a feed, compiles a kernel, and cracks a sample hash. The final group needs 1 OpenCL device, and a CPU is accepted. That procedure checks a source build; Cargo covers only the Rust edge.

Our Rust build completed in 15 seconds, but the repository has 423,663 lines and many non-Rust paths outside that crate. The release package is simpler when no source change is needed, and the README says a self-built binary is not faster. Contributors should run the package check on supported hardware and test changed modules. Container users need the separate Docker guide because the scan found no Dockerfile.

Brain traffic needs an encrypted tunnel

Brain mode uses a 32-bit challenge and shared password to keep workers from repeating candidates. The protocol has no encryption or transport integrity, and the server may listen on all interfaces when no host is specified. An observer can inspect or alter traffic, disrupting deduplication. Put Brain behind a VPN, SSH tunnel, or other trusted encrypted channel outside an isolated cracking network.

The 6-second test run and its 2 passing cases did not start Brain. Hashcat runs as one process with its user's privileges, installs no service, and offers no sandbox. Modules, kernels, bridges, and feeds are executable trust decisions. The Rust bridge in v7.1.2 makes custom algorithms easier to write, but third-party code remains code.

Restore files and plugins cross a real trust boundary

Hashcat v7.1.2 resumes interrupted sessions, but its policy tells users to read a restored command line and avoid automatic restore with an untrusted file. Issue 4738 reports potential argument injection through a crafted restore file and includes a provisional, unpublished CVE reservation. A reservation is not confirmation. The report supports the project's rule that untrusted restore files and plugin code require program-level caution.

Our lab added only 1 Rust package and reported no Rust dependency-vulnerability count, so it supplies no general security verdict. The project develops security fixes on master for the next release; old releases get no patch branch. Organizations needing a fixed support window must track master, releases, and advisories themselves or obtain that service elsewhere.

August 2026 pushes show active maintenance beyond v7.1.2

GitHub recorded the last push on August 31, 2026, a year after v7.1.2 appeared on August 23, 2025. The repository had 26,673 stars and 355 open issues and pull requests; an issue-only search returned 271 open issues. The release tag alone is stale health evidence. The later push and updated hardware, parser, and kernel reports show continued work.

The repository has 3 CI workflow files, while our run passed 2 Rust tests without reaching the native engine. Hashcat is a sensible first trial for authorized offline recovery when its modes cover the material and the compute host passes a self-test. Use a narrow account, verify downloaded inputs, and protect network coordination. For fleet scheduling, put Hashtopolis around it rather than stretching Brain into a control plane.

Alternatives

ProjectWhat it isPick it when
John the RipperA long-running password security auditor with broad format support and CPU-friendly workflows.pick this instead when its format tooling or CPU-oriented workflow fits the recovered material better.
HashtopolisA web-managed platform for scheduling and monitoring distributed Hashcat work.pick this instead when several workers need queues, agents, access control, and central job tracking.
THC HydraA network login testing tool for many authenticated services.pick this instead for an explicitly authorized online authentication assessment where no offline hash is available.

What people are saying

  1. [velocity-scout] hashcat/hashcat

Sources

  1. Hashcat repository
  2. Hashcat README
  3. Hashcat v7.1.2 release
  4. Hashcat build guide
  5. Hashcat security policy
  6. Hashcat Rust plugin quickstart
  7. Kali VM OpenCL device issue
  8. Restore file argument injection report

More dev tools reviews

workmux · v2rayNG · SecLists · eslint · fastfetch · composer · the whole board →