Protezioni e limiti
Che cosa protegge ShellEasy, da chi, e dove la protezione finisce. Questa pagina riassume in parole semplici il modello delle minacce del progetto; dove una cosa non è verificata, lo diciamo.
Stato: pre-alpha, versione 0.1.0. Crittografia con primitive standard e scelte documentate, non verificata da terzi.
Che cosa protegge
- Credenziali
- Chiavi private, passphrase e password dei server sono cifrate due volte: dentro un database cifrato e, una per una, con una cifratura dedicata legata al singolo record.
- Elenco degli host
- Host, nomi utente, cartelle, tag, snippet e regole dei tunnel stanno nel database cifrato, non solo le password.
- Chiavi dei server
- Alla prima connessione confronti l'impronta del server. Se in seguito la chiave cambia, la connessione viene bloccata e non si può accettare al volo.
- Interfaccia
- L'interfaccia dell'app non riceve mai i segreti: li vede solo il codice che apre la connessione.
- Nessun servizio nostro
- Nessun account, nessuna telemetria, nessun aggiornamento automatico. Le uniche connessioni in uscita sono verso i server che apri e, solo se la attivi, verso il server dell'assistente AI.
Da chi protegge
Lo scenario principale è chi ottiene i file dell'app senza la Master Password. Per esempio:
- Computer rubato o smarrito
- Anche un backup copiato (Time Machine, cloud, disco esterno), un altro utente dello stesso computer o un programma che legge i file ma non conosce la password.
- Un server ostile
- Nomi di file maligni, output con sequenze speciali, chiavi che cambiano: i nomi pericolosi vengono scartati prima di scrivere sul tuo disco.
- Un file preparato ad arte
- Un file .shelleasy o un ~/.ssh/config costruito per far danni: l'importazione mostra un'anteprima, fa una copia di sicurezza e non esegue mai niente (ProxyCommand non è supportato).
- Un'altra macchina della rete
- I tunnel ascoltano di serie solo su 127.0.0.1; se scegli un indirizzo raggiungibile dalla rete l'app avvisa.
- Un computer lasciato sbloccato
- Mitigato dal blocco automatico dopo 15 minuti di inattività.
Che cosa non protegge
- Un computer sbloccato e compromesso
- Se qualcuno controlla il computer mentre il vault è sbloccato, può leggere la memoria, registrare la tastiera o chiedere all'app di esportare. Nessun vault locale resiste a questo.
- Un sistema compromesso
- Un sistema operativo o un firmware compromessi stanno fuori dal perimetro.
- Una password debole
- Chi ha i file può provare le password offline: ogni tentativo è costoso, ma una password debole resta debole. La Master Password non è recuperabile: se la perdi, i dati sono persi. Per questo conviene un export.
- Sessioni e tunnel già aperti
- Restano attivi dopo il blocco del vault: per chiuderli devi chiudere le sessioni o l'app.
- La memoria
- Copie dei segreti possono restare in memoria, nello swap o in un file di ibernazione anche dopo il blocco.
- Ciò che passa nelle sessioni
- Output del terminale, file trasferiti e appunti non sono cifrati a riposo e dipendono dal tuo computer e dal server.
- Gli export .shelleasy
- Sono protetti dalla loro password per tutta la loro vita: conservali come conserveresti le chiavi.
- Il ripristino di copie vecchie
- Chi sostituisce il database con una copia precedente ottiene dati vecchi e l'app non se ne accorge. Se sospetti che la password sia stata compromessa, cambiarla non basta: crea un nuovo vault con una password nuova e importa un export.
Che cosa resta visibile a chi ha i file
Chi ha i file ma non la password non legge i dati, ma può vedere:
- La cartella dei dati
- Che esiste una cartella di ShellEasy, i nomi dei suoi file, le loro dimensioni e le date di modifica.
- I parametri del vault
- Salt e costi della derivazione della chiave: non sono segreti, ma dicono quanto costa un tentativo.
- Le differenze tra due copie
- Con due copie del database si vede quali blocchi sono cambiati, non che cosa contengono.
- Fuori dal vault
- A seconda del sistema: cartelle recenti, cronologia della shell locale e file temporanei della modifica remota finché sono aperti.
Assistente AI, facoltativo
È spento di serie e non include nessun modello: colleghi Ollama, LM Studio o llama.cpp. Di serie il testo va solo al tuo computer; un server non locale richiede una conferma esplicita.
Ogni richiesta passa da un'anteprima: il testo mostrato è quello che parte, verso la destinazione mostrata. Un filtro oscura chiavi private, token e password note, ma non può riconoscere tutto: non vede una password scritta in chiaro senza un nome che la riveli, né informazioni sensibili che non sono segreti, come nomi di host e percorsi.
Il comando proposto non viene mai eseguito: si inserisce nel prompt e lo lanci tu. La spiegazione può essere fuorviante e il comando dannoso, quindi leggi prima di premere Invio.
Che cosa non è ancora verificato
- Build firmate
- I pacchetti per macOS e Windows non sono ancora firmati.
- Altre piattaforme
- Lo sblocco con impronta è pensato per macOS; Windows Hello e Linux non sono ancora implementati. Il comportamento su Windows e Linux reali va ancora provato.
- Assistente AI
- È provato con un server simulato, non ancora con Ollama, LM Studio e llama.cpp reali.
- Finestra dell'app
- Manca una Content-Security-Policy: sarebbe una difesa in più, non la correzione di un problema noto.
- Revisione esterna
- Raccomandata prima della versione 1.0 e prima di consigliare l'app per credenziali di produzione. Non è ancora stata fatta.
Segnalazione coordinata delle vulnerabilità
Scrivi a security@shelleasy.app indicando versione, sistema operativo, riproduzione e impatto. Non inviare segreti o dati di terzi non necessari. Prova solo su sistemi e dati autorizzati; fermati se rischi danni o coinvolgi terzi. Sono esclusi negazione del servizio, ingegneria sociale e accessi oltre quanto necessario.
Per ricerche in buona fede rispettose di queste condizioni, APDSoftware si impegna a non promuovere azioni legali fondate esclusivamente sulla ricerca e segnalazione così condotta. Non vincola terzi o autorità e non autorizza accessi ai loro sistemi. Puntiamo a rispondere entro 5 giorni lavorativi e a dare un primo aggiornamento entro 15; non sono tempi garantiti di correzione. Coordiniamo la divulgazione secondo rischio e obblighi di legge. Non è previsto compenso; un riconoscimento pubblico richiede il tuo accordo. I dati della segnalazione seguono l’informativa privacy.