varc 从系统中收集易失性数据的快照。 它告诉你系统上正在发生什么,在调查安全事件时尤其有用。
它创建一个 zip 文件,其中包含用于了解系统上正在发生的多种不同数据:
我们已在以下环境中成功执行:
请查看 "Releases" 标签下的示例捕获,看看一些疯狂的数据! 下面的屏幕录制显示了从 Docker 容器(左)收集的进程,以及从内部运行并部署了 Xmrig 的 AWS Lambda 函数(右)的输出:

根据易失性顺序,我们在收集任何其他数据之前先收集进程内存。请注意,varc 以及在系统内部运行的任何其他工具都会影响系统的内存。
你可以在 Releases 标签下找到 Windows、Linux 和 OSX 的编译二进制文件。 直接执行即可创建包含输出的 zip 文件。 要访问某些数据,你需要以提升的权限运行(例如 Linux 上的 sudo 或 root)。
usage: varc [-h] [--skip-memory] [--skip-open] [--dump-extract] ...
optional arguments:
-h, --help show this help message and exit
--skip-memory Skip collecting process memory, which can be slow
--skip-open Skip collecting open files, which can be slow
--dump-extract Extract process memory dumps, which can be slow
通过 pip 安装:
pip3 install varc
或者,克隆此仓库,然后通过以下方式安装:
python3 setup.py install
然后调用:
from varc import acquire_system
output_file_path = acquire_system().zip_path
varc 极大地简化了易失性数据的获取和分析。 虽然它可以手动按需使用,但它非常适合在安全检测时自动部署。 varc 的输出设计为易于被其他工具消费,尽可能采用标准 JSON 格式。
一个典型的流程可能是:
OSX 目前不支持进程内存收集。
如果你在没有启用 Ptrace 内核能力的 Linux 系统上运行 varc,你将得到空的内存文件。 你仍然会得到详细的系统输出。
例如,在我们的测试中:
所有数据都以开放、非专有格式保存,以便其他社区工具可以轻松处理。
我们的免费工具 Cado Community Edition 可以轻松解析此 zip 文件,并按预期显示 JSON 数据表。
我们的商业工具 Cado Response 还允许你通过 Cado Host 自动捕获系统的静态和易失性数据。通过使用 API,你可以自动调查并响应来自第三方工具(如 SentinelOne 等 EDR 或 GuardDuty 等云检测工具)的告警。
以下是一个 Lambda 函数运行 xmrig 时的 varc 输出示例,在 Cado Community Edition 中查看:

本项目采用 GPL 许可证。如果这对你的用例不适用,请与我们联系——我们可能能够提供替代的非版权向左许可,例如 Apache 许可证。我们很友好! 由于本软件采用 GPL 许可证并用于我们的商业产品,我们要求任何贡献者签署一份简单的贡献者许可协议(CLA)。
我们非常欢迎任何 Pull Request 或 Bug 报告!