Model or dataset
ImKKingshuk/LockKnife avatar
ImKKingshuk/LockKnife

LockKnife: A Case-First Android Investigation Workspace That Wraps Extraction, Runtime and APK Review

LockKnife: The Ultimate Android Security Research Tool. A unified TUI workspace and headless CLI for deep Android security research, built for researchers and hackers. Powered by Python orchestration and a Rust-accelerated core, enabling AI agent–driven hacking, credential recovery/cracking, APK analysis, intelligence gathering, runtime inspection.

529 stars118 forksPythonGPL-3.0

At a glance

What is it?
LockKnife is a GPL-3.0 Python and Rust toolkit that puts device extraction, credential recovery, APK review, runtime instrumentation and reporting behind one TUI, with a headless CLI as the secondary surface. The concept is a single case workspace; the open question is whether the documentation gives you enough to verify each module before you trust it with evidence.
Who is it for?
Adopt LockKnife if your work already spans several narrow Android tools and you want one case workspace with exportable results; skip it if you only need a single capability such as Frida scripting or an APK report, because a narrower tool will do that with less surface area.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The fragmentation problem LockKnife is aimed at

An Android investigation usually involves several tools that do not know about each other. You pull artifacts with one utility, review an APK in a web interface, attach a runtime hook with a scripting CLI, and then reassemble the findings in a document by hand. Each step has its own output format and its own notion of where the case lives, which is usually nowhere. LockKnife's stated goal is to collapse that into one workspace: a case-driven TUI that spans extraction, credential recovery, artifact analysis, runtime instrumentation and reporting, per the README. The intended user is a security researcher or forensic investigator working on a live device, not a developer scanning an APK once. The README also names specific Android versions for newer artifact classes, passkey artifacts on Android 14+ and Private Space analysis on Android 15+, which tells you the project is tracking current device security models rather than older backup-based workflows. That targeting is a real constraint as well as a feature: older devices and older Android releases are not the stated focus.

Python orchestration over a Rust core

The architecture is split by language and by job. Python handles the CLI, device I/O through adb, module dispatch, reporting and integrations. Rust is reserved for what the README calls performance-critical primitives: hashing and crypto, bruteforce, and bulk parsing. That division matters when you evaluate the tool. Anything touching a device, a case file or a report goes through Python, so those paths inherit Python's startup and dependency behaviour. The heavy loops, in particular credential recovery and large artifact parsing, are the parts the project chose to move out of Python. The README does not state how the Rust component is distributed or built, so if you plan to compile from source you should check the repository for the build step before assuming a plain pip-style install is enough. The legacy Bash-only edition ended at v0.4.x according to the README, which means v1.x is a rewrite rather than an increment, and any documentation or scripts you find for the old line will not map cleanly onto the current one.

TUI first, CLI second, and what that ordering costs you

The README is explicit that the TUI is the main product and the default experience, invoked by running lockknife with no arguments. The headless surface is secondary, reached with lockknife --cli or lockknife --headless, and the older menu flow survives as lockknife interactive, described as legacy convenience. This is a deliberate inversion of how most forensics tooling ships, where the CLI is primary and a UI is bolted on. The practical consequence is that the richest workflows, case handling, result review and operator-guided execution, are designed around an interactive terminal session. Automation is supported but positioned as the quick-task path: one-off commands, scripting, CI, remote and headless environments. If your requirement is unattended pipelines that run the same sequence nightly, you are working against the project's stated priority. The TUI itself is keyboard-driven, with q to quit, Tab to move between panels, Enter to open an action menu, / to search modules or output, c for the config editor, e to export the last result, and v for the result viewer. Export and viewer are separate keys, which suggests results are held in a session buffer before being written out.

Getting it running: install paths and the first three commands

There are two documented installation routes. On macOS, Linux and Windows the README gives a curl installer: curl -fsSL https://lockknife.vercel.app/install | bash. On macOS there is also a Homebrew tap: brew install ImKKingshuk/tap/lockknife. Piping a remote script into bash is a normal convenience pattern and also a normal supply-chain question; the Homebrew route is the one that gives you a package manager's checksum and uninstall story, so it is the better default where it exists. Once installed, lockknife starts the TUI, lockknife --cli or lockknife --headless starts the headless mode, and lockknife interactive brings up the legacy menu. Beyond those flags the README does not document the CLI subcommand grammar, the config file format behind the c key, or where case data is stored. Those are exactly the details you need before scripting anything, and the README does not supply them. Treat the repository, not the README, as the source for module names and flags.

Where LockKnife overlaps with ALEAPP, MobSF, drozer, objection and Frida

The README's own comparison table is the most useful part of the documentation, because it states the gaps honestly. ALEAPP is described as strong at normalizing device dumps and backups into investigator-friendly reports, but without integrated runtime instrumentation, APK review, a live case workspace or an operator TUI. MobSF is APK and IPA focused with a web UI, and the README positions it as weaker on extraction, runtime and operator orchestration. drozer probes Android attack surface, exported components and IPC exposure, but is not a reporting or timeline platform. objection and the Frida CLI cover runtime hooks and raw instrumentation primitives without a case model or reporting pipeline. The difference in approach is real: those tools each do one slice well and leave the joining to you, while LockKnife's bet is that the joining is the expensive part. The corresponding risk is that a unified tool can be shallower than the specialists at any single step, and the README's table does not quantify depth. If your work is 90 percent Frida scripting, Frida CLI remains the direct route.

The case for caution: breadth claims, thin documentation and GPL-3.0

The README lists capabilities including AI-assisted analysis, cryptocurrency wallet forensics, threat intelligence enrichment, multi-device investigation and security auditing, but it does not document how any of them work, what they consume, or what they emit. The comparison table marks LockKnife as native for case workspace, artifact lineage and integrity, yet the mechanism behind lineage and integrity is not described. For a tool that presents itself as producing professional forensic reports, that is the documentation gap that matters most: integrity claims are exactly the claims a reviewer will challenge. Two further constraints are concrete. First, the licence is GPL-3.0, which means if you redistribute LockKnife or a modified version, or ship a product that incorporates it, the copyleft obligations travel with it; internal use in an investigation is a different situation from embedding it in a commercial offering, and this is a question for your own counsel rather than something the README resolves. Second, the README states that credential recovery and bruteforce are part of the toolkit. Running those against a device you do not own or lack written authorisation for is a legal problem regardless of licence. The tool does not gate that for you.

Maintenance, versioning and what to check before you commit

The version history is short and recent: v1.0.0 in March 2026, v1.1.0 in April 2026, with a README badge showing v1.0.1 and the last push in June 2026. The README points to a CHANGELOG.md for the end of the Bash line at v0.4.x, which implies the changelog is the place to look for what moved between 1.0.0 and 1.1.0; the release notes supplied do not describe the changes. That is a light release cadence on a young rewrite, and it means you should expect module behaviour to shift between minor versions. Upgrade cost is dominated by the Python and Rust split: a Python-only change is cheap to absorb, while anything touching the Rust primitives may require a rebuild, and the README does not describe how that is handled on upgrade. Before adopting, check the repository for the module inventory and mark which entries have real implementations, confirm the Rust build and distribution path for your target platform, and inspect the case storage and export format, since a workspace that cannot hand you its raw artifacts is a workspace you cannot audit.

Editorial conclusion

Adopt LockKnife if your work already spans several narrow Android tools and you want one case workspace with exportable results; skip it if you only need a single capability such as Frida scripting or an APK report, because a narrower tool will do that with less surface area. Before relying on it, verify three things against the repository: which modules are actually implemented versus listed, how the Rust core is built and shipped on your platform, and what the case storage and export format contain, since those determine whether output is usable as evidence.

Official sources

  1. ImKKingshuk/LockKnife on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes