Aller au contenu

Protections et limites

Ce que protège ShellEasy, contre qui, et où la protection s’arrête. Cette page résume en termes simples le modèle de menace du projet ; quand un point n’est pas vérifié, nous le disons.

État : pré-alpha, version 0.1.0. Chiffrement reposant sur des primitives standard et des choix documentés, non vérifié par des tiers.

Ce qu’elle protège

Identifiants
Les clés privées, les phrases secrètes et les mots de passe des serveurs sont chiffrés deux fois : dans une base de données chiffrée et, un par un, avec un chiffrement dédié lié à chaque enregistrement.
Liste des hôtes
Hôtes, noms d’utilisateur, dossiers, tags, snippets et règles des tunnels se trouvent dans la base de données chiffrée, pas seulement les mots de passe.
Clés des serveurs
À la première connexion, vous comparez l’empreinte du serveur. Si la clé change ensuite, la connexion est bloquée et ne peut pas être acceptée à la volée.
Interface
L’interface de l’app ne reçoit jamais les secrets : seul le code qui ouvre la connexion les voit.
Aucun service de notre part
Aucun compte, aucune télémétrie, aucune mise à jour automatique. Les seules connexions sortantes vont vers les serveurs que vous ouvrez et, uniquement si vous l’activez, vers le serveur de l’assistant IA.

Contre qui elle protège

Le scénario principal est celui de quelqu’un qui obtient les fichiers de l’app sans le mot de passe maître. Par exemple :

Ordinateur volé ou perdu
Aussi une sauvegarde copiée (Time Machine, cloud, disque externe), un autre utilisateur du même ordinateur ou un programme qui lit les fichiers sans connaître le mot de passe.
Un serveur hostile
Noms de fichiers malveillants, sortie avec séquences spéciales, clés qui changent : les noms dangereux sont écartés avant d’écrire sur votre disque.
Un fichier conçu pour nuire
Un fichier .shelleasy ou un ~/.ssh/config construit pour causer des dégâts : l’importation affiche un aperçu, fait une copie de sécurité et n’exécute jamais rien (ProxyCommand n’est pas pris en charge).
Une autre machine du réseau
Les tunnels n’écoutent par défaut que sur 127.0.0.1 ; si vous choisissez une adresse accessible depuis le réseau, l’app vous avertit.
Un ordinateur laissé déverrouillé
Atténué par le verrouillage automatique après 15 minutes d’inactivité.

Ce qu’elle ne protège pas

Un ordinateur déverrouillé et compromis
Si quelqu’un contrôle l’ordinateur pendant que le coffre est déverrouillé, il peut lire la mémoire, enregistrer le clavier ou demander à l’app d’exporter. Aucun coffre local n’y résiste.
Un système compromis
Un système d’exploitation ou un firmware compromis sont hors du périmètre.
Un mot de passe faible
Qui a les fichiers peut essayer des mots de passe hors ligne : chaque essai est coûteux, mais un mot de passe faible reste faible. Le mot de passe maître n’est pas récupérable : si vous le perdez, les données sont perdues. C’est pourquoi un export est conseillé.
Sessions et tunnels déjà ouverts
Ils restent actifs après le verrouillage du coffre : pour les fermer, vous devez fermer les sessions ou l’app.
La mémoire
Des copies des secrets peuvent rester en mémoire, dans le swap ou dans un fichier d’hibernation, même après le verrouillage.
Ce qui transite dans les sessions
La sortie du terminal, les fichiers transférés et le presse-papiers ne sont pas chiffrés au repos et dépendent de votre ordinateur et du serveur.
Les exports .shelleasy
Ils sont protégés par leur mot de passe pendant toute leur durée de vie : conservez-les comme vous conserveriez vos clés.
La restauration de copies anciennes
Qui remplace la base de données par une copie antérieure obtient des données anciennes, et l’app ne s’en aperçoit pas. Si vous soupçonnez que le mot de passe a été compromis, le changer ne suffit pas : créez un nouveau coffre avec un nouveau mot de passe et importez un export.

Ce qui reste visible pour qui a les fichiers

Qui a les fichiers mais pas le mot de passe ne lit pas les données, mais peut voir :

Le dossier des données
Qu’un dossier ShellEasy existe, les noms de ses fichiers, leur taille et leurs dates de modification.
Les paramètres du coffre
Le sel et les coûts de la dérivation de clé : ce ne sont pas des secrets, mais ils indiquent combien coûte un essai.
Les différences entre deux copies
Avec deux copies de la base de données, on voit quels blocs ont changé, pas ce qu’ils contiennent.
Hors du coffre
Selon le système : dossiers récents, historique du shell local et fichiers temporaires de la modification à distance tant qu’ils sont ouverts.

Assistant IA, facultatif

Il est désactivé par défaut et n’inclut aucun modèle : vous connectez Ollama, LM Studio ou llama.cpp. Par défaut, le texte ne va que vers votre ordinateur ; un serveur non local demande une confirmation explicite.

Chaque requête passe par un aperçu : le texte affiché est celui qui part, vers la destination affichée. Un filtre masque les clés privées, jetons et mots de passe connus, mais il ne peut pas tout reconnaître : il ne voit pas un mot de passe écrit en clair sans nom qui le révèle, ni les informations sensibles qui ne sont pas des secrets, comme les noms d’hôtes et les chemins.

La commande proposée n’est jamais exécutée : elle s’insère dans le prompt et c’est vous qui la lancez. L’explication peut être trompeuse et la commande dangereuse ; lisez donc avant d’appuyer sur Entrée.

Ce qui n’est pas encore vérifié

Versions signées
Les paquets pour macOS et Windows ne sont pas encore signés.
Autres plateformes
Le déverrouillage par empreinte est prévu pour macOS ; Windows Hello et Linux ne sont pas encore implémentés. Le comportement sur de vrais Windows et Linux reste à tester.
Assistant IA
Testé avec un serveur simulé, pas encore avec de vrais Ollama, LM Studio et llama.cpp.
Fenêtre de l’app
Il manque une Content-Security-Policy : ce serait une défense supplémentaire, pas la correction d’un problème connu.
Revue externe
Recommandée avant la version 1.0 et avant de conseiller l’app pour des identifiants de production. Elle n’a pas encore été faite.

Signalement coordonné des vulnérabilités

Écrivez à security@shelleasy.app avec la version, le système d’exploitation, la reproduction et l’impact. N’envoyez pas de secrets ou données de tiers inutiles. Testez uniquement sur des systèmes et données autorisés ; arrêtez si vous risquez des dommages ou impliquez des tiers. Sont exclus le déni de service, l’ingénierie sociale et les accès dépassant le nécessaire.

Pour les recherches de bonne foi respectant ces conditions, APDSoftware s’engage à ne pas engager d’action en justice fondée exclusivement sur les recherches et signalements ainsi effectués. Cet engagement ne lie ni tiers ni autorités et n’autorise pas l’accès à leurs systèmes. Nous visons une réponse sous 5 jours ouvrés et un premier point sous 15 jours ouvrés ; ce ne sont pas des délais de correction garantis. Nous coordonnons la divulgation selon les risques et obligations légales. Aucune rémunération n’est prévue ; toute reconnaissance publique nécessite votre accord. Les données du signalement relèvent de la notice de confidentialité.

Lire le modèle de menace complet →