from abc import ABC, abstractmethod
import logging
class BaseSandbox(ABC):
def __init__(self, sandbox_id: str, platform: str):
self.sandbox_id = sandbox_id
self.platform = platform
self.is_running = False
self.telemetry = {}
logging.basicConfig(level=logging.INFO)
self.logger = logging.getLogger(f"Sandbox-{self.sandbox_id}")
@abstractmethod
def provision(self) -> bool:
pass
@abstractmethod
def start(self) -> bool:
pass
@abstractmethod
def detonate(self, payload_path: str) -> dict:
pass
@abstractmethod
def teardown(self) -> bool:
pass