0

我在 Windows 上通过 osqueryi 和/或 osqueryd 使用 OSQuery。

我已经编写了一些 Python 扩展(表),并尝试使用 virtualenv 来运行这些 Python 扩展。

当我从命令行分别运行 osqueryi.exe 和 python 扩展时,扩展加载正常,我可以查询我的 python 表。在这种情况下,我使用 virtualenv ok。

当我使用 extensions.load 时,我的 Python 扩展和

osquery.flags 有下一个内容

--disable_extensions=false
--config_path=C:\ProgramData\osquery\osquery.conf
--config_plugin=filesystem
--logger_plugin=filesystem
--logger_path=C:\ProgramData\osquery\log
--extensions_autoload=C:\ProgramData\osquery\extensions.load

在这种情况下,osqueryi.exe 显示下一个错误

Traceback (most recent call last):
  File "C:\ProgramData\osquery\extensions\my_table.ext", line 3, in <module>
    import osquery
ImportError: No module named osquery

首先,我激活我的 virtualenv,然后我使用这个 osquery.flags 文件运行 osqueryi.exe

在这两种情况下,我都使用了相同的 virtualenv 环境,并通过 pip 安装了外部模块。

如何配置 OSquery 以将 virtualenv 与 Python 扩展一起使用。

谢谢

4

1 回答 1

0

我已经解决了这个问题。查看源代码,我看到了一个名为 OSQUERY_PYTHON_PATH 的环境变量

在 Windows 中,你应该运行这样的东西

set OSQUERY_PYTHON_PATH=<path to python.exe in virtualenv>
于 2018-06-13T12:49:05.560 回答