
Sandbox-Ausführungsumgebung
:Source: https://github.com/F-Secure/see :Documentation: https://see.readthedocs.io :Download: https://pypi.python.org/pypi/python-see
|travis badge| |docs badge|
.. |travis badge| image:: https://travis-ci.org/F-Secure/see.svg?branch=master :target: https://travis-ci.org/F-Secure/see :alt: Build Status .. |docs badge| image:: https://readthedocs.org/projects/see/badge/?version=latest :target: http://see.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
Die geschützte Ausführungsumgebung (Sandboxed Execution Environment, SEE) ist ein Framework zur Erstellung von Testautomatisierung in gesicherten Umgebungen.
Die über libvirt bereitgestellten Sandboxen sind anpassbar und bieten ein hohes Maß an Flexibilität. Es können verschiedene Hypervisoren (Qemu, VirtualBox, LXC) eingesetzt werden, um die Testumgebungen auszuführen.
Plugins können zu einer Testumgebung hinzugefügt werden, die einen Ereignismechanismus zur Synchronisation ihrer Interaktion bereitstellt. Benutzer können die Plugins über eine JSON-Konfigurationsdatei aktivieren und konfigurieren.
SEE ist für die Automatisierung von Tests gegen unbekannte, gefährliche oder instabile Software konzipiert, wobei deren Aktivität während der Ausführung verfolgt wird.
SEE eignet sich gut zum Erstellen modularer Testplattformen oder zur Verwaltung von ausführbarem Code mit einem guten Maß an Isolation.
SEE ermöglicht das Schreiben von Sandbox-Tests sowohl für schnelles Prototyping als auch für den Einsatz in der Produktionsumgebung.
SEE ist als Python-Paket im Python Package Index (PyPI) verfügbar.
Es liegt in der Verantwortung des Benutzers, die Hypervisoren zu installieren und einzurichten, die mit SEE gesteuert werden sollen, sowie die möglichen Abhängigkeiten und Subsysteme, die von den ausgewählten Image-Anbietern verwendet werden.
Bitte lesen Sie die Dokumentation, um zu erfahren, wie jeder Hypervisor eingerichtet und konfiguriert wird.
SEE baut auf den APIs von libvirt auf, daher können alle von libvirt unterstützten Hypervisoren über SEE gesteuert werden.
SEE bietet grundlegende Unterstützung für QEMU, VirtualBox und LXC. Um weitere Hypervisoren hinzuzufügen oder die grundlegenden anzupassen, sehen Sie sich den Code in see/context an.
SEE verwendet ein System von steckbaren Anbietern, um Datenträgerimages aus beliebigen Quellen abzurufen und SEE zur Verfügung zu stellen.
SEE enthält Anbieter für LibVirt-Speicherpools <https://libvirt.org/storage.html>_ und OpenStack Glance <https://docs.openstack.org/developer/glance/>_ sowie eine Dummy-Provider-Implementierung. Um weitere Anbieter hinzuzufügen, sehen Sie sich den Code in see/image_providers an.
SEE ist ein ereignisgesteuerter, plugin-basierter Sandbox-Anbieter für synchrone und asynchrone Testablaufsteuerung.
::
+----------+
| |
+-------| SEE Hook |
| | |
| +----------+
+---------+-------+ +---------+ | +----------+
| | | | | | |
User -------> | SEE Environment |-------| Sandbox |-------+-------| SEE Hook |
| | | | | | |
+-----------------+ +---------+ | +----------+
| +----------+
| | |
+-------| SEE Hook |
| |
+----------+
Eine SEE-Umgebung kapselt alle erforderlichen Ressourcen und fungiert als Handler für den Benutzer. Die Sandbox wird von den Hooks gesteuert, die als Plugins agieren. Hooks kommunizieren und koordinieren sich über Events.
Jeder Hook hat direkten Zugriff auf die Sandbox, die eine einfache API zur Steuerung sowie libvirt-APIs für eine feinere Kontrolle bereitstellt.
Libvirt-Projektseite.
Präsentation auf der PyCon Finnland 2015.