
실시간 지리공간 OSINT 플랫폼으로, 60개 이상의 공공 원격 측정 피드(ADS-B, AIS, 위성, CCTV)를 통합 지도에 집계하며 서버 측 정찰 도구 키트, AI 에이전트 채널, 분산 메시 통신 기능을 제공합니다.
글로벌 위협 차단 — 실시간 지리공간 인텔리전스 플랫폼
ShadowBroker는 60개 이상의 실시간 인텔리전스 피드에서 수집한 실시간 다영역 OSINT 텔레메트리를 단일 다크옵스 지도 인터페이스로 집계하는 탈중앙화 인텔리전스 플랫폼입니다. 항공기, 선박, 위성, 분쟁 지역, CCTV 네트워크, GPS 재밍, 인터넷 연결 기기, 경찰 스캐너, 메시 라디오 노드, 속보 지정학적 사건 등이 모두 한 화면에서 실시간으로 업데이트되며, 난독화된 통신 프로토콜과 정보 교환 인프라도 포함합니다.
Next.js, MapLibre GL, FastAPI, Python으로 구축되었습니다. SAR 지표 변화 탐지, Telegram OSINT(공개 채널 미리보기를 지도상에 지오파싱), 서버 측 정찰 툴킷(DNS, WHOIS, 제재, BGP, IP 스윕 등), 공급망 리스크 오버레이, 악성코드/C2 및 CISA KEV 사이버 위협 피드를 포함한 40개 이상의 토글 가능한 데이터 레이어를 제공합니다. 다양한 시각 모드(DEFAULT / SATELLITE / FLIR / NVG / CRT)를 지원합니다. 지구상의 임의 지점을 마우스 오른쪽 버튼으로 클릭하면 국가 정보 문서, 국가원수 조회, 엔티티 그래프 확장, 최신 Sentinel-2 위성 사진을 볼 수 있습니다. ShadowBroker에는 계정, 제품 텔레메트리, 분석 기능이 없으며, 대시보드는 자체 호스팅 백엔드와 통신합니다. 민감한 정찰 및 Shodan 쿼리는 브라우저에서 타사 API로 직접 전송되지 않고, SSRF 가드와 로컬 운영자 인증을 갖춘 백엔드를 통해 프록시됩니다. OpenClaw / 에이전트 명령 채널은 동일한 정찰 백엔드와 전체 텔레메트리 검색을 노출하므로 별도의 API 통합이 필요하지 않습니다.
분석가, 연구자, 무선 운영자, 그리고 모든 공개 신호가 하나의 지도에 표시될 때 세상이 어떤 모습인지 보고 싶어 하는 모든 사람을 위해 설계되었습니다.
놀라울 정도로 많은 글로벌 텔레메트리가 이미 공개되어 있습니다 — 항공기 ADS-B 방송, 해상 AIS 신호, 위성 궤도 데이터, 지진 센서, 메시 라디오 네트워크, 경찰 스캐너 피드, 환경 모니터링 스테이션, 인터넷 인프라 텔레메트리 등이 있습니다. 이 데이터는 수십 개의 도구와 API에 흩어져 있습니다. ShadowBroker는 이 모든 것을 하나의 인터페이스로 결합합니다.
이 프로젝트는 새로운 감시 기능을 도입하지 않으며, 기존 공개 데이터셋을 집계하고 시각화합니다. 완전한 오픈소스이므로 누구나 어떤 데이터에 어떻게 접근하는지 정확히 감사할 수 있습니다. ShadowBroker에는 제품 텔레메트리, 분석, 계정이 포함되지 않습니다. 운영자가 제공한 키는 로컬 배포 환경에 유지되지만, 실시간 OSINT 기능은 활성화하거나 쿼리하는 공개 데이터 제공자에게 필연적으로 아웃바운드 요청을 보냅니다.
ShadowBroker에는 운영자가 제공한 API 액세스(SHODAN_API_KEY)를 위한 선택적 Shodan 커넥터와 키 없이 OSINT 조회를 위한 정찰 툴킷 패널이 포함되어 있습니다. 둘 다 서버 측에서만 실행됩니다. 브라우저는 자체 호스팅된 /api/osint/* 및 /api/tools/shodan/* 라우트를 호출하며, 아웃바운드 요청은 SSRF 검증 후 백엔드에서 이루어집니다. 정찰에는 로컬 운영자 액세스가 필요합니다(레이어 토글 및 관리자 라우트와 동일한 신뢰 모델). Shodan 결과는 별도의 지도 오버레이로 렌더링되며 Shodan의 서비스 약관이 적용됩니다.
search_telemetry, search_news), 전체 정찰 툴킷(IP/DNS/WHOIS/제재/CVE 등을 위한 osint_lookup), 엔티티 그래프 확장, 핀 배치, 지도 제어, SAR 지표 변화, 메시 네트워킹, 알림 전달 기능을 갖습니다. 운영자가 보는 모든 것을 보고 지도에서 실시간으로 조치를 취할 수 있습니다.t.me/s 전쟁/분쟁 피드(OSINTdefender, NEXTA 등)를 매시간 스크래핑하고, 위험 점수를 산정하며, 대도시 기준점으로 지오파싱한 뒤 인라인 미디어와 함께 클릭 가능한 지도 핀으로 표시⚡ 빠른 시작 (Docker)
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d
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
두 경로 모두 동일한 컨테이너를 생성합니다 — 동일한 소스, 동일한 CI, 바이트 단위로 동일한 이미지입니다. 이미 사용 중인 생태계를 선택하세요.
http://localhost:3000을 열어 대시보드를 확인하세요! ( Docker Desktop 또는 Docker Engine 필요)
프라이빗 InfoNet 스웜(sb-testnet-0)에 참여하기: 대시보드에서 NODE를 클릭하거나, 헤드리스 참가자로 실행하려면
./meshnode.sh를 실행하세요. 수동 피어 목록은 필요 없습니다 — 플릿 기본값이 시드를 자동으로 검색하고 서명된 매니페스트를 가져옵니다. 프라이빗 단독 노드로 사용하려면.env에서MESH_INFONET_FLEET_JOIN=false로 설정하세요.
백엔드 포트가 이미 사용 중인가요? 브라우저는 포트
3000만 필요하지만, 백엔드 API는 로컬 진단을 위해 호스트 포트8000에도 게시됩니다. 다른 앱이 이미8000을 사용 중이라면docker-compose.yml옆에.env를 생성하거나 편집하여BACKEND_PORT=8001로 설정한 후docker compose up -d를 실행하세요.
몇 분이 지나도 뉴스/UAP/기지/폐수 데이터가 비어 있나요?
docker events --since 30m --filter container=shadowbroker-backend --filter event=oom으로 백엔드 OOM 재시작 여부를 확인하세요. 기본 compose 파일은 백엔드에 4GB를 할당합니다. 호스트 메모리가 부족하다면 활성화된 피드를 줄이거나BACKEND_MEMORY_LIMIT=3G로 설정하세요. 이 경우 느리거나 무거운 레이어가 더 점진적으로 준비될 수 있습니다.
Podman 사용자: Podman은 작동하지만,
podman compose는 래퍼이며 여전히 Compose 프로바이더가 설치되어 있어야 합니다. Windows/WSL에서looking up compose provider failed가 표시되면podman-compose를 설치하고, 클론한Shadowbroker폴더 안에서podman-compose pull후podman-compose up -d를 실행하세요. Linux/macOS/WSL 셸에서는./compose.sh --engine podman pull과./compose.sh --engine podman up -d를 사용할 수도 있습니다.
🔄 업데이트 방법
ShadowBroker는 사전 빌드된 Docker 이미지를 사용하므로 로컬 빌드가 필요 없습니다. 업데이트는 몇 초면 완료됩니다:
docker compose pull
docker compose up -d
그게 전부입니다. pull은 최신 이미지를 가져오고, up -d는 컨테이너를 재시작합니다.
이전 버전에서 오셨나요? 먼저 최신 저장소 코드를 가져온 다음 이미지를 가져오세요:
git pull origin main docker compose down docker compose pull docker compose up -dPodman 사용자는 동등한 프로바이더 명령을 실행해야 합니다. 예를 들어
podman-compose pull및podman-compose up -d를 사용하거나, bash 호환 셸에서./compose.sh --engine podman pull및./compose.sh --engine podman up -d를 사용하세요.
Docker 업데이트는 서명된 컨테이너 레지스트리를 통해 전달됩니다. 레거시 ZIP 자체 업데이터는 다음 순서로 이 체인을 통해 릴리스 아카이브를 검증합니다:
MESH_UPDATE_SHA256.backend/data/release_digests.json.SHA256SUMS.txt 에셋.릴리스 관리자는 게시하기 전에 python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip>를 실행한 다음, ZIP 업데이터 대상을 배포할 때 SHA256SUMS.txt를 게시하고 backend/data/release_digests.json을 업데이트해야 합니다. 업데이터는 번들 다이제스트가 누락되었을 때 닫힌 상태로 실패하는 대신 운영자 재정의 경로를 그대로 유지하므로, 기존 설치가 릴리스 프로세스 실수로 인해 고립되지 않습니다.