Password-manager.el

Ultimamente mi era capitato di scrivere una piccola astrazione per utilizzare bitwarden tramite Emacs. In futuro voglio estendere il supporto anche a KeePass. Ho quindi deciso di pulire un minimo il codice e di pubblicarlo come progetto open-source. Segue il link alla repository:

Da notare che il codice è abbastanza recente, quindi non mi sento di dare grandi garanzie rispetto alla stabilità. Dovrei gestire meglio le eccezioni in caso e fare una serie di cose.

Se trovate bug o cose strane, aprite pure issue che quando ho tempo sistemo.

Il progetto mostra anche come poter utilizzare la libreria transient.el per creare piccole ma funzionali UI. Nello specifico, il flusso è:

  • SI effettua il login con bw/login
  • Si carica un item con bw/load-item
  • A questo punto si può selezionare di copiare lo username, la password o di selezionare un URI associato all’item con le funzioni bw/read-uris, bw/read-username, bw/read-password

Altre note particolari:

  • Ho deciso di non utilizzare il kill-ring per memorizzare le password, in quanto la considero una zona di memoria non adatta per salvare informazioni sensibili. Questo significa che le password copiate sono disponibili nella clipboard di X11, ma non tramite il kill-ring di Emacs.

  • Ci sono una serie di timeout che vanno ad eliminare i dati di sessione dopo una certa quantità di minuti passati. Questo sempre per minimizzare il tempo in cui dati sensibili sono accessibili nel file system.

  • Durante il login la password non viene passata dalla command line ma dallo STDIN del processo. Questo per evitare di lasciare informazioni sensibili.

In futuro cercherò di migliorarlo, se avete del feedback scrivete pure anche qui.

2 Likes

Bellissimo la testo subito, cosi vediamo se ha problemi con vaultwarden … un’altro tool di passwordche potresti integrare è gnu pass !!!

Per GNU pass c’è già auth-sources Emacs auth-source Library 0.3

Un po OT rispetto all’argomento ma in effetti mi sono sempre chiesto come si potesse migliorare questo aspetto di sicurezza rispetto a software di gestione della clipboard del tipo parcellita o nel caso la tua implementazione per bitwarden