Kagisora is a simple and lightweight password manager built with Rust. It uses modern encryption techniques to securely store passwords, but it is not meant to be taken seriously as an enterprise-grade password management solution.
- Add, retrieve, and remove password entries stored securely using AES-256-GCM encryption.
- Password-based key derivation using Argon2 for secure password hashing.
- Interactive shell mode for easier management of stored passwords.
- Salt and hash storage for validating the master password.
- SQLite-based storage for password entries.
- Rust programming language installed on your system.
- SQLite3 library installed on your system.
-
Clone the repository:
git clone <repository-url> cd kagisora
-
Build the project:
cargo build --release
-
Run Kagisora:
cargo run
Kagisora provides both command-line options and an interactive shell mode for managing your passwords.
-
Add a new password entry:
cargo run -- add <service> <username> <password>
Example:
cargo run -- add example.com user123 my_secure_password
-
Retrieve a password entry:
cargo run -- get <service>
Example:
cargo run -- get example.com
-
Remove a password entry:
cargo run -- remove <service>
Example:
cargo run -- remove example.com
-
Start the interactive shell:
cargo run -- interactive
To enter the interactive shell, run:
cargo run -- interactive
The interactive shell allows you to use the following commands:
add <service> <username> <password>
- Add a new password entry.get <service>
- Retrieve a password entry.remove <service>
- Remove a password entry.list
- List all stored services.help
- Show the list of commands.exit
orquit
- Exit the interactive shell.
Kagisora uses the following security measures:
- AES-256-GCM for encrypting stored password entries.
- Argon2 for deriving a secure key from the master password using a salt.
- Password entries are stored in an SQLite database named
kagisora.db
, and salt/hash information is stored inkagisora.dat
.
Kagisora is a fun, lightweight project and is not meant to be used as a serious security solution. It lacks many features of established password managers, such as secure storage for the database, backup strategies, auditing, and advanced access controls.
Feel free to fork this project and improve it. If you encounter any issues or have suggestions for new features, please open an issue.
Some potential improvements could include:
- Integration with more secure storage methods.
- Implementation of automatic backups and recovery mechanisms.
- Support for multi-factor authentication (MFA).
This project is licensed under the MIT License.