๐ก๏ธ LocalSIEM โ Blue Team Security Monitor
A free, open-source, real-time security dashboard for macOS. Monitor your system, detect threats, and block suspicious IPs โ all from your browser. Built for Apple Silicon (M1/M2/M3/M4).
๐ธ What It Does
Feature / Description
| ๐ฅ๏ธ System Monitor | Live CPU, RAM, GPU and Disk gauges |
| ๐ Network Traffic | Real-time 60-second send/receive chart |
| ๐ Active Connections | Every TCP connection with process name and threat level |
| ๐จ Threat Detection | Detects port scans, high connection rates, suspicious ports |
| ๐ IP Investigation | Click any IP โ geo location, country, traceroute, whois |
| ๐ซ IP Blocking | Block suspicious IPs directly via macOS firewall (pf) |
| ๐ Active Websites | Live DNS-resolved domains your machine is connecting to |
| ๐ท Privacy Monitor | Alerts when camera or microphone is activated |
| ๐ด Disk Monitor | All drives with usage bars + add custom server/NAS paths |
| ๐ Security Events | Live feed of all detected threats with one-click investigation |
โ๏ธ Requirements
– macOS (Apple Silicon M1/M2/M3/M4)
– Python 3.10 or higher
– Terminal access
> โ ๏ธ This app is “macOS only”. It uses macOS-specific tools (`ioreg`, `pfctl`, `lsof`) that do not exist on Windows or Linux.
๐ Installation
Option 1 โ One-Line Installer (Recommended)
Open Terminal and paste:
“`bash
curl -sSL https://raw.githubusercontent.com/sagar12-web/SIEM-Monitor/main/install.sh | bash
“`
This will automatically:
– Download all app files to `~/LocalSIEM/`
– Install Python dependencies
– Create a **Desktop shortcut** (double-click to launch)
– Create `LocalSIEM.app` in `~/Applications`
– Ask if you want to launch immediately
Option 2 โ Manual Install
Step 1 โ Clone the repository
“`bash
git clone https://github.com/sagar12-web/SIEM-Monitor.git
cd SIEM-Monitor
“`
Step 2 โ Install dependencies
“`bash
pip3 install -r requirements.txt
“`
Step 3 โ Start the server
“`bash
python3 siem_server.py
“`
Step 4 โ Open the dashboard
Open your browser and go to:
“`
http://localhost:5555
“`
๐ฅ๏ธ How To Use
Dashboard Overview
Once the server is running, open `http://localhost:5555` in any browser.


๐ Investigating a Suspicious IP
1. A threat appears in the “Security Events” feed
2. Click the event or click the ๐ button in the connections table
3. An investigation panel opens showing:
– ๐ Country, city, ISP and flag
– ๐ Full traceroute with per-hop geo
– ๐ WHOIS information
– ๐ All active connections from that IP
4. Click ๐ซ BLOCK IPย to block it instantly via the macOS firewall
๐ซ Blocking an IP
Two ways to block:
– From the “connections table” โ click `BLOCK` button on any row
– From the “investigation modal” โ click `๐ซ BLOCK IP`
Blocked IPs are listed in the “Blocked IPs** panel. The block uses macOS `pf` firewall and takes effect immediately.
> Note: Blocks require `sudo` access the first time. You may be prompted for your Mac password.
๐ท Privacy Monitor
The Privacy Monitor card shows real-time camera and microphone status.
– ๐ข INACTIVE โ device is off
– ๐ด ACTIVE โ device is in use (card border blinks red, banner alert appears)
Detection uses Apple Silicon’s built-in `ioreg` hardware reporting โ no special permissions needed for camera. Microphone detection is best-effort via active audio processes.
๐ด Adding a Custom Disk / Server
1. In the “Disk card, click + Add Server
2. Enter the mount path (e.g. `/Volumes/MyNAS`, `/Volumes/ExternalDrive`)
3. Enter a display label (e.g. `Backup Server`)
4. Click Add Disk
Custom disks show with a cyan border and a `custom` badge. Click **โ** to remove them.
๐จ Threat Levels
| Level | Trigger |
|—|—|
| ๐ด HIGH | Port scan (10+ unique ports in 60s) or very high connection rate |
| ๐ก MEDIUM | Suspicious port (e.g. 4444, 1337, 31337) or SYN flood pattern |
| ๐ข LOW | Unusual connection from unknown external IP |
๐ Stopping the Server
In the Terminal where the server is running, press:
“`
Ctrl + C
“`
๐ Project Structure
SIEM-Monitor/
โโโ siem_server.py # Python backend โ Flask + SocketIO + all monitoring logic
โโโ dashboard.html # Frontend โ HTML/CSS/JavaScript dashboard
โโโ requirements.txt # Python dependencies
โโโ install.sh # One-line macOS installer script
๐ง Tech Stack
| Layer | Technology |
|—|—|
| Backend | Python 3, Flask, Flask-SocketIO |
| System Metrics | psutil, lsof, ioreg, system_profiler |
| Threat Detection | Custom rule engine (port scan, rate, suspicious ports) |
| Firewall | macOS pf (pfctl) |
| Frontend | HTML5, CSS3, JavaScript, Chart.js, Socket.IO |
| Geo / WHOIS | ip-api.com, traceroute, socket reverse DNS |
๐ค Contributing
Pull requests are welcome. For major changes, please open an issue first.
1. Fork the repo
2. Create your branch: `git checkout -b feature/my-feature`
3. Commit your changes: `git commit -m ‘Add my feature’`
4. Push: `git push origin feature/my-feature`
5. Open a Pull Request
โ ๏ธ Disclaimer
This tool is for personal, local use only on your own machine. Do not use it to monitor networks or systems you do not own. IP blocking modifies your system firewall; use with care.
๐ License
MIT License – free to use, modify, and distribute.
‘Built for macOS Apple Silicon – Local Blue Team Security Monitoring’
