Con frecuencia uso el comando do shell script
en AppleScript (AS) para devolver información, incluido el texto cifrado.
Uno de estos ejemplos es:
set encrypted to (do shell script "echo 'my secret text' | openssl enc -aes-256-cbc -a -pass pass:Pass123")
Si se ejecuta en la Terminal, este comando se registra en el historial y se puede ver escribiendo: history
, luego presionando la tecla Volver .
Problema: El ejemplo anterior incluye la contraseña de texto sin formato como un parámetro, y se muestra en el historial (cuando se ejecuta en la Terminal), desde donde puede copiarse fácilmente y usarse para revertir la cadena cifrada, sin necesidad de conocimiento.
El comando log do shell script "history"
de AppleScript no devuelve datos. Del mismo modo, ejecutar el comando history
en el terminal: después de que el cifrado de ejemplo se ejecutó a través de AS, tampoco muestra el comando de terminal AS en este historial. Con todo, me lleva a creer que el comando AS se ejecutó obviamente a través de un shell diferente. Sabiendo que el shell es diferente para cada usuario (es decir, mi cuenta no puede ver el historial del terminal de otra cuenta), la pregunta que sigue es la siguiente.
Pregunta: ¿Significa eso que no hay registro del comando AS en ninguna de las historias y registros guardados por macOS en ningún momento? ¿O está enterrado en un lugar accesible donde se puede leer, interpretar y, por tanto, revertir el cifrado?
Aunque tal vez sea sugerente y esté abierto a la opinión, creo que está dentro del ámbito de las preguntas. Me interesa la respuesta desde un punto de vista de seguridad y espero obtener una imagen más clara de si / cómo / dónde el terminal registra los comandos de AS, como lo hace Terminal con el historial .
Gracias a todos.