BigBodyCobain/Shadowbroker
Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites, to seismic events in one unified interface.
About BigBodyCobain/Shadowbroker
BigBodyCobain/Shadowbroker is an open-source project on GitHub, mainly written in Python. Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites It currently holds 11,523 stars and 1,837 forks with 10 open issues, and was last pushed on 2026-11-09 (repository created 2026-03-05).
Project Overview
AI Homed tracks it on the Today's Trending board, currently at rank #37 with 25 new stars today.
GitHub Repository Details
README
🛰️ S H A D O W B R O K E R
Global Threat Intercept — Real-Time Geospatial Intelligence Platform
---
ShadowBroker is a decentralized intelligence platform that aggregates real-time, multi-domain OSINT telemetry from 60+ live intelligence feeds into a single dark-ops map interface. Aircraft, ships, satellites, conflict zones, CCTV networks, GPS jamming, internet-connected devices, police scanners, mesh radio nodes, and breaking geopolitical events — all updating in real time on one screen, as well as an obfuscated communications protocol and information exchange infrastructure.
🛰️ Project Description
Built with Next.js, MapLibre GL, FastAPI, and Python. 40+ toggleable data layers, including SAR ground-change detection, Telegram OSINT (public channel previews geoparsed onto the map), a server-side recon toolkit (DNS, WHOIS, sanctions, BGP, IP sweep, and more), supply-chain risk overlays, and malware/C2 + CISA KEV cyber threat feeds. Multiple visual modes (DEFAULT / SATELLITE / FLIR / NVG / CRT). Right-click any point on Earth for a country dossier, head-of-state lookup, entity-graph expansion, and the latest Sentinel-2 satellite photo. ShadowBroker has no accounts, product telemetry, or analytics; the dashboard talks to your self-hosted backend. Sensitive recon and Shodan queries never hit third-party APIs from the browser — they are proxied through the backend with SSRF guards and local-operator auth. The OpenClaw / agent command channel exposes the same recon backends plus full telemetry search — no separate API integration required.
Designed for analysts, researchers, radio operators, and anyone who wants to see what the world looks like when every public signal is on the same map.
---
🌍 Why This Exists
A surprising amount of global telemetry is already public — aircraft ADS-B broadcasts, maritime AIS signals, satellite orbital data, earthquake sensors, mesh radio networks, police scanner feeds, environmental monitoring stations, internet infrastructure telemetry, and more. This data is scattered across dozens of tools and APIs. ShadowBroker combines all of it into a single interface.
The project does not introduce new surveillance capabilities — it aggregates and visualizes existing public datasets. It is fully open-source so anyone can audit exactly what data is accessed and how. ShadowBroker does not include product telemetry, analytics, or accounts. Operator-supplied keys stay in your local deployment, but live OSINT features necessarily make outbound requests to the public data providers you enable or query.
---
📡 Shodan & Recon (security-first)
ShadowBroker includes an optional Shodan connector for operator-supplied API access (SHODAN_API_KEY) and a Recon Toolkit panel for keyless OSINT lookups. Both run server-side only: the browser calls your self-hosted /api/osint/ and /api/tools/shodan/ routes; outbound requests are made by the backend after SSRF validation. Recon requires local-operator access (same trust model as layer toggles and admin routes). Shodan results render as a separate map overlay and remain subject to Shodan’s terms of service.
---
🗺️ Interesting Use Cases
- Track Air Force One, the private jets of billionaires and dictators, and every military tanker, ISR, and fighter broadcasting ADS-B. Air Force One and all of the accompanying Presidential/Vice Presidential planes are highlighted and monitored from the moment they leave the ground.
- Connect an AI agent as a co-analyst through ShadowBroker's HMAC-signed agentic command channel — supports OpenClaw and any other agent that speaks the protocol (Claude, GPT, LangChain, custom). The agent gets full read/write access to all 40+ data layers, compact cross-layer search (
search_telemetry,search_news), the full recon toolkit (osint_lookupfor IP/DNS/WHOIS/sanctions/CVE/etc.), entity-graph expansion, pin placement, map control, SAR ground-change, mesh networking, and alert delivery. It sees everything the operator sees and can take actions on the map in real time. - Communicate on the InfoNet testnet — The first decentralized intelligence mesh built into an OSINT tool. Obfuscated messaging with gate personas, Dead Drop peer-to-peer exchange, and a built-in terminal CLI. No accounts, no signup. Privacy is not guaranteed yet — this is an experimental testnet — but the protocol is live and being hardened.
- Right-click anywhere on Earth for a country dossier (head of state, population, languages), Wikipedia summary, and the latest Sentinel-2 satellite photo at 10m resolution
- Click a KiwiSDR node and tune into live shortwave radio directly in the dashboard. Click a police scanner feed and eavesdrop in one click.
- Watch 11,000+ CCTV cameras across 6 countries — London, NYC, California, Spain, Singapore, and more — streaming live on the map
- See GPS jamming zones in real time — derived from NAC-P degradation analysis of aircraft transponder data
- Monitor satellites overhead color-coded by mission type — military recon, SIGINT, SAR, early warning, space stations — with SatNOGS and TinyGS ground station networks
- Track naval traffic including 25,000+ AIS vessels, fishing activity via Global Fishing Watch, and billionaire superyachts
- Follow earthquakes, volcanic eruptions, active wildfires (NASA FIRMS), severe weather alerts, and air quality readings worldwide
- Map military bases, 35,000+ power plants, 2,000+ data centers, and internet outage regions — cross-referenced automatically
- Connect to Meshtastic mesh radio nodes and APRS amateur radio networks — visible on the map and integrated into Mesh Chat
- Detect ground changes through cloud cover with SAR (Synthetic Aperture Radar) — mm-scale ground deformation, flood extent, vegetation disturbance, and damage assessments from NASA OPERA and Copernicus EGMS. Define your own watch areas and get anomaly alerts. Free with a NASA Earthdata account.
- Switch visual modes — DEFAULT, SATELLITE, FLIR (thermal), NVG (night vision), CRT (retro terminal) — via the STYLE button
- Track trains across the US (Amtraker) and Europe (DigiTraffic) in real time
- Estimate where US aircraft carriers are using automated GDELT news scraping — no other open tool does this
- Search internet-connected devices worldwide via Shodan — cameras, SCADA systems, databases — plotted as a live overlay on the map
- Run a full recon toolkit from the left sidebar — IP geolocation, DNS, RDAP/WHOIS, certificate transparency, BGP/ASN, OFAC sanctions search, CVE lookup, Tor/OTX threat checks, and subnet sweeps (InternetDB proxied server-side)
- Expand an entity graph when you select an aircraft, vessel, company, or IP — Wikidata + OFAC + live store cross-links rendered in the Entity Graph panel
- Monitor supply-chain risk — Tier 1/2 semiconductor and battery fabs scored against nearby earthquakes, wildfires, and conflict events (SCM panel)
- Toggle malware C2 hotspots — abuse.ch Feodo Tracker + URLhaus feeds mapped by country (opt-in layer)
- Monitor Telegram OSINT channels — public
t.me/swar/conflict feeds (OSINTdefender, NEXTA, etc.) scraped hourly, risk-scored, geoparsed to metro anchors, and plotted as clickable map pins with inline media - Overlay global submarine cables — static TeleGeography-derived cable routes (opt-in layer)
---
⚡ Quick Start (Docker)
From GitHub (default — uses GHCR images)
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d
From GitLab (uses GitLab Container Registry)
git clone https://gitlab.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml pull
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml up -d
Both paths produce identical containers — same source, same CI, same images byte-for-byte. Pick whichever ecosystem you already use.
Open http://localhost:3000 to view the dashboard! (Requires Docker Desktop or Docker Engine)
Join the private InfoNet swarm (sb-testnet-0): Click NODE in the dashboard, or run./meshnode.shfor a headless participant. No manual peer list — fleet defaults discover the seed and pull the signed manifest automatically. SetMESH_INFONET_FLEET_JOIN=falsein.envfor a private solo node.
Backend port already in use? The browser only needs port3000, but the backend API is also published on host port8000for local diagnostics. If another app already uses8000, create or edit.envnext todocker-compose.ymland setBACKEND_PORT=8001, then rundocker compose up -d.
Blank news/UAP/bases/wastewater after several minutes? Check for backend OOM restarts withdocker events --since 30m --filter container=shadowbroker-backend --filter event=oom. The default compose file gives the backend 4GB; if your host has less memory, reduce enabled feeds or setBACKEND_MEMORY_LIMIT=3Gand expect slower/heavier layers to warm more gradually.
Podman users: Podman works, butpodman composeis a wrapper and still needs a Compose provider installed. On Windows/WSL, if you seelooking up compose provider failed, installpodman-composeand runpodman-compose pullfollowed bypodman-compose up -dfrom inside the clonedShadowbrokerfolder. On Linux/macOS/WSL shells you can also use./compose.sh --engine podman pulland./compose.sh --engine podman up -d.
---
🔄 How to Update
ShadowBroker uses pre-built Docker images — no local building required. Updating takes seconds:
docker compose pull
docker compose up -d
That's it. pull grabs the latest images, up -d restarts the containers.
Coming from an older version? Pull the latest repo code first, then pull images:
>> git pull origin main
docker compose down
docker compose pull
docker compose up -d
> Podman users should run the equivalent provider command, for examplepodman-compose pullandpodman-compose up -d, or use./compose.sh --engine podman pulland./compose.sh --engine podman up -dfrom a bash-compatible shell.
Update Integrity
Docker updates are delivered through signed container registries. The legacy ZIP self-updater verifies release archives through this chain, in order:
MESH_UPDATE_SHA256when an operator pins a digest explicitly.backend/data/release_digests.jsonfor bundled release pins.- The release
SHA256SUMS.txtasset on GitHub when a bundled pin is not present.
python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip> before publishing, then publish SHA256SUMS.txt and update backend/data/release_digests.json when shipping a ZIP updater target. The updater keeps the operator override path intact instead of failing closed on missing bundled digests, so existing installs do not get stranded by a release-process mistake.
CSP Hardening
The production frontend ships with a hydration-compatible CSP and a strict nonce-only CSP in Content-Security-Policy-Report-Only. Set SHADOWBROKER_STRICT_CSP=1 only after verifying the exact build hydrates correctly in your deployment. Runtime Google Fonts are not required; the bundled Next font pipeline serves the dashboard font from the app build.
⚠️ Stuck on the old version?
If git pull fails or docker compose up keeps building from source instead of pulling images, your clone predates a March 2026 repository migration that rewrote commit history. A normal git pull cannot fix this. Run:
# Back up any local config you want to keep (.env, etc.)
cd ..
rm -rf Shadowbroker
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d
How to tell if you're affected: If docker compose up shows RUN apt-get, RUN npm ci, or RUN pip install — it's building from source instead of pulling pre-built images. You need a fresh clone.
Other troubleshooting:
- Force re-pull:
docker compose pull --no-cache - Prune old images:
docker image prune -f - Check logs:
docker compose logs -f backend
---
☸️ Kubernetes / Helm (Advanced)
For high-availability deployments or home-lab clusters, ShadowBroker supports deployment via Helm. This chart is based on the bjw-s-labs template and provides a robust, modular setup for both the backend and frontend.
1. Add the Repository:
helm repo add bjw-s-labs https://bjw-s-labs.github.io/helm-charts/
helm repo update
2. Install the Chart:
# Default — pulls images from GHCR
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker
GitLab registry variant
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker \
-f helm/chart/values.yaml \
-f helm/chart/values-gitlab.yaml
3. Key Features:
- Modular Architecture: Individually scale the intelligence backend and the HUD frontend.
- Security Context: Runs with restricted UIDs (1001) for container hardening.
- Ingress Ready: Compatible with Traefik, Cert-Manager, and Gateway API for secure, external access to your intelligence node.
---
🌐 Experimental Testnet — No Privacy Guarantee
ShadowBroker v0.9.7 ships InfoNet (decentralized intelligence mesh + Sovereign Shell governance economy), an agentic AI command channel (supports OpenClaw and any HMAC-signing agent), Time Machine snapshot playback, and SAR satellite ground-change detection. This is an experimental testnet — not a private messenger and not a production governance system.
| Channel | Privacy Status | Details | |---|---|---| | Meshtastic / APRS | PUBLIC | RF radio transmissions are public and interceptable by design. | | InfoNet Gate Chat | ENCRYPTED CONTENT, OBFUSCATED METADATA | Message content is encrypted under a per-gate key that members share through invites sent inside end-to-end encrypted DMs. Gate personas and canonical payload signing obfuscate senders, but gate id, timing and key epoch are visible, and anyone holding the gate key reads the room. | | Dead Drop DMs | STRONGEST CURRENT LANE | Token-based epoch mailbox with SAS word verification. Strongest lane in this build, but not yet confidently private. | | Sovereign Shell governance | PUBLIC LEDGER | Petitions, votes, upgrade hashes, and dispute stakes are signed events on a public hashchain. Pseudonymous via gate persona, but governance actions are intentionally observable. | | Privacy primitives (RingCT / stealth / DEX) | NOT YET WIRED | Locked Protocol contracts are in place, but the cryptographic scheme has not been chosen. The privacy-core Rust crate is the integration target for a future sprint. |
Do not transmit anything sensitive on any channel. Treat all lanes as open and public for now. E2E encryption and deeper native/Tauri hardening are the next milestones. If you fork this project, keep these labels intact and do not make stronger privacy claims than the implementation supports.
For a full picture of what the mesh actually defends against and
what it doesn't, read the
threat model and the
claims reconciliation. Every
sentence above is mapped there to the code path that enforces it (or
doesn't).
---
✨ Features
🧅 InfoNet — Decentralized Intelligence Mesh + Sovereign Shell (expanded in v0.9.7)
The first decentralized intelligence communication and governance layer built directly into an OSINT platform. No accounts, no signup, no identity required. v0.9.7 promotes InfoNet from a chat layer into a full governance economy with a clear path to a privacy-preserving decentralized intelligence platform.
Communication layer (since v0.9.6):
- InfoNet Experimental Testnet — A global, obfuscated message relay using Tor and Reticulum. Anyone running ShadowBroker can transmit and receive on the InfoNet. Messages pass through a Wormhole relay layer with gate personas, Ed25519 canonical payload signing, and transport obfuscation.
- Mesh Chat Panel — Three-tab interface: INFONET (gate chat with obfuscated transport), MESH (Meshtastic radio integration), DEAD DROP (peer-to-peer message exchange with token-based epoch mailboxes — strongest current lane).
- Gate Persona System — Pseudonymous identities with Ed25519 signing keys, prekey bundles, SAS word contact verification, and abuse reporting.
- Mesh Terminal — Built-in CLI:
send,dm, market commands, gate state inspection. Draggable panel, minimizes to the top bar. Typehelpto see all commands. - Crypto Stack — Ed25519 signing, X25519 Diffie-Hellman, AESGCM encryption with HKDF key derivation, hash chain commitment system. Double-ratchet DM scaffolding in progress.
- Petitions + Governance DSL — On-chain parameter changes via signed petitions. Type-safe payload executor for
UPDATE_PARAM,BATCH_UPDATE_PARAMS,ENABLE_FEATURE, andDISABLE_FEATURE. Tunable knobs change by vote — no code deploys required. - Upgrade-Hash Governance — Protocol upgrades that need new logic (not just parameter changes) vote on a SHA-256 hash of the verified release. 80% supermajority, 40% quorum, 67% Heavy-Node activation. Lifecycle: signatures → voting → challenge window → awaiting readiness → activated.
- Resolution & Dispute Markets — Stake on market resolution outcomes (yes / no / data_unavailable), open disputes with bonded evidence, and stake on dispute confirm-or-reverse. Per-row submission state stays isolated so concurrent actions don't share an in-flight slot.
- Evidence Submission — Bonded evidence bundles with client-side SHA-256 canonicalization that matches Python
repr()exactly, so hashes round-trip cleanly through the chain. - Gate Suspension / Shutdown / Appeals — Filing forms for suspending or shutting down a gate, with a reusable appeal flow auto-targeting the pending petition.
- Bootstrap Eligible-Node-One-Vote — The first 100 markets resolve via one-vote-per-eligible-node instead of stake-weighted resolution. Eligibility: identity age ≥ 3 days, not in predictor exclusion set, valid Argon2id PoW (Heavy-Node-only). Transitions to staked resolution at 1000 nodes.
- Two-Tier State + Epoch Finality — Tier 1 events propagate CRDT-style for low latency; Tier 2 events require epoch finality before they can be acted on. Identity rotation, progressive penalties, ramp milestones, and constitutional invariants enforced via
MappingProxyType. - Adaptive Polling — Sovereign Shell views poll every 8 seconds during active voting / challenge / activation phases, every 30–60 seconds when idle. Voting feels live without a websocket layer.
- Verbatim Diagnostics — Every write button surfaces the backend's verbatim rejection reason. No opaque "denied" toasts.
- Function Keys — Anonymous Credential Scaffolding — The plumbing is in place for nullifiers, challenge-response, two-phase commit receipts, enumerated denial codes, and batched settlement. Today's challenge-response is an HMAC-based placeholder for integration testing, not a production anonymous or zero-knowledge citizenship proof. True unlinkable issuance still waits on a primitive decision (RSA blind sigs vs BBS+ vs U-Prove vs Idemix).
- Locked Protocol Contracts — Stable interfaces in
services/infonet/privacy/contracts.pyfor ring signatures, stealth addresses, Pedersen commitments, range proofs, and DEX matching. Theprivacy-coreRust crate is the integration target — no caller of the privacy module needs to know which scheme is active. - Sprint 11+ Path — When the cryptographic scheme is chosen, primitives wire into the locked Protocols without API churn.
Experimental Testnet — No Privacy Guarantee: InfoNet gate content is encrypted for members who hold the gate key, but metadata is visible and the code is unaudited. The Mesh network (Meshtastic/APRS) is NOT private — radio transmissions are inherently public. The privacy primitive contracts are scaffolded but not yet wired. Do not send anything sensitive on any channel. Treat all channels as open and public for now.
🔍 Recon Toolkit & Shodan (Osiris-derived, security-first)
Adapted from the OSIRIS recon stack (MIT) with ShadowBroker’s proxy model. Attribution: backend/third_party/osiris/NOTICE.md.
Recon Toolkit (left sidebar — local operator only):
- IP / DNS / WHOIS — ip-api.com geolocation, Google DNS-over-HTTPS, RDAP registrant data with optional HTTP security header scoring
- Certificates & BGP — crt.sh subdomain discovery, bgpview.io ASN/prefix lookups
- Threat intel — AlienVault OTX pulses, Tor exit-node checks, optional per-IP/domain reputation
- Sanctions — OpenSanctions
us_ofac_sdnindex (CC-BY); cross-checks on WHOIS entities and IP ISP/org strings - CVE / MAC / GitHub / leaks — MITRE CVE API, MAC vendor lookup, GitHub profile recon, public breach checks
- IP sweep —
/api/osint/sweep/scangeolocates a target /24–/32 and proxies Shodan InternetDB host discovery server-side (browser never contacts InternetDB directly) - SSRF guard — Private, loopback, link-local, and metadata hostnames are blocked before any user-supplied fetch
GET /api/entity/expand). Resolves aircraft, vessels, companies, persons, IPs, and countries into a node/link graph (Wikidata SPARQL + OFAC + in-memory flight/ship store).
OpenClaw / agent access — The same recon backends are available on the HMAC command channel (no browser local-operator gate): osint_lookup (passive IP/DNS/WHOIS/certs/BGP/sanctions/CVE/MAC/GitHub/leaks/threats), entity_expand (relationship graph), and osint_sweep (active subnet scan — full access tier only). Call osint_tools to list supported lookup types. Skill package: openclaw-skills/shadowbroker/ (SKILL.md + sb_query.py).
Shodan overlay (unchanged):
- Internet Device Search — Query Shodan with your own API key; results plotted as a live overlay
- Configurable Markers — Shape, color, and size customization for Shodan results
🛩️ Aviation Tracking
- Commercial Flights — Real-time positions via OpenSky Network (~5,000+ aircraft)
- Private Aircraft — Light GA, turboprops, bizjets tracked separately
- Private Jets — High-net-worth individual aircraft with owner identification
- Military Flights — Tankers, ISR, fighters, transports via adsb.lol military endpoint
- Flight Trail Accumulation — Persistent breadcrumb trails for all tracked aircraft
- Holding Pattern Detection — Automatically flags aircraft circling (>300° total turn)
- Aircraft Classification — Shape-accurate SVG icons: airliners, turboprops,
