pub struct EndpointEngine {
pub allowlist: Arc<DeveloperAllowlist>,
pub threat_intel: Arc<ThreatIntelDB>,
pub quarantine: Arc<QuarantineVault>,
pub dns_filter: Option<Arc<DnsFilter>>,
pub container_scanner: ContainerScanner,
pub supply_chain_scanner: SupplyChainScanner,
/* private fields */
}Expand description
Orchestrates all endpoint protection subsystems.
Fields§
§allowlist: Arc<DeveloperAllowlist>Developer-aware allowlist.
threat_intel: Arc<ThreatIntelDB>Threat intelligence database.
quarantine: Arc<QuarantineVault>File quarantine vault.
dns_filter: Option<Arc<DnsFilter>>DNS filtering proxy.
container_scanner: ContainerScannerContainer image scanner (on-demand).
supply_chain_scanner: SupplyChainScannerSupply chain dependency scanner (on-demand).
Implementations§
Source§impl EndpointEngine
impl EndpointEngine
Sourcepub fn new(config: EndpointConfig) -> Self
pub fn new(config: EndpointConfig) -> Self
Create a new endpoint engine with the given configuration.
Sourcepub async fn start(&self, audit: Arc<AuditChain>) -> Vec<JoinHandle<()>>
pub async fn start(&self, audit: Arc<AuditChain>) -> Vec<JoinHandle<()>>
Start all background monitors. Returns JoinHandles for spawned tasks.
Sourcepub async fn scan_file(&self, path: &Path) -> Vec<ScanResult>
pub async fn scan_file(&self, path: &Path) -> Vec<ScanResult>
Scan a single file with all engines.
Sourcepub async fn scan_dir(&self, dir: &Path) -> Vec<ScanResult>
pub async fn scan_dir(&self, dir: &Path) -> Vec<ScanResult>
Scan a directory recursively.
Sourcepub fn scan_container_image(&self, image: &str) -> Vec<ScanResult>
pub fn scan_container_image(&self, image: &str) -> Vec<ScanResult>
Scan a Docker image for security issues.
Sourcepub fn scan_dependencies(&self, path: &Path) -> Vec<ScanResult>
pub fn scan_dependencies(&self, path: &Path) -> Vec<ScanResult>
Scan a dependency lock file for supply chain risks.
Sourcepub fn subscribe(&self) -> Receiver<ScanResult>
pub fn subscribe(&self) -> Receiver<ScanResult>
Subscribe to real-time scan results.
Sourcepub fn recent_detections(&self, count: usize) -> Vec<ScanResult>
pub fn recent_detections(&self, count: usize) -> Vec<ScanResult>
Get recent detection history.
Sourcepub fn stats(&self) -> EndpointStats
pub fn stats(&self) -> EndpointStats
Get runtime statistics.
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if the engine is running.
Auto Trait Implementations§
impl !Freeze for EndpointEngine
impl !RefUnwindSafe for EndpointEngine
impl Send for EndpointEngine
impl Sync for EndpointEngine
impl Unpin for EndpointEngine
impl UnsafeUnpin for EndpointEngine
impl !UnwindSafe for EndpointEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more