Fix #211: Remove tool identity strings from deployed artifacts
- Replace BigBrother -> SystemMonitor in display names and docstrings - Replace logger names: bb.* -> sensor.* - Replace process names: bb-* -> sensor-* - Replace home directory: ~/.bigbrother -> ~/.implant - Replace LUKS device: /dev/mapper/bb-* -> /dev/mapper/sensor-* - Updated 76 Python files across all modules - Improves OPSEC by removing obvious tool fingerprints from logs and runtime
This commit is contained in:
+16
-16
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
"""BigBrother — Network surveillance implant CLI.
|
||||
"""SystemMonitor — Network surveillance implant CLI.
|
||||
|
||||
Main entry point: Click-based CLI + Rich interactive menu.
|
||||
Manages module lifecycle, status monitoring, and kill switch.
|
||||
@@ -49,7 +49,7 @@ from utils.resource import (
|
||||
)
|
||||
|
||||
console = Console()
|
||||
logger = logging.getLogger("bb.cli")
|
||||
logger = logging.getLogger("sensor.cli")
|
||||
|
||||
# PID file for daemon mode
|
||||
PID_FILE = "/tmp/.bb.pid"
|
||||
@@ -151,7 +151,7 @@ def is_module_enabled(module_name: str, module_type: str, config: dict) -> bool:
|
||||
@click.group(invoke_without_command=True)
|
||||
@click.pass_context
|
||||
def cli(ctx):
|
||||
"""BigBrother — Network surveillance implant."""
|
||||
"""SystemMonitor — Network surveillance implant."""
|
||||
ctx.ensure_object(dict)
|
||||
if ctx.invoked_subcommand is None:
|
||||
interactive_menu()
|
||||
@@ -161,11 +161,11 @@ def cli(ctx):
|
||||
@click.option("--daemon", is_flag=True, help="Fork to background, write PID file")
|
||||
@click.option("--passive-only", is_flag=True, help="Force passive-only engagement phase")
|
||||
def start(daemon, passive_only):
|
||||
"""Start BigBrother — initialize all core systems and enabled modules."""
|
||||
"""Start SystemMonitor — initialize all core systems and enabled modules."""
|
||||
if daemon:
|
||||
_daemonize()
|
||||
|
||||
console.print("[bold green]Starting BigBrother...[/bold green]")
|
||||
console.print("[bold green]Starting SystemMonitor...[/bold green]")
|
||||
|
||||
try:
|
||||
config = load_config(config_dir=os.path.join(PROJECT_ROOT, "config"))
|
||||
@@ -219,7 +219,7 @@ def start(daemon, passive_only):
|
||||
engine=engine, tool_manager=tool_manager)
|
||||
res_mon.start()
|
||||
|
||||
console.print(f"\n[bold green]BigBrother running[/bold green] (tier={engine.tier}, phase={engine.phase})")
|
||||
console.print(f"\n[bold green]SystemMonitor running[/bold green] (tier={engine.tier}, phase={engine.phase})")
|
||||
|
||||
if daemon:
|
||||
# Write PID file
|
||||
@@ -246,7 +246,7 @@ def start(daemon, passive_only):
|
||||
tool_manager.stop_all()
|
||||
state.stop()
|
||||
bus.stop()
|
||||
console.print("[green]BigBrother stopped.[/green]")
|
||||
console.print("[green]SystemMonitor stopped.[/green]")
|
||||
|
||||
|
||||
@cli.command()
|
||||
@@ -257,15 +257,15 @@ def stop():
|
||||
with open(PID_FILE, "r") as f:
|
||||
pid = int(f.read().strip())
|
||||
os.kill(pid, signal.SIGTERM)
|
||||
console.print(f"[green]Sent SIGTERM to BigBrother (PID {pid})[/green]")
|
||||
console.print(f"[green]Sent SIGTERM to SystemMonitor (PID {pid})[/green]")
|
||||
os.unlink(PID_FILE)
|
||||
except (ProcessLookupError, ValueError):
|
||||
console.print("[yellow]BigBrother not running (stale PID file)[/yellow]")
|
||||
console.print("[yellow]SystemMonitor not running (stale PID file)[/yellow]")
|
||||
os.unlink(PID_FILE)
|
||||
except PermissionError:
|
||||
console.print("[red]Permission denied — try with sudo[/red]")
|
||||
else:
|
||||
console.print("[yellow]No PID file found — BigBrother may not be running[/yellow]")
|
||||
console.print("[yellow]No PID file found — SystemMonitor may not be running[/yellow]")
|
||||
|
||||
|
||||
@cli.command()
|
||||
@@ -279,7 +279,7 @@ def status():
|
||||
state = StateManager()
|
||||
all_status = state.get_all_module_status()
|
||||
|
||||
table = Table(title="BigBrother Module Status", show_lines=True)
|
||||
table = Table(title="SystemMonitor Module Status", show_lines=True)
|
||||
table.add_column("Module", style="cyan", min_width=20)
|
||||
table.add_column("Status", min_width=10)
|
||||
table.add_column("PID", justify="right", min_width=8)
|
||||
@@ -418,7 +418,7 @@ def show_config():
|
||||
import yaml
|
||||
yaml_str = yaml.dump(config, default_flow_style=False, sort_keys=False)
|
||||
syntax = Syntax(yaml_str, "yaml", theme="monokai", line_numbers=False)
|
||||
console.print(Panel(syntax, title="BigBrother Configuration", border_style="cyan"))
|
||||
console.print(Panel(syntax, title="SystemMonitor Configuration", border_style="cyan"))
|
||||
|
||||
|
||||
@cli.command()
|
||||
@@ -546,7 +546,7 @@ def list_modules():
|
||||
|
||||
def _view_credentials():
|
||||
"""Query the credential database and display a Rich table."""
|
||||
base_dir = os.path.expanduser("~/.bigbrother")
|
||||
base_dir = os.path.expanduser("~/.implant")
|
||||
db_path = os.path.join(base_dir, "credentials.db")
|
||||
|
||||
if not os.path.isfile(db_path):
|
||||
@@ -642,7 +642,7 @@ def _view_credentials():
|
||||
|
||||
def _view_intel():
|
||||
"""Show an intelligence summary: hosts, credentials, modules, security tools."""
|
||||
base_dir = os.path.expanduser("~/.bigbrother")
|
||||
base_dir = os.path.expanduser("~/.implant")
|
||||
state = StateManager()
|
||||
|
||||
console.print("\n")
|
||||
@@ -798,7 +798,7 @@ def _view_topology():
|
||||
|
||||
def _view_timeline():
|
||||
"""Show recent events from the operator audit log."""
|
||||
base_dir = os.path.expanduser("~/.bigbrother")
|
||||
base_dir = os.path.expanduser("~/.implant")
|
||||
db_path = os.path.join(base_dir, "operator_audit.db")
|
||||
|
||||
if not os.path.isfile(db_path):
|
||||
@@ -884,7 +884,7 @@ def interactive_menu():
|
||||
temp_str = f"{temp:.1f}C" if temp is not None else "N/A"
|
||||
|
||||
header = (
|
||||
f"[bold cyan]BigBrother[/bold cyan] v1.0\n"
|
||||
f"[bold cyan]SystemMonitor[/bold cyan] v1.0\n"
|
||||
f"Hardware: [yellow]{hw.model or 'Unknown'}[/yellow] ({tier})\n"
|
||||
f"CPU: {hw.cpu_cores} cores ({hw.architecture}) | RAM: {hw.total_ram_mb}MB | Temp: {temp_str}\n"
|
||||
f"Phase: [{'green' if phase == 'passive_only' else 'red'}]{phase}[/{'green' if phase == 'passive_only' else 'red'}]"
|
||||
|
||||
Reference in New Issue
Block a user