具体来说,我问的是Pythonprint
函数的安全性。我有一个 python 脚本,可以生成密码,并在退出之前使用 .printout 将密码打印到终端的输出print()
。我对此的安全性有一些疑问:
非特权进程(在用户空间中运行的进程)可以通过以下方式访问输出:
读取终端屏幕的内容或 GUI?根据我有限的研究(1,2)这似乎在使用 X windows 系统的系统中是可能的,但在 Wayland 中不行。
读入文件描述符或通过某种类似的方法?我试过
cat /dev/pts/14
和tail -f /proc/<pid>/fd/1
,但根据我的实验,它们都不起作用,我不确定为什么。读入终端输出日志或存储在某处的一些输出历史记录(当我没有故意安装/激活任何此类东西时)?
读取已释放进程的内存位置?即,当我的 python 脚本完成运行时,它是否会将密码的值留在进程运行时存储的内存块中?
通过读取 Python 打印的特定日志?
通过其他方法?