J'utilise fréquemment le do shell script
dans AppleScript (AS) pour renvoyer certaines informations, y compris du texte crypté.
En voici un exemple :
set encrypted to (do shell script "echo 'my secret text' | openssl enc -aes-256-cbc -a -pass pass:Pass123")
Si elle est exécutée dans Terminal, cette commande est enregistrée dans l'historique et peut être consultée en tapant : history
puis en appuyant sur la touche Retour clé.
Problème : L'exemple ci-dessus inclut le mot de passe en texte clair comme paramètre, et il apparaît dans l'historique (lorsqu'il est exécuté dans Terminal), d'où il peut facilement être copié et utilisé pour inverser la chaîne cryptée, sans aucune connaissance requise.
La fonction log do shell script "history"
ne renvoie aucune donnée. De même, l'exécution de la commande history
dans le terminal - après que l'exemple de chiffrement a été exécuté par AS, il n'affiche pas non plus la commande AS terminal dans cet historique. Dans l'ensemble, cela m'amène à penser que la commande AS a manifestement été exécutée à travers un shell différent. Sachant que le shell diffère pour chaque utilisateur (c'est-à-dire que mon compte ne peut pas voir l'historique du terminal d'un autre compte), la question suivante se pose.
Question : Cela signifie-t-il qu'il n'y a aucune trace de la commande AS dans les historiques et les journaux conservés par MacOS à quelque moment que ce soit ? Ou bien est-elle enfouie dans un endroit accessible où elle peut être lue, interprétée et où le cryptage peut être inversé ?
Bien qu'elle puisse donner à réfléchir et qu'elle soit ouverte à l'opinion, je pense qu'elle fait partie du domaine des questions auxquelles il est possible de répondre. Je suis intéressé par la réponse du point de vue de la sécurité et j'espère avoir une image plus claire de si / comment / où terminal enregistre les commandes AS - comme Terminal le fait avec la commande l'histoire .
Merci à tous.