1
0
Fork
You've already forked kdbx-hunter
0
Command line utility to search KeePass databases.
  • Rust 100%
Matsuri 8af2b6f96c
Add handling for corrupt databases
A simple (and very flawed) implementation that just looks for "Unpad
Error" derived from the DatabaseIntegrityError that is thrown when we
have a corrupt database file.
I want to improve the handling of errors and logic when handling one or
more files.
Ultimately I want to improve the handling so I can better derive from
the original error (e.g. if type is any subset of DatabaseIntegrityError
we know it's a corruption issue).
2026年01月25日 19:34:24 -07:00
src Add handling for corrupt databases 2026年01月25日 19:34:24 -07:00
.gitignore Initial submit for kdbx-hunter 2026年01月11日 20:03:33 -07:00
Cargo.lock Adds regex to Cargo.toml 2026年01月25日 18:54:17 -07:00
Cargo.toml Adds regex to Cargo.toml 2026年01月25日 18:54:17 -07:00
CONTRIBUTING.md Initial submit for kdbx-hunter 2026年01月11日 20:03:33 -07:00
LICENSE.md Initial submit for kdbx-hunter 2026年01月11日 20:03:33 -07:00
README.md Add handling for corrupt databases 2026年01月25日 19:34:24 -07:00

kdbx-hunter

If you're like me, you may randomly stumble upon passwords you scribbled on postit notes that you're sure you input into a password manager, but don't have context as to what it's for.

kdbx-hunter is a utility that helps you to hunt through one or more Keepass Database (KDBX) files looking for specific strings.

Features

  • Allows for the ability to search through one or more KDBXs with the ability to recycle passwords.
  • Allows for the ability to search through all fields within an entry and its history.

Installation

git clone https://codeberg.org/signus/kdbx_hunter && cd kdbx_hunter
cargo build

Usage

Usage: kdbx-hunter [OPTIONS] --search <SEARCH>
Options:
 -f, --file <FILE> Path of the KeePass Database (KDBX) file to unlock
 -d, --directory <DIRECTORY> Directory path to look for KeePass Databases (KBDX)
 -k, --keyfile <KEYFILE> Path to keyfile used for decryption
 -r, --recycle Whether to use the same password for all databases
 -i, --search-history Determine if we should search the history for our search phrase
 -s, --search <SEARCH> Search string or regex to use to search databases for
 -h, --help Print help
 -V, --version Print version

NOTE: The keyfile argument does not currently get utilized.

Contributing

See CONTRIBUTING.md.

TODO

  • Add regex pattern search options.
  • Add handling of more error types and improve error handling structure.
  • Add verbose flag with debug printing.
  • Add support for keyfiles with the ability to reuse.
  • Test ability to filter search by Group, Key (e.g. Title, URL) (for limiting scope of search).
  • Test memory context of search (whether passwords are leaked in a memory dump).
  • Add ability to search Value::Bytes (likely for attachments).
  • Worthwhile to search entries for leaked passwords?
  • Add support for cargo binstall (publish to crates.io).
  • Add unit tests and resource files.

Disclaimer

This tool was created to help users evaluate items stored in Keepass databases they rightfully own and control and is not intended for malicious use.