A performant, secure, and cross-platform command-line password manager. Implemented in C++ and C with tiny-AES-c, superlumic allows you to create, save, dump (to csv), and load encrypted password lists. Once loaded, you can create, read, update, delete, and reorder the passwords in each password list. The lists themselves are later encrypted with AES-256 (CTR mode) and a user-provided password which is run through HKDF.
An example encrypted password file can be found at encrypted.txt. The password is password
.
$ git clone git@github.com:slightlyskepticalpotat/superlumic.git
$ cd superlumic
$ make
g++ *.hpp
g++ -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2 *.cpp -o superlumic -Wl,-z,now -Wl,-z,relro
$ ./superlumic --help
Usage: ./superlumic [password file]
$ ./superlumic
The makefile specifies the same flags that Hardened Gentoo uses. Below are some of the compiler instructions:
Position Independent Executable: yes
Stack protected: yes
Read-only relocations: yes
Immediate binding: yes
Control flow integrity: yes
The build process should also be reasonably deterministic. On g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
:
$ sha256sum superlumic
7e03e6395074482e9eeb221389e2d2e95ee25e7ff85990587622fa06a1120359 superlumic