
실시간 지리공간 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 조회를 위한 정찰 도구 모음(Recon Toolkit) 패널을 포함합니다. 둘 다 서버 측에서만 실행됩니다: 브라우저는 자체 호스팅된 /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
### GitLab에서 (GitLab Container Registry 사용)```bash
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 이미지를 사용합니다—로컬 빌드가 필요하지 않습니다. 업데이트는 몇 초밖에 걸리지 않습니다:```bash docker compose pull docker compose up -d
그게 다입니다. `pull`은 최신 이미지를 가져오고, `up -d`는 컨테이너를 다시 시작합니다.
> **이전 버전에서 오셨나요?** 먼저 최신 저장소 코드를 가져온 후, 이미지를 가져오세요:
>
> ```bash
> git pull origin main
> docker compose down
> docker compose pull
> docker compose up -d
> ```
>
> Podman 사용자는 해당 제공자 명령어를 실행해야 합니다. 예를 들어 `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`.
* 번들 고정이 없을 때 GitHub의 릴리스 `SHA256SUMS.txt` 자산.
릴리스 유지 관리자는 게시 전에 `python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip>`를 실행한 다음, ZIP 업데이트 대상을 배송할 때 `SHA256SUMS.txt`를 게시하고 `backend/data/release_digests.json`을 업데이트해야 합니다. 업데이트 프로그램은 번들 다이제스트가 누락된 경우 오류로 종료하지 않고 운영자 재정의 경로를 그대로 유지하므로, 릴리스 프로세스 오류로 인해 기존 설치가 중단되지 않습니다.
### CSP 강화
프로덕션 프론트엔드는 수화 호환 CSP와 `Content-Security-Policy-Report-Only`의 엄격한 nonce 전용 CSP와 함께 제공됩니다. 배포에서 정확한 빌드가 올바르게 수화되는지 확인한 후에만 `SHADOWBROKER_STRICT_CSP=1`을 설정하세요. 런타임 Google 글꼴은 필요하지 않습니다. 번들된 Next 글꼴 파이프라인이 앱 빌드에서 대시보드 글꼴을 제공합니다.
### ⚠️ **이전 버전에서 막혀 있나요?**