我正在使用xdotool从密码管理器(pass)中安全地输入密码(而不是使用剪贴板),我想知道xdotool是否在某个地方有日志,这显然会使它不安全。
所以它有一个日志,或者其他人能看到的任何其他潜在的不安全?
作为参考,这是我正在使用的:
#!/usr/bin/env python3
import subprocess
import sys
from time import sleep
if len(sys.argv) == 2:
delay = int(sys.argv[1])
else:
delay = 3
data = sys.stdin.readline().rstrip('\n')
sleep(delay)
subprocess.call(['xdotool', 'type', '--clearmodifiers', data])发布于 2015-10-22 14:00:13
因此,据我所知,没有xdotool日志,但正如kasperd所指出的,使用密码作为参数运行xdotool显然是不安全的。但是我们可以通过管道传递密码,以避免它出现在ps aux的输出中。
echo -n "$pass" | xdotool type --clearmodifiers --file -默认情况下(在bash中),将使用回显的内置版本,它不会作为自己的进程执行,因此不会出现在ps中。如果您不确定将使用哪个版本,则可以运行builtin echo。
发布于 2017-09-06 06:05:31
与其使用Python的xdotool调用subprocess.call(),不如直接与xdotool:libxdo底层的库进行接口。
Python的绑定在python-libxdo中是可用的,并且允许您在Python内部“键入”密码,而不会在ps aux中出现,因为没有单独调用的进程。
https://unix.stackexchange.com/questions/237608
复制相似问题