ShadowBroker - painel OSINT que integra 15 feeds de dados em tempo real do mundo todo
(github.com/BigBodyCobain)- Integra diversos dados em tempo real, como aeronaves, navios, satélites, terremotos, conflitos, CCTV e interferência de GPS, em uma única interface geoespacial
- Construído com Next.js, MapLibre GL, FastAPI e Python, permite que analistas e pesquisadores visualizem atividades globais em uma única tela
- Oferece recursos detalhados de rastreamento em 6 áreas principais: aviação, marítimo, espaço, geopolítica, vigilância e inteligência de sinais, com cada camada controlável individualmente
- Implantação fácil com Docker/Podman e automação da integração com APIs simplificam o self-hosting e a configuração do ambiente de desenvolvimento
- Todos os dados são coletados de fontes públicas de OSINT, com uso explicitamente limitado a fins educacionais e de pesquisa
Visão geral
- ShadowBroker é um painel de inteligência de fontes abertas em tempo real (Real-Time OSINT) multidomínio que integra dezenas de feeds públicos de dados e os exibe em uma única interface de mapa escuro
- Rastreia em tempo real aeronaves, navios, satélites, terremotos, zonas de conflito, redes de CCTV, interferência de GPS e eventos geopolíticos
- É composto por Next.js, MapLibre GL, FastAPI e Python, e foi projetado como uma ferramenta de visualização para analistas, pesquisadores e entusiastas de OSINT
Principais casos de uso
- Rastreamento de jatos particulares de bilionários
- Monitoramento de passagens orbitais de satélites
- Vigilância do tráfego marítimo global
- Detecção de zonas com interferência de GPS
- Observação em tempo real de terremotos e desastres
Resumo dos recursos
🛩️ Rastreamento aéreo (Aviation Tracking)
- Exibição da posição em tempo real de mais de 5.000 aeronaves comerciais via OpenSky Network
- Classificação separada de aeronaves privadas e militares e rastreamento de jatos executivos com informações de proprietários
- Suporte a recursos detalhados como acúmulo de trajetória de voo, detecção de órbitas/circulações e indicação de estado em solo
- Fornece ícones SVG precisos por tipo de aeronave
🚢 Rastreamento marítimo (Maritime Tracking)
- Dados em tempo real de cerca de 25.000 embarcações via aisstream.io WebSocket
- Diferenciação por cores por tipo de embarcação (carga, petroleiro, passageiros, navio de guerra etc.)
- Estimativa baseada em OSINT da posição de 11 porta-aviões da Marinha dos EUA e automação de scraping de notícias do GDELT
- Suporte a camada dedicada para cruzeiros e embarcações de passageiros e exibição em clusters por nível de zoom
🛰️ Espaço e satélites (Space & Satellites)
- Exibição orbital em tempo real de mais de 2.000 satélites com base em CelesTrak TLE + SGP4
- Diferenciação por cores por tipo de missão: reconhecimento militar (vermelho), SAR (ciano), SIGINT (branco), navegação (azul), alerta antecipado (magenta), imagem comercial (verde), estação espacial (dourado)
🌍 Geopolítica e conflitos (Geopolitics & Conflict)
- Agregação de cerca de 1.000 incidentes de conflito das últimas 8 horas com base no GDELT
- Dados em tempo real da linha de frente na Ucrânia via DeepState Map
- Disponibiliza feed de notícias SIGINT/RISINT e painel de informações regionais
- Inclui população, capital, idioma, moeda, área, forma de governo, liderança do país (Wikidata) e resumo da Wikipedia
📷 Vigilância (Surveillance)
- Integração de mais de 2.000 streams ao vivo de CCTV de trânsito
- Londres (TfL), Austin (TxDOT), Nova York (NYC DOT), Singapura (LTA) etc.
- Suporte a detecção e renderização automáticas de feeds e exibição em clusters com base no zoom
📡 Inteligência de sinais (Signal Intelligence)
- Detecção de interferência de GPS: visualização de áreas de interferência por meio da análise dos valores NAC-P das aeronaves
- Painel de interceptação de rádio: interface no estilo de escuta de comunicações por rádio
🌐 Camadas adicionais
- Inclui dados sísmicos do USGS (24 horas), linha dia/noite, índices do mercado financeiro em tempo real e ferramenta de medição de distância e direção
Arquitetura do sistema
- Frontend (Next.js): mapa 2D WebGL baseado em MapLibre GL, feed de notícias SIGINT, painel de controle, módulos de mercado e rádio
- Backend (FastAPI): coleta periódica de múltiplas fontes de dados (OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV etc.)
- Os dados são enviados ao frontend via REST API em intervalos de 60 a 120 segundos
Fontes de dados e APIs
| Fonte | Dados | Frequência de atualização | Chave de API |
|---|---|---|---|
| OpenSky Network | Aeronaves comerciais e privadas | ~60 s | Opcional |
| adsb.lol | Aeronaves militares | ~60 s | Não necessária |
| aisstream.io | Posição de embarcações | Tempo real | Necessária |
| CelesTrak | Órbitas de satélites | ~60 s | Não necessária |
| USGS | Terremotos | ~60 s | Não necessária |
| GDELT | Incidentes de conflito | ~6 h | Não necessária |
| DeepState Map | Linha de frente na Ucrânia | ~30 min | Não necessária |
| TfL, TxDOT, NYC DOT, LTA | CCTV de trânsito | ~5 min | Algumas necessárias |
| RestCountries, Wikidata, Wikipedia | Informações de países e mapa | Sob demanda | Não necessária |
Instalação e execução
Baseado em Docker/Podman
- Após
git clone, execução automática com o comando./compose.sh up -d - Portas padrão: frontend
3000, backend8000 - É possível redefinir a porta com a variável de ambiente
NEXT_PUBLIC_API_URL
Ambiente de desenvolvimento para modificar o código
- Requer Node.js 18+ e Python 3.10~3.12
- Chave de API do
aisstream.ioobrigatória; chaves deOpenSkyeLTAopcionais - Execução simultânea de frontend e backend com
npm run dev
Controle das camadas de dados
- Todas as camadas podem ser alternadas individualmente, incluindo aeronaves, satélites, navios, terremotos, CCTV, conflitos e interferência de GPS
- Ativadas por padrão: aeronaves comerciais e militares, satélites, porta-aviões, terremotos, conflitos, interferência de GPS e linha dia/noite
Otimização de desempenho
- Processamento eficiente de grandes volumes de dados em tempo real com compressão Gzip (92%), cache com ETag, viewport culling, renderização em clusters e redução da precisão das coordenadas (5 casas decimais)
- Carga de renderização minimizada com React.memo e debounce (300 ms)
Variáveis de ambiente
- Obrigatória:
AIS_API_KEY - Opcionais:
OPENSKY_CLIENT_ID,OPENSKY_CLIENT_SECRET,LTA_ACCOUNT_KEY
Isenção de responsabilidade e licença
- Todos os dados são baseados em fontes públicas de OSINT, sem uso de informações privadas ou confidenciais
- Proibido o uso para fins militares ou de inteligência, limitado a educação e pesquisa
- É necessário cumprir os termos de uso de cada provedor de API
Estrutura do projeto
- backend/: app FastAPI, agendador de coleta de dados, processamento de dados de CCTV, porta-aviões e conflitos
- frontend/: componentes em Next.js para mapa, painéis, filtros, notícias, mercado e rádio
- Inclui scripts de implantação automática como docker-compose.yml e compose.sh
Resumo
- ShadowBroker é uma plataforma open source que integra e visualiza dados globais de OSINT em tempo real
- Permite analisar, em um único mapa, múltiplos domínios como aviação, marítimo, espaço, geopolítica, vigilância e sinais
- Oferece implantação fácil com Docker, renderização de alto desempenho e uso exclusivo de dados públicos
- É uma ferramenta de inteligência em tempo real útil para pesquisadores de segurança e análise de inteligência e engenheiros de dados em startups
5 comentários
ShadowBroker! Faz tempo que isso me fez lembrar de Mass Effect 2. https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)
Vi os comentários no Hacker News e caí na risada
"No primeiro commit, os arquivos
./frontend/.env.locale./backend/.envdentro do zip tinham sido vazados""Por isso o nome é OSINT (Open Source Intelligence). Está tudo público"
Baixei para ver e realmente existe.
kkk ah, isso é meio engraçado kkk
Opiniões do Hacker News
Fico me perguntando se é desejável ter esse nível de consciência excessiva sobre dados em relação aos quais, na prática, não se pode tomar nenhuma ação, ou se isso é apenas um caminho para estresse e queda na autoeficácia
Trabalhar para otimizar alguns geojson como tiles em tempo real foi um projeto realmente divertido e envolvente
Queria saber se você já viu estes projetos → PMTiles, Martin
Por isso, estou conseguindo um movimento bem suave no mapa, quase no nível de uma animação a 60fps
Mais tarde, quando eu passar a arquivar dados de aviação e AIS com base em PostGIS, talvez faça sentido migrar para o Martin, mas por causa do foco em tempo real eu teria de invalidar o cache de tiles o tempo todo, então por enquanto seria uma escolha excessiva
Já configurei isso em um projeto agrícola no passado e funcionou bem
Esse projeto parece semelhante ao monitor-the-situation.com
A descrição “ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard” parece um pouco exagerada
Algo como “Air and Space domain awareness” parece mais preciso
Geospatial intelligence normalmente se refere à coleta de informações baseada em imagens de satélite, e “spectrum” muitas vezes remete ao espectro da luz
No primeiro commit, houve vazamento de
./frontend/.env.locale./backend/.envdentro deShadowBroker_v0.1.zipProjeto muito legal. Lembrei deste link
Preciso terminar, mas ainda não tive tempo
Ótima agregação de dados. Ainda assim, seria bom adicionar um sinal de staleness ao pipeline dos feeds
Algumas fontes (especialmente feeds de ameaças) são atualizadas em intervalos de horas, não de segundos, então exibir o horário da última atualização de cada fonte ajudaria a avaliar o frescor dos dados
Muito legal mesmo. Obrigado por compartilhar.
Fico curioso sobre quanto sairia de custo de API se isso rodasse por algumas horas por dia durante cerca de um mês. Queria saber se fica em um nível viável
Projeto muito bacana. Mas o conceito, os feeds e o design no geral lembram bastante o worldmonitor.app
Só como referência, eles também já disponibilizaram isso como serviço ao vivo