沙盒执行环境
python-see的Python项目详细描述
Source: | https://github.com/F-Secure/see |
---|---|
Documentation: | https://see.readthedocs.io |
Download: | https://pypi.python.org/pypi/python-see |
简介
沙盒执行环境(请参阅)是用于在安全环境中构建测试自动化的框架。
通过可定制性提供的可定制性允许高度的灵活性。可以使用不同类型的管理程序(qemu、virtualbox、lxc)来运行测试环境。插件可以添加到测试环境中,该环境为它们的交互提供事件机制同步。用户可以通过json配置文件启用和配置插件。
观众
see用于自动测试未知、危险或不稳定的软件,在执行期间跟踪其活动。
see非常适合于构建模块化测试平台或管理具有良好隔离度的可执行代码。
请参阅允许编写沙盒测试,以便快速原型设计和在生产环境中运行。
安装
请参阅python包索引(pypi)上的可用python包。
用户有责任安装和设置要用see控制的管理程序,以及所选映像提供程序使用的可能的依赖项和子系统。
请参阅文档以了解如何设置和配置每个虚拟机监控程序。
支持的虚拟机监控程序
see是在libvirt的api之上构建的,因此libvirt支持的所有hypervisor都可以通过see进行控制。
see附带了对qemu、virtualbox和lxc的基本支持,要添加更多hypervisor或自定义基本hypervisor,请参见see/context中包含的代码。
图像提供程序
see使用可插入提供程序系统从任意源检索磁盘映像并使其可供查看。
请参阅捆绑提供程序以获取LibVirt storage pools和OpenStack Glance以及虚拟提供程序实现,若要添加更多提供程序,请参阅see/image\u providers中包含的代码。
原理
see是用于同步和异步测试流控制的事件驱动、基于插件的沙盒提供程序。
+----------+ | | +-------| SEE Hook | | | | | +----------+ +---------+-------+ +---------+ | +----------+ | | | | | | | User -------> | SEE Environment |-------| Sandbox |-------+-------| SEE Hook | | | | | | | | +-----------------+ +---------+ | +----------+ | +----------+ | | | +-------| SEE Hook | | | +----------+
see环境封装了作为用户处理程序的所有必需资源。沙箱由充当插件的钩子控制,钩子通过事件进行通信和协调。
每个钩子都可以直接访问沙箱,沙箱为它的控件公开了一个简单的api,而libvirt为更细粒度的控件公开了api。