Skip to content

Ark is a secure, command-line password manager that encrypts sensitive data using AES-GCM. It features key management, PBKDF2, secure file operations, backups, and clipboard integration. With strict access controls, constant-time comparisons, and memory safety, Ark prioritizes security. MIT licensed.

License

Notifications You must be signed in to change notification settings

dev-mohitbeniwal/ark

Repository files navigation

Build Status

CLI Tests codecov

Storage Tests codecov

Crypto Tests codecov

Utils Tests codecov

Ark

Ark is a secure, command-line based password and sensitive information manager designed for developers and security-conscious users. It provides a robust, encrypted storage solution for your sensitive data, right on your local machine.

Features

  • Strong Encryption: Uses AES-GCM for authenticated encryption, providing both confidentiality and integrity.
  • Secure Key Management: Implements key encryption key (KEK) for added security.
  • Password-Based Key Derivation: Utilizes PBKDF2 with a high iteration count for deriving keys from passwords.
  • Ark Locking: Automatically locks the ark after a period of inactivity.
  • Secure File Operations: Implements secure deletion and permission management for ark files.
  • Backup and Restore: Allows users to create and restore backups of their ark.
  • Key Rotation: Supports rotating encryption keys for enhanced security.
  • Clipboard Integration: Copies retrieved passwords to clipboard for convenience.

Security Measures

  • Implements strict access controls on ark files and directories.
  • Uses constant-time comparison for password verification to prevent timing attacks.
  • Securely overwrites memory to prevent sensitive data leakage.
  • Disables core dumps to prevent unintended exposure of sensitive information.
  • Implements integrity checks to detect tampering with ark files.
  • Provides protection against concurrent access attempts.

Installation

pip install ark

Usage

Initialize the Ark

ark init

###Add a new entry

ark add <key> <value>

Retrieve a value

ark get <key>

List all entries

ark list

Delete an entry

ark delete <key>

Change master password

ark change-password

Create a backup

ark backup <backup_path>

Restore from a backup

ark restore <backup_path>

Destroy the ark

ark destroy

Development

To set up the development environment:

Clone the repository:

git clone https://github.com/yourusername/ark.git
cd ark

Create a virtual environment:

python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`

Install dependencies:

pip install -r requirements.txt

Run tests:

pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

While Ark implements various security measures, no system is 100% secure. Use at your own risk and always follow best practices for password management and system security.

About

Ark is a secure, command-line password manager that encrypts sensitive data using AES-GCM. It features key management, PBKDF2, secure file operations, backups, and clipboard integration. With strict access controls, constant-time comparisons, and memory safety, Ark prioritizes security. MIT licensed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages