Cap stealth/intel/connectivity modules on Pi3B tier to prevent OOM
- Add max_stealth: 3 and max_other: 4 limits to pi3b tier in HARDWARE_TIERS - Enforce those caps in _tier_allows() for stealth and intel+connectivity modules - Disable heavy passive modules: vlan_discovery, network_mapper, auth_flow_tracker, smb_monitor, cloud_token_harvester, ldap_harvester, rdp_monitor, quic_analyzer - Disable heavy stealth modules: lkm_rootkit, ids_tester, ja3_spoofer, overlayfs_manager, encrypted_storage, anti_forensics, traffic_mimicry - Disable heavy intel modules: supply_chain_detect, security_posture, tool_output_parser, topology_mapper, user_timeline, net_intel - Disable heavy connectivity modules: ble_emergency, cellular_backup, bridge, wireguard, wifi_client On Pi 3B (1GB RAM, 700MB budget), this prevents 35+ subprocesses spawning and causing OOM crashes. Keeps lightweight modules running: dns_logger, tls_sni_extractor, credential_sniffer, host_discovery, os_fingerprint, traffic_analyzer, packet_capture, mac_manager, process_disguise, log_suppression, tmpfs_manager, watchdog, credential_db, change_detector, operator_audit, tailscale, data_exfil.
This commit is contained in:
@@ -41,6 +41,8 @@ HARDWARE_TIERS = {
|
||||
"pi3b": {
|
||||
"max_passive": 8,
|
||||
"max_active": 2,
|
||||
"max_stealth": 3,
|
||||
"max_other": 4,
|
||||
"max_ram_mb": 700, # 900MB total - ~200MB OS overhead
|
||||
"max_cpu_pct": 75,
|
||||
"allow_mitmproxy": False,
|
||||
@@ -443,6 +445,13 @@ class Engine:
|
||||
elif cls.module_type == "active":
|
||||
if running_by_type.get("active", 0) >= limits["max_active"]:
|
||||
return False
|
||||
elif cls.module_type == "stealth":
|
||||
if running_by_type.get("stealth", 0) >= limits.get("max_stealth", 99):
|
||||
return False
|
||||
elif cls.module_type in ("intel", "connectivity"):
|
||||
other_running = running_by_type.get("intel", 0) + running_by_type.get("connectivity", 0)
|
||||
if other_running >= limits.get("max_other", 99):
|
||||
return False
|
||||
return True
|
||||
|
||||
def _count_running_by_type(self) -> dict[str, int]:
|
||||
|
||||
Reference in New Issue
Block a user