
Геопространственная OSINT-платформа реального времени, объединяющая более 60 публичных телеметрических каналов (ADS-B, AIS, спутники, CCTV) на единой карте с серверным набором инструментов разведки, каналом AI-агента и децентрализованной ячеистой связью.
Глобальное перехватывание угроз — платформа геопространственной разведки в реальном времени
ShadowBroker — это децентрализованная платформа разведки, которая агрегирует многодоменную OSINT-телеметрию в реальном времени из 60+ живых источников в единый интерфейс карты теневых операций. Самолёты, корабли, спутники, зоны конфликтов, сети видеонаблюдения, глушение GPS, подключённые к интернету устройства, полицейские сканеры, узлы ячеистой радиосети и прорывные геополитические события — всё обновляется в реальном времени на одном экране, а также обфусцированный протокол связи и инфраструктура обмена информацией.
Построен на Next.js, MapLibre GL, FastAPI и Python. 40+ переключаемых слоёв данных, включая обнаружение изменений поверхности с помощью SAR, Telegram OSINT (предпросмотры публичных каналов, геопарсированные на карту), серверный набор инструментов разведки (DNS, WHOIS, санкции, BGP, IP-сканирование и другое), наложения рисков цепочки поставок и каналы киберугроз malware/C2 + CISA KEV. Несколько визуальных режимов (DEFAULT / SATELLITE / FLIR / NVG / CRT). Щелкните правой кнопкой мыши по любой точке Земли для получения досье страны, поиска главы государства, расширения графа сущностей и последнего спутникового снимка Sentinel-2. ShadowBroker не имеет учетных записей, телеметрии продукта или аналитики; панель управления общается с вашим собственным бэкендом. Конфиденциальные разведывательные запросы и запросы Shodan никогда не обращаются к сторонним API из браузера — они проксируются через бэкенд с защитой SSRF и аутентификацией локального оператора. Канал команд OpenClaw / агента предоставляет те же бэкенды разведки, а также полный поиск телеметрии — не требуется отдельная интеграция API.
Разработано для аналитиков, исследователей, радиолюбителей и всех, кто хочет увидеть, как выглядит мир, когда каждый публичный сигнал находится на одной карте.
Удивительно большой объем глобальной телеметрии уже является публичным — самолётные передачи ADS-B, морские сигналы AIS, данные спутниковых орбит, датчики землетрясений, сети ячеистого радио, полицейские сканеры, станции экологического мониторинга, телеметрия интернет-инфраструктуры и многое другое. Эти данные разбросаны по десяткам инструментов и API. ShadowBroker объединяет всё это в единый интерфейс.
Проект не вводит новых возможностей слежения — он агрегирует и визуализирует существующие публичные наборы данных. Он полностью открыт, так что любой может проверить, какие данные и как используются. ShadowBroker не включает телеметрию продукта, аналитику или учетные записи. Ключи оператора хранятся в вашем локальном развёртывании, но живые функции OSINT по необходимости делают исходящие запросы к публичным поставщикам данных, которые вы включаете или запрашиваете.
ShadowBroker включает опциональный коннектор Shodan для доступа к API через ключ оператора (SHODAN_API_KEY) и панель Recon Toolkit для бесключевых OSINT-запросов. Оба работают только на стороне сервера: браузер вызывает ваши маршруты /api/osint/* и /api/tools/shodan/*; исходящие запросы выполняются бэкендом после проверки SSRF. Разведка требует доступа локального оператора (та же модель доверия, что и переключатели слоёв и административные маршруты). Результаты Shodan отображаются в виде отдельного наложения на карту и подчиняются условиям использования Shodan.
search_telemetry, search_news), полный набор инструментов разведки (osint_lookup для IP/DNS/WHOIS/санкций/CVE и т.д.), расширение графа сущностей, размещение меток, управление картой, SAR-обнаружение изменений поверхности, ячеистые сети и доставку оповещений. Он видит всё, что видит оператор, и может выполнять действия на карте в реальном времени.⚡ Быстрый старт (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для безголового участника. Никакого ручного списка узлов — флот по умолчанию находит seed и автоматически загружает подписанный манифест. УстановитеMESH_INFONET_FLEET_JOIN=falseв.envдля частного изолированного узла.
Порт бэкенда уже занят? Браузеру нужен только порт
3000, но API бэкенда также публикуется на порту хоста8000для локальной диагностики. Если другое приложение уже использует8000, создайте или отредактируйте.envрядом сdocker-compose.ymlи установитеBACKEND_PORT=8001, затем запуститеdocker compose up -d.
Пустые новости/UAP/базы/сточные воды через несколько минут? Проверьте перезапуски бэкенда из-за OOM с помощью
docker events --since 30m --filter container=shadowbroker-backend --filter event=oom. Файл compose по умолчанию выделяет бэкенду 4 ГБ; если на вашем хосте меньше памяти, уменьшите количество включенных фидов или установитеBACKEND_MEMORY_LIMIT=3Gи ожидайте, что более тяжелые слои будут прогреваться медленнее.
Пользователи Podman: Podman работает, но
podman compose— это обертка, и все равно требуется установленный провайдер Compose. На Windows/WSL, если вы видитеlooking up compose provider failed, установитеpodman-composeи выполнитеpodman-compose pull, а затемpodman-compose up -dиз папки клонированного репозиторияShadowbroker. На оболочках 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`, или использовать `./compose.sh --engine podman pull` и `./compose.sh --engine podman up -d` в bash-совместимой оболочке.
### Целостность обновлений
Обновления Docker доставляются через подписанные реестры контейнеров. Устаревший ZIP-самообновитель проверяет архивы релизов по следующей цепочке (в порядке приоритета):
* `MESH_UPDATE_SHA256`, если оператор явно задаёт дайджест.
* `backend/data/release_digests.json` для встроенных привязок релизов.
* Файл `SHA256SUMS.txt` релиза на GitHub, если встроенная привязка отсутствует.
Сопровождающие релизов должны запускать `python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip>` перед публикацией, затем публиковать `SHA256SUMS.txt` и обновлять `backend/data/release_digests.json` при поставке цели обновления через ZIP. Обновитель сохраняет нетронутым путь переопределения оператора вместо того, чтобы завершаться ошибкой при отсутствии встроенных дайджестов, чтобы существующие установки не оставались заблокированными из-за ошибки в процессе выпуска.
### Усиление CSP
Production-фронтенд поставляется с CSP, совместимым с гидратацией, и строгим CSP только с nonce в заголовке `Content-Security-Policy-Report-Only`. Устанавливайте `SHADOWBROKER_STRICT_CSP=1` только после проверки того, что точная сборка гидратируется корректно в вашем окружении. Runtime Google Fonts не требуются; встроенный конвейер шрифтов Next обслуживает шрифты панели управления из сборки приложения.
### ⚠️ **Застряли на старой версии?**
**Если `git pull` завершается ошибкой или `docker compose up` продолжает собирать из исходников вместо загрузки образов**, ваш клон предшествует миграции репозитория марта 2026 года, которая переписала историю коммитов. Обычный `git pull` это не исправит. Выполните:```bash
# 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
Как понять, что вы затронуты: Если docker compose up показывает RUN apt-get, RUN npm ci или RUN pip install — значит, сборка происходит из исходного кода, а не из предварительно собранных образов. Вам нужен свежий клон.
Другие способы устранения неисправностей:
docker compose pull --no-cachedocker image prune -fdocker compose logs -f backendДля развёртывания в режиме высокой доступности или домашних лабораторных кластеров ShadowBroker поддерживает развёртывание через Helm. Эта диаграмма основана на шаблоне bjw-s-labs и обеспечивает надёжную, модульную настройку как для бэкенда, так и для фронтенда.
1. Добавление репозитория:```bash helm repo add bjw-s-labs https://bjw-s-labs.github.io/helm-charts/ helm repo update
**2. Установите чарт:**```bash
# 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. Ключевые особенности:
Особая благодарность @chr0n1x за вклад в первоначальную архитектуру Kubernetes.
ShadowBroker v0.9.7 поставляется с InfoNet (децентрализованная интеллектуальная сеть + экономика управления Sovereign Shell), агентическим командным каналом ИИ (поддерживает OpenClaw и любого агента, подписывающего HMAC), воспроизведением снимков Time Machine и обнаружением изменений наземного покрова SAR. Это экспериментальная тестовая сеть — не приватный мессенджер и не производственная система управления.
Первый децентрализованный уровень коммуникации и управления интеллектом, встроенный непосредственно в платформу OSINT. Никаких аккаунтов, регистрации или удостоверения личности не требуется. v0.9.7 превращает InfoNet из чат-слоя в полноценную экономику управления с четким путем к платформе децентрализованного интеллекта, сохраняющей конфиденциальность.
Коммуникационный слой (начиная с v0.9.6):
send, dm, рыночные команды, проверка состояния шлюза. Перетаскиваемая панель, сворачивается в верхнюю панель. Введите help, чтобы увидеть все команды.Sovereign Shell — экономика управления (НОВОЕ в v0.9.7):
Репозиторий включает docker-compose.yml, который извлекает предварительно собранные образы из GitHub Container Registry.```bash
git clone https://github.com/BigBodyCobain/Shadowbroker.git
cd Shadowbroker
docker compose pull docker compose up -d
Откройте `http://localhost:3000`, чтобы увидеть панель управления.
> **Публичное развёртывание или в локальной сети?** Для большинства конфигураций настройка не требуется.
> Фронтенд проксирует все вызовы API через сервер Next.js на `BACKEND_URL`,
> который по умолчанию равен `http://backend:8000` (внутренняя сеть Docker).
> Хост-порт `8000` опубликован только для локального доступа к API/отладке (`127.0.0.1:8000`
> в `docker-compose.yml`). Если он конфликтует с другим сервисом, установите
> `BACKEND_PORT=8001` в `.env`; оставьте `BACKEND_URL` как `http://backend:8000`,
> потому что это внутренний порт Docker.
>
> **Запуск бэкенда вне Docker** (`cd backend && python main.py`):
> сервер разработки привязывается только к **loopback** (`127.0.0.1:8000`), поэтому другие машины
> в вашей локальной сети не смогут обращаться к маршрутам администрирования/локального доверия с пустым `ADMIN_KEY`. Установите
> `SHADOWBROKER_DEV_BIND_ALL=true` в `.env` только когда вам намеренно нужен
> `0.0.0.0` и используйте надёжный `ADMIN_KEY` для всех внешних вызывающих.
> Ограничение памяти бэкенда контролируется параметром `BACKEND_MEMORY_LIMIT` и по умолчанию
> равно `4G`. Если Docker сообщает о событиях OOM, бэкенд перезапустится, и медленные
> слои могут выглядеть пустыми, пока не заполнятся заново.
>
> Если ваш бэкенд работает на **другом хосте или порту**, установите `BACKEND_URL` во время выполнения — пересборка не требуется:
>
> ```bash
> # Linux / macOS
> BACKEND_URL=http://myserver.com:9096 docker compose up -d
>
> # Podman (via compose.sh wrapper)
> BACKEND_URL=http://192.168.1.50:9096 ./compose.sh up -d
>
> # Windows (PowerShell)
> $env:BACKEND_URL="http://myserver.com:9096"; docker compose up -d
>
> # Or add to a .env file next to docker-compose.yml:
> # BACKEND_URL=http://myserver.com:9096
> ```
**Пользователи Podman:** Не передавайте URL GitHub в `podman compose pull`; сначала склонируйте репозиторий, `cd Shadowbroker`, затем запускайте compose из этой папки. `podman compose` также требует провайдера Compose. Если Podman сообщает `looking up compose provider failed`, установите один:```bash
# Linux / macOS / WSL
python3 -m pip install --user podman-compose
podman-compose pull
podman-compose up -d
Нет необходимости клонировать репозиторий. Используйте готовые образы из GitHub Container Registry. Образы из реестра GitLab могут использоваться как зеркало, если вы публикуете их там.
Создайте docker-compose.yml со следующим содержимым и разверните его напрямую — вставьте в редактор стека Portainer, uncloud deploy или любой Docker-хост:```yaml
services: backend: image: ghcr.io/bigbodycobain/shadowbroker-backend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest container_name: shadowbroker-backend ports: - "${BACKEND_PORT:-8000}:8000" environment: - AIS_API_KEY=your_aisstream_key # Required — get one free at aisstream.io - OPENSKY_CLIENT_ID= # Optional — higher flight data rate limits - OPENSKY_CLIENT_SECRET= # Optional — paired with Client ID above - LTA_ACCOUNT_KEY= # Optional — Singapore CCTV cameras - SHODAN_API_KEY= # Optional — Shodan device search overlay - SH_CLIENT_ID= # Optional — Sentinel Hub satellite imagery - SH_CLIENT_SECRET= # Optional — paired with Sentinel Hub ID - CORS_ORIGINS= # Optional — comma-separated allowed origins volumes: - backend_data:/app/data restart: unless-stopped
Все 41 слой независимо переключаются с левой панели:
Платформа оптимизирована для обработки массивных наборов данных в реальном времени:
304 Not Modified пропускают избыточный синтаксический анализ JSONsetData()Новые участники могут использовать docs/contributor-map.md для более краткого ознакомительного руководства.
| Канал | Статус конфиденциальности | Подробности |
|---|
| Meshtastic / APRS | ПУБЛИЧНЫЙ | RF-радиопередачи являются публичными и перехватываемыми по своей конструкции. |
| InfoNet Gate Chat | ЗАПУТАН | Сообщения запутываются с помощью аватаров шлюзов и канонической подписи полезной нагрузки, но НЕ сквозного шифрования. Метаданные не скрыты, несмотря на то, что предназначены для прохождения через Tor и Reticulum (работа в процессе). |
| Dead Drop DMs | САМЫЙ СИЛЬНЫЙ ТЕКУЩИЙ КАНАЛ | Токен-ориентированный почтовый ящик эпохи с верификацией слов SAS. Самый сильный канал в этой сборке, но пока не является уверенно приватным. |
| Управление Sovereign Shell | ПУБЛИЧНЫЙ РЕЕСТР | Петиции, голосования, хэши обновлений и ставки в спорах являются подписанными событиями в публичной хэш-цепочке. Псевдоним через аватар шлюза, но действия по управлению намеренно наблюдаемы. |
| Примитивы конфиденциальности (RingCT / stealth / DEX) | ЕЩЕ НЕ ПОДКЛЮЧЕНЫ | Заблокированные контракты протокола на месте, но криптографическая схема еще не выбрана. Крейт Rust privacy-core является целью интеграции для будущего спринта. |
Не передавайте ничего конфиденциального ни по одному каналу. Пока что относитесь ко всем каналам как к открытым и публичным. Сквозное шифрование и более глубокая нативная/ Tauri-закалка являются следующими вехами. Если вы форкнете этот проект, сохраните эти метки нетронутыми и не делайте более сильных заявлений о конфиденциальности, чем позволяет реализация.
Для полной картины того, от чего на самом деле защищает сеть, а от чего нет, прочитайте модель угроз и согласование утверждений. Каждое предложение выше сопоставлено там с путем кода, который его реализует (или не реализует).
UPDATE_PARAM, BATCH_UPDATE_PARAMS, ENABLE_FEATURE и DISABLE_FEATURE. Настраиваемые параметры (knobs) изменяются голосованием — развертывание кода не требуется.repr(), чтобы хэши проходили по цепочке безошибочно.MappingProxyType.Зона развёртывания примитивов конфиденциальности (НОВОЕ в v0.9.7):
services/infonet/privacy/contracts.py для кольцевых подписей, скрытых адресов, обязательств Педерсена, доказательств диапазона и сопоставления DEX. Крейт Rust privacy-core является целью интеграции — ни один вызывающий модуль конфиденциальности не должен знать, какая схема активна.Экспериментальная тестовая сеть — Без гарантии конфиденциальности: Сообщения InfoNet запутаны, но НЕ зашифрованы сквозным шифрованием. Сеть Mesh (Meshtastic/APRS) НЕ является приватной — радиопередачи по своей природе публичны. Контракты примитивов конфиденциальности созданы, но еще не подключены. Не отправляйте ничего конфиденциального ни по одному каналу. Пока что относитесь ко всем каналам как к открытым и публичным.
Адаптировано из стека разведки OSIRIS (MIT) с прокси-моделью ShadowBroker. Атрибуция: backend/third_party/osiris/NOTICE.md.
Набор инструментов разведки (левая боковая панель — только локальный оператор):
us_ofac_sdn (CC-BY); перекрестные проверки по сущностям WHOIS и строкам ISP/org IP/api/osint/sweep/scan геолоцирует целевой диапазон /24–/32 и проксирует обнаружение хостов Shodan InternetDB на стороне сервера (браузер никогда не контактирует напрямую с InternetDB)Граф сущностей — Выберите любую сущность на карте, чтобы открыть панель Графа сущностей (GET /api/entity/expand). Разрешает самолеты, суда, компании, лица, IP-адреса и страны в граф узлов/связей (Wikidata SPARQL + OFAC + хранилище рейсов/судов в памяти).
OpenClaw / доступ агента — Те же бэкенды разведки доступны по командному каналу HMAC (без шлюза локального оператора браузера): osint_lookup (пассивный IP/DNS/WHOIS/сертификаты/BGP/санкции/CVE/MAC/GitHub/утечки/угрозы), entity_expand (граф отношений) и osint_sweep (активное сканирование подсети — полный уровень доступа). Вызов osint_tools для вывода списка поддерживаемых типов поиска. Пакет навыков: openclaw-skills/shadowbroker/ (SKILL.md + sb_query.py).
Наложение Shodan (без изменений):
sar_pin_click) и перемещать карту оператора в центр любого AOI (sar_focus_aoi) — что позволяет реализовать коллаборативные рабочие процессы аналитиков.frontend/public/data/submarine-cables.json). Наложение линий по желанию./api/cyber-threats и переключение слоя./api/country-risk.t.me/s/*) из настраиваемых каналов войны/OSINT. Ежечасное инкрементальное слияние (без избыточного повторного сбора), оценка риска по ключевым словам, псевдонимы мест на кириллице и арабском, геокодирование по метро-якорям (отдельно от центроидов новостей), встроенные фото/видео через прокси /api/telegram/media. Ключ слоя: telegram_osint.Gaza
ShadowBroker предоставляет двунаправленный канал команд ИИ-агентов — подписанный мост с ограничением по уровням, который дает любому совместимому ИИ-агенту полный доступ на чтение и запись к платформе разведки. OpenClaw является эталонным агентом, но канал — это открытый протокол: любой агент на основе LLM, который подписывает запросы с помощью HMAC-SHA256 (Claude Code, GPT, LangChain, пользовательские клиенты Python/TypeScript или ваша собственная интеграция), может подключиться как аналитик, видящий те же данные, что и оператор, и выполнять действия на карте. ShadowBroker не включает в себя LLM, среду выполнения агента или веса моделей — он предоставляет интерфейс; вы приносите агента.
v0.9.7 превращает ShadowBroker из панели, за которой следит человек, в разведывательную поверхность, с которой может работать любой агент.
Транспорт канала (НОВОЕ в v0.9.7):
POST /api/ai/channel/command принимает {cmd, args} и отправляет любому зарегистрированному инструменту.POST /api/ai/channel/batch принимает до 20 команд в одном запросе. Бэкенд выполняет их параллельно и возвращает карту результатов. Снижает задержку агента на порядок по сравнению с последовательными вызовами.OPENCLAW_ACCESS_TIER контролирует, какие команды может вызывать агент: restricted предоставляет набор только для чтения, full добавляет запись и инъекции. Конечная точка обнаружения возвращает available_commands, чтобы агент мог самостоятельно оценить свои возможности.HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body)) с защитой от повторения на основе временной метки и одноразового номера, а также целостностью запроса. Поддерживает локальный режим (без настройки) и удаленный режим (агент на другой машине / VPS).Возможности:
get_summary → get_layer_slice с поуровневыми since_layer_versions (SSE-уведомление layer_changed сообщает агенту, какие именно слои обновились). search_telemetry — это межслойный индекс ключевых слов в стиле Google. search_news охватывает новости, GDELT, CrowdThreat, LiveUAMap, линии фронта и сообщения Telegram. entities_near, brief_area, find_flights/find_ships/find_entity и correlate_entity отвечают на целевые вопросы без многомегабайтных загрузок.osint_lookup использует те же защищенные от SSRF бэкенды, что и панель разведки (ip, dns, whois, certs, bgp, sanctions, cve, mac, github, leaks, threats, sweep_init). entity_expand строит графы связей Wikidata + OFAC. osint_sweep запускает обнаружение подсетей Shodan InternetDB (уровень ). Псевдонимы слоев: , /, //, /, /.Подключение агента: Откройте панель AI Intel на левой боковой панели, нажмите Connect Agent и скопируйте секрет HMAC. Оттуда направьте любого совместимого агента на канал — для OpenClaw импортируйте ShadowBrokerClient из openclaw-skills/shadowbroker/sb_query.py (см. SKILL.md для примеров); для любого другого агента используйте тот же контракт HMAC, описанный выше (временная метка + одноразовый номер + дайджест тела, с ограничением по уровню). Обнаружение: GET /api/ai/tools и GET /api/ai/capabilities. Канал — это протокол, а не агент.
Docker Compose + удаленные агенты: Панель инструментов взаимодействует с бэкендом через частный мост Docker (доверенный автоматически). Агент OpenClaw, работающий на хосте (вне контейнера), обращается к http://localhost:8000 через IP-адрес шлюза Docker — HMAC требуется там. В AI Intel → Connect Agent нажмите Bootstrap, затем Reveal, скопируйте SHADOWBROKER_HMAC_SECRET в среду вашего агента и один раз перезапустите бэкенд, чтобы загрузить data/openclaw.env на томе backend_data. Проверьте с помощью:
bashbash
export SHADOWBROKER_URL=http://127.0.0.1:8000
export SHADOWBROKER_HMAC_SECRET=
python openclaw-skills/shadowbroker/verify_hmac.py
Используйте порт бэкенда (`:8000`), а не порт панели управления Next.js (`:3000`). Самодельные подписанты должны хешировать точные байты POST: `json.dumps(payload, separators=(",", ":"), sort_keys=True)`.
### ⏱️ Машина времени — Воспроизведение снимков (НОВОЕ в v0.9.7)
Медиа-подобный транспорт для всего потока телеметрии. Рассматривайте живую карту как запись, которую можно перематывать, приостанавливать и воспроизводить заново.
* **Переключение Живое ↔ Снимок** — Переключение в режим снимка мгновенно приостанавливает глобальный цикл опроса; переключение обратно на Живое делает недействительными ETags и принудительно обновляет как быстрый, так и медленный уровни, чтобы панель управления догнала обновления без мерцания устаревших кадров.
* **Почасовой индекс** — Каждый захваченный снимок индексируется по его часовому сегменту с `count`, `latest_id`, `latest_ts` и полным списком `snapshot_ids`. Переходите к любому захваченному временному штампу непосредственно из ползунка временной шкалы.
* **Интерполяция кадров** — Движущиеся объекты (самолеты, корабли, спутники, военные рейсы) плавно интерполируются между записанными кадрами во время воспроизведения, так что движение остается непрерывным даже при редких снимках.
* **Переменная скорость воспроизведения** — Пролистывание, воспроизведение, ускорение и перемотка сохраненной телеметрии с регулируемой скоростью.
* **С учетом профиля** — Каждый снимок записывает профиль конфиденциальности, который был активен при его захвате, поэтому воспроизведение соответствует тому, что увидел бы оператор в этом профиле.
* **На стороне оператора, а не сервера** — Снимки хранятся локально в бэкенде; ни одна третья сторона никогда не видит временную шкалу воспроизведения.
### 📦 Панель ключей API — Путь-первый, только для чтения (НОВОЕ в v0.9.7)
Настройки → Ключи API теперь является реестром только для чтения. Значения ключей никогда не достигают процесса браузера — даже необфусцированный префикс. Панель отображает:
* Абсолютный путь к файлу `.env` бэкенда, разрешенный с помощью `Path(__file__).resolve()` — работает на любой ОС, любом диске, любом месте установки (Linux `/home/...`, macOS `/Users/...`, Windows на любом диске, контейнеры Docker, облачные ВМ).
* Индикаторы `[существует]` / `[будет создан при первом сохранении]` / `[НЕ ДЛЯ ЗАПИСИ — редактировать вручную]` на самом пути.
* Путь к шаблону `.env.example`, чтобы пользователи могли скопировать его и заполнить свои ключи.
* Двоичный значок `НАСТРОЕНО` / `НЕ НАСТРОЕНО` для каждого ключа, а также строка env, которую можно скопировать (например, `OPENSKY_CLIENT_ID=YOUR_VALUE`), которую пользователь может вставить в файл вручную.
Учетные данные OpenSky API теперь являются **критическим предупреждением** требования среды: проверка среды при запуске помечает отсутствующие учетные данные OpenSky OAuth2 с сильным предупреждением, а модальное окно журнала изменений ссылается непосредственно на страницу бесплатной регистрации. Без них слой рейсов откатывается к покрытию только ADS-B со значительными пробелами в Африке, Азии и Латинской Америке.
</details>
---
<details>
<summary>🏗️ Архитектура</summary>```
╔═════════════════════════════════════════════════════════════════════════════╗
║ OPERATOR UI (Next.js + MapLibre) ║
║ ║
║ ┌────────────────┐ ┌──────────┐ ┌────────────────┐ ┌────────────────┐ ║
║ │ MapLibre GL │ │ NewsFeed │ │ Sovereign Shell│ │ Mesh Chat │ ║
║ │ WebGL render │ │ SIGINT │ │ Petitions / │ │ + Mesh Term. │ ║
║ │ + clusters │ │ GDELT │ │ Upgrades / │ │ (Infonet / │ ║
║ │ │ │ Threat │ │ Disputes / │ │ Mesh / │ ║
║ │ │ │ │ │ Gates / │ │ Dead Drop) │ ║
║ │ │ │ │ │ Bootstrap / │ │ │ ║
║ │ │ │ │ │ Function Keys │ │ │ ║
║ └──────┬─────────┘ └────┬─────┘ └────────┬───────┘ └────────┬───────┘ ║
║ │ │ │ │ ║
║ ┌──────┴─────────────────┴─────────────────┴───────────────────┴───────┐ ║
║ │ Time Machine ◀── snapshot playback ── snapshotMode toggle ──▶ Live │ ║
║ │ hourly index │ frame interpolation │ profile-aware │ per-tier ETag │ ║
║ └──────────────────────────────────┬───────────────────────────────────┘ ║
║ │ REST + /api/[...path] proxy ║
╠═════════════════════════════════════╪═══════════════════════════════════════╣
║ BACKEND SERVICE PLANE (FastAPI) ║
║ │ ║
║ ┌──────────────────────────────────┴────────────────────────────────────┐ ║
║ │ Data Fetcher (APScheduler — fast / slow tiers) │ ║
║ │ │ ║
║ │ ┌───────────┬───────────┬───────────┬───────────┬───────────┐ │ ║
║ │ │ OpenSky* │ adsb.lol │ CelesTrak │ USGS │ AIS WS │ │ ║
║ │ │ Flights │ Military │ Sats │ Quakes │ Ships │ │ ║
║ │ ├───────────┼───────────┼───────────┼───────────┼───────────┤ │ ║
║ │ │ Carrier │ GDELT │ CCTV (12) │ DeepState │ NASA │ │ ║
║ │ │ Tracker │ Conflict │ Cameras │ Frontline │ FIRMS │ │ ║
║ │ ├───────────┼───────────┼───────────┼───────────┼───────────┤ │ ║
║ │ │ GPS │ KiwiSDR │ Shodan │ Amtrak │ SatNOGS │ │ ║
║ │ │ Jamming │ Radios │ Devices │ DigiTraf │ TinyGS │ │ ║
║ │ ├───────────┼───────────┼───────────┼───────────┼───────────┤ │ ║
║ │ │ Volcanoes │ Weather │ Fishing │ Mil Bases │ IODA │ │ ║
║ │ │ Air Qual │ Alerts │ Activity │ PwrPlants │ Outages │ │ ║
║ │ ├───────────┼───────────┼───────────┼───────────┼───────────┤ │ ║
║ │ │ Sentinel │ MODIS │ VIIRS │ Data │ Meshtastic│ │ ║
║ │ │ Hub/STAC │ Terra │ Nightlts │ Centers │ APRS │ │ ║
║ │ ├───────────┴───────────┴───────────┴───────────┴───────────┤ │ ║
║ │ │ SAR (NEW v0.9.7) │ │ ║
║ │ │ Mode A: ASF Search catalog (free, no account) │ │ ║
║ │ │ Mode B: NASA OPERA / Copernicus EGMS / GFM / EMS / │ │ ║
║ │ │ UNOSAT ground-change anomalies (opt-in) │ │ ║
║ │ └───────────────────────────────────────────────────────────┘ │ ║
║ │ * OpenSky: REQUIRED for global flight coverage │ ║
║ └───────────────────────────────────────────────────────────────────────┘ ║
║ │ ║
║ ┌──────────────────────────────────┴────────────────────────────────────┐ ║
║ │ Snapshot Store (Time Machine source) │ ║
║ │ Hourly index │ per-snapshot layer manifest │ profile metadata │ ║
║ └───────────────────────────────────────────────────────────────────────┘ ║
║ ║
║ ┌───────────────────────────────────────────────────────────────────────┐ ║
║ │ Agentic AI Channel (HMAC-SHA256, tier-gated — OpenClaw + others) │ ║
║ │ │ ║
║ │ POST /api/ai/channel/command → one tool call │ ║
║ │ POST /api/ai/channel/batch → up to 20 concurrent tool calls │ ║
║ │ │ ║
║ │ Tier: restricted (read-only) │ full (read + write + inject) │ ║
║ │ Auth: X-SB-Timestamp + X-SB-Nonce + X-SB-Signature │ ║
║ │ Sig = HMAC-SHA256(secret, METHOD|path|ts|nonce|sha256(body)) │ ║
║ └───────────────────────────────────────────────────────────────────────┘ ║
╠═════════════════════════════════════════════════════════════════════════════╣
║ DECENTRALIZED LAYER (InfoNet Testnet — signed events) ║
║ ║
║ ┌────────────────────────────┐ ┌──────────────────────────────────┐ ║
║ │ Mesh Hashchain │ │ Sovereign Shell Governance │ ║
║ │ │ │ │ ║
║ │ Ed25519 signed events │ │ Petitions (DSL: UPDATE_PARAM, │ ║
║ │ Public-key binding │ │ ENABLE_FEATURE …) │ ║
║ │ Replay / sequence guard │ │ Upgrade-Hash voting (80% / 40% │ ║
║ │ Two-tier finality │ │ quorum / 67% Heavy) │ ║
║ │ ├ Tier 1 (CRDT, fast) │ │ Resolution & Dispute markets │ ║
║ │ └ Tier 2 (epoch finality)│ │ Gate suspend / shutdown / appeal│ ║
║ │ Identity rotation │ │ Bootstrap eligible-node-1-vote │ ║
║ │ Constitutional invariants │ │ (Argon2id PoW, Heavy-Node only)│ ║
║ │ (MappingProxyType) │ │ Function Keys (5 of 6 pieces) │ ║
║ └─────────────┬──────────────┘ └─────────────┬────────────────────┘ ║
║ │ │ ║
║ └──────────────┬──────────────────┘ ║
║ │ ║
║ ┌────────────────────────────┴──────────────────────────────────────┐ ║
║ │ Wormhole / InfoNet Relay (transport layer) │ ║
║ │ Gate personas │ canonical signing │ Dead Drop epoch mailboxes │ ║
║ └───────────────────────────────────────────────────────────────────┘ ║
╠═════════════════════════════════════════════════════════════════════════════╣
║ PRIVACY CORE (Rust crate — locked Protocol contracts) ║
║ ║
║ privacy-core/ ─► Argon2id │ Ed25519/X25519 │ AESGCM │ HKDF ║
║ Ring sigs* │ Stealth addrs* │ Pedersen* │ Bulletproofs*║
║ Blind-sig issuance* (RSA / BBS+ / U-Prove / Idemix) ║
║ ║
║ * = locked Protocol contract; cryptographic primitive lands Sprint 11+ ║
╚═════════════════════════════════════════════════════════════════════════════╝
Distribution
────────────
GitHub (primary): ghcr.io/bigbodycobain/shadowbroker-{backend,frontend}
GitLab (mirror): registry.gitlab.com/bigbodycobain/shadowbroker/{backend,frontend}
Multi-arch: linux/amd64 + linux/arm64 (Raspberry Pi 5 supported)
Desktop: Tauri shell → packaged backend-runtime + Next.js frontend
| Источник | Данные | Частота обновления | Требуется ключ API |
|---|
| OpenSky Network | Коммерческие и частные рейсы | ~60 с | Да |
| adsb.lol | Военные самолеты | ~60 с | Нет |
| aisstream.io | Позиции судов AIS | WebSocket в реальном времени | Да |
| CelesTrak | Орбитальные позиции спутников (TLE + SGP4) | ~60 с | Нет |
| USGS Earthquake | Глобальные сейсмические события | ~60 с | Нет |
| GDELT Project | Глобальные конфликтные события | ~6 ч | Нет |
| DeepState Map | Линия фронта Украины | ~30 мин | Нет |
| Shodan | Поиск устройств, подключенных к интернету | По запросу | Да |
| OpenSanctions | Индекс санкций OFAC SDN (разведка + граф сущностей) | 24-часовой кэш | Нет |
| abuse.ch Feodo + URLhaus | URL-адреса C2 / распространения вредоносного ПО | ~5 мин (опциональный слой) | Нет |
| CISA KEV | Известные эксплуатируемые CVE | ~5 мин (опциональный слой) | Нет |
| ip-api.com | Геолокация IP (разведка, граф сущностей) | По запросу | Нет |
| Google Public DNS | DNS-запросы через HTTPS (разведка) | По запросу | Нет |
| RDAP.org | Данные регистрации доменов (разведка) | По запросу | Нет |
| crt.sh | Прозрачность сертификатов (разведка) | По запросу | Нет |
| bgpview.io | Маршрутизация BGP/ASN (разведка) | По запросу | Нет |
| TeleGeography (статический) | Маршруты подводных кабелей | Статические | Нет |
| ASFINAG | Веб-камеры автомагистралей Австрии | ~10 мин | Нет |
| Amtrak | Позиции поездов США | ~60 с | Нет |
| DigiTraffic | Позиции европейских железных дорог | ~60 с | Нет |
| Global Fishing Watch | События активности рыболовных судов | ~1 ч | Да (GFW_API_TOKEN) |
| Telegram public previews | Посты военных/OSINT каналов (telegram_osint) | ~1 ч | Нет (опционально TELEGRAM_OSINT_CHANNELS) |
| Transport for London, NYC DOT, TxDOT | Камеры видеонаблюдения (Великобритания, США) | ~10 мин | Нет |
| Caltrans, WSDOT, GDOT, IDOT, MDOT | Камеры видеонаблюдения (5 штатов США) | ~10 мин | Нет |
| Spain DGT, Madrid City | Камеры видеонаблюдения (Испания) | ~10 мин | Нет |
| Singapore LTA | Камеры дорожного движения Сингапура | ~10 мин | Да |
| Windy Webcams | Глобальные веб-камеры | ~10 мин | Нет |
| SatNOGS | Любительские спутниковые наземные станции | ~30 мин | Нет |
| TinyGS | Наземные станции спутников LoRa | ~30 мин | Нет |
| Meshtastic MQTT | Позиции узлов Mesh-радио | В реальном времени | Нет |
| APRS-IS | Позиции любительского радио | TCP в реальном времени | Нет |
| KiwiSDR | Расположение общественных SDR-приемников | ~30 мин | Нет |
| OpenMHZ | Потоки сканеров полиции/пожарных | В реальном времени | Нет |
| Smithsonian GVP | Голоценовые вулканы по всему миру | Статические (кэшированные) | Нет |
| OpenAQ | Станции качества воздуха PM2.5 | ~120 с | Нет |
| NOAA / NWS | Предупреждения о суровой погоде и полигоны | ~120 с | Нет |
| WRI Global Power Plant DB | Более 35 000 электростанций | Статические (кэшированные) | Нет |
| Военные базы (наборы данных) | Глобальные военные объекты | Статические (кэшированные) | Нет |
| NASA FIRMS | Пожары/тепловые точки NOAA-20 VIIRS | ~120 с | Нет |
| NOAA SWPC | Космическая погода: Kp-индекс и солнечные события | ~120 с | Нет |
| IODA (Georgia Tech) | Региональные оповещения об отключениях интернета | ~120 с | Нет |
| DC Map (GitHub) | Глобальное расположение центров обработки данных | Статические (кэш 7 д) | Нет |
| NASA GIBS | Ежедневные спутниковые снимки MODIS Terra | Ежедневно (задержка 24–48 ч) | Нет |
| Esri World Imagery | Высокодетализированная спутниковая базовая карта | Статические (периодически обновляется) | Нет |
| MS Planetary Computer | Сцены Sentinel-2 L2A (правый клик) | По запросу | Нет |
| Copernicus CDSE | Изображения Sentinel Hub (Process API) | По запросу | Да (бесплатно) |
| VIIRS Nightlights | Обнаружение изменений ночного освещения | Статические | Нет |
| RestCountries | Данные профиля страны | По запросу (кэш 24 ч) | Нет |
| Wikidata SPARQL | Данные главы государства | По запросу (кэш 24 ч) | Нет |
| Wikipedia API | Краткие описания местоположений и изображения самолетов | По запросу (кэшированные) | Нет |
| OSM Nominatim | Геокодирование названий мест (строка LOCATE) | По запросу | Нет |
| CARTO Basemaps | Темные тайлы карты | Непрерывно | Нет |
Конфиденциальность исходящих данных и аудит (#348–#366): Каждая самостоятельная установка использует свой собственный IP-адрес бэкенда и уникальный идентификатор User-Agent. Смотрите docs/OUTBOUND_DATA.md для получения информации о том, что взаимодействует с третьими сторонами, элементах управления opt-in/env и принятых компромиссах (CCTV Referer, CDN базовых карт, LiveUAMap и т.д.).
Please provide the Markdown content to translate.```powershell
py -m pip install --user podman-compose podman-compose pull podman-compose up -d
Если вы используете оболочку, совместимую с bash, встроенная обёртка может автоматически определить Docker или Podman:```bash
./compose.sh --engine podman pull
./compose.sh --engine podman up -d
frontend: image: ghcr.io/bigbodycobain/shadowbroker-frontend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/frontend:latest container_name: shadowbroker-frontend ports: - "3000:3000" environment: - BACKEND_URL=http://backend:8000 # Docker internal networking — no rebuild needed depends_on: - backend restart: unless-stopped
volumes: backend_data:
> **Как это работает:** Контейнер фронтенда проксирует все запросы `/api/*` через сервер Next.js к `BACKEND_URL`, используя внутреннюю сеть Docker. Браузер взаимодействует только с портом 3000. Хост-порт бэкенда предназначен для локального доступа к API/отладке и может быть изменён на `BACKEND_PORT=8001` без изменения `BACKEND_URL`.
>
> `BACKEND_URL` — это обычная переменная окружения времени выполнения (не сборочная `NEXT_PUBLIC_*`), поэтому вы можете изменить её в Portainer, Uncloud или любом редакторе compose без пересборки образа. Установите её на адрес, по которому ваш бэкенд доступен изнутри сети Docker (например, `http://backend:8000`, `http://192.168.1.50:8000`).
</details>
---
<details>
<summary>📦 Быстрый старт (без кода)</summary>
Если вы хотите просто запустить панель без работы с командами терминала:
1. Перейдите на вкладку **[Releases](https://raw.githubusercontent.com/bigbodycobain/releases)** справа на странице этого репозитория.
2. Скачайте последний `.zip` файл из релиза.
3. Распакуйте папку на свой компьютер.
4. **Windows:** Дважды кликните `start.bat`.
**Mac/Linux:** Откройте терминал, введите `chmod +x start.sh`, `dos2unix start.sh` и запустите `./start.sh`.
5. Он автоматически установит всё необходимое и запустит панель!
Примечания к локальному запускателю:
- `start.bat` / `start.sh` запускают приложение без Docker — они устанавливают зависимости и запускают оба сервера напрямую.
- Если после обновления не работают конечные точки Wormhole identity или DM contact, проверьте папку `docs/mesh/` для устранения неполадок.
- Для развёртывания DM root witness, прозрачности и операторского мониторинга начните с `docs/mesh/wormhole-dm-root-operations-runbook.md`.
- Для примеров активов моста операций DM root также смотрите `scripts/mesh/poll-dm-root-health-alerts.mjs`, `scripts/mesh/export-dm-root-health-prometheus.mjs`, `scripts/mesh/publish-external-root-witness-package.mjs`, `scripts/mesh/smoke-external-root-witness-flow.mjs`, `scripts/mesh/smoke-root-transparency-publication-flow.mjs`, `scripts/mesh/smoke-dm-root-deployment-flow.mjs`, `scripts/mesh/sync-dm-root-external-assurance.mjs` и `docs/mesh/examples/`.
</details>
---
<details>
<summary>💻 Настройка для разработчиков</summary>
Если вы хотите изменить код или запустить из исходников:
#### Предварительные требования
* **Node.js** 18+ и **npm** — [nodejs.org](https://nodejs.org/)
* **Python** 3.10, 3.11 или 3.12 с `pip` — [python.org](https://www.python.org/downloads/) (**отметьте "Add to PATH"** во время установки)
* ⚠️ Python 3.13+ может иметь проблемы совместимости с некоторыми зависимостями. **Рекомендуется 3.11 или 3.12.**
* Ключи API для: `aisstream.io` (обязательно), и опционально `opensky-network.org` (OAuth2), `lta.gov.sg`
### Установка```bash
# Clone the repository
git clone https://github.com/BigBodyCobain/Shadowbroker.git
cd Shadowbroker
# Backend setup
cd backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
pip install .
# Optional helper scripts (creates venv + installs dev deps)
# Windows PowerShell
# .\backend\scripts\setup-venv.ps1
# macOS/Linux
# ./backend/scripts/setup-venv.sh
# Optional env check (prints warnings for missing keys)
# Windows PowerShell
# .\backend\scripts\check-env.ps1
# macOS/Linux
# ./backend/scripts/check-env.sh
# Create .env with your API keys
echo "AIS_API_KEY=your_aisstream_key" >> .env
echo "OPENSKY_CLIENT_ID=your_opensky_client_id" >> .env
echo "OPENSKY_CLIENT_SECRET=your_opensky_secret" >> .env
# Frontend setup
cd ../frontend
npm ci
npm run dev
* **Next.js** фронтенд на `http://localhost:3000`
* **FastAPI** бэкенд на `http://localhost:8000`
### Pre-commit (Опционально)
Если вы используете pre-commit, установите хуки однократно из корня репозитория:```bash
pre-commit install
Вы можете передавать собственные данные AIS о судах в ShadowBroker с помощью RTL-SDR-донгла и AIS-catcher — декодера AIS с открытым исходным кодом. Это обеспечивает вам покрытие судов в вашем районе в реальном времени — без необходимости в API-ключе.
AIS-catcher декодирует VHF-радиосигналы на частотах 161,975 МГц и 162,025 МГц и отправляет декодированные данные о судах в ShadowBroker каждые 10 секунд. Суда, обнаруженные вашей SDR-антенной, отображаются вместе с глобальным потоком AIS.
Docker (ARM/Raspberry Pi): Смотрите docker-shipfeeder для готового к продакшену Docker-образа, оптимизированного для ARM.
Примечание: Дальность AIS зависит от вашей антенны — обычно 20-40 морских миль с базовой настройкой, 60+ морских миль с морской VHF-антенной на высоте.
| Слой | По умолчанию | Описание |
|---|
| Коммерческие рейсы | ✅ Вкл | Авиалинии, грузовые, самолеты GA |
| Частные рейсы | ✅ Вкл | Некоммерческие частные самолеты |
| Частные джеты | ✅ Вкл | Высокоценные бизнес-джеты с данными о владельцах |
| Военные рейсы | ✅ Вкл | Военные и правительственные самолеты |
| Отслеживаемые самолеты | ✅ Вкл | Список наблюдения особого интереса |
| Подавление GPS | ✅ Вкл | Зоны ухудшения NAC-P |
| Авианосцы / Военные / Грузовые | ✅ Вкл | Военно-морские авианосцы, грузовые суда, танкеры |
| Гражданские суда | ✅ Вкл | Яхты, рыболовные, прогулочные |
| Круизные / Пассажирские | ✅ Вкл | Круизные лайнеры и паромы |
| Отслеживаемые яхты | ✅ Вкл | Суперъяхты миллиардеров и олигархов |
| Рыболовная активность | ✅ Вкл | События Global Fishing Watch |
| Поезда | ✅ Вкл | Позиции Amtrak + европейских железных дорог |
| Спутники | ✅ Вкл | Орбитальные аппараты по типу миссии |
| SatNOGS | ✅ Вкл | Любительские наземные станции спутников |
| TinyGS | ✅ Вкл | Наземные станции спутников LoRa |
| Землетрясения (24 ч) | ✅ Вкл | Сейсмические события USGS |
| Пожары (24 ч) | ✅ Вкл | Тепловые аномалии NASA FIRMS VIIRS |
| Вулканы | ✅ Вкл | Вулканы голоцена Смитсоновского института |
| Погодные оповещения | ✅ Вкл | Полигоны экстремальной погоды |
| Качество воздуха (PM2.5) | ✅ Вкл | Станции OpenAQ по всему миру |
| Линия фронта в Украине | ✅ Вкл | Позиции линии фронта в реальном времени |
| Воздушные тревоги в Украине | ✅ Вкл | Региональные оповещения о воздушных атаках |
| Глобальные инциденты | ✅ Вкл | События конфликтов GDELT |
| Сеть видеонаблюдения | ✅ Вкл | Более 11 000 камер из 13 источников, 6 стран |
| Сбои интернета | ✅ Вкл | Региональные оповещения о связности IODA |
| Центры обработки данных | ✅ Вкл | Глобальное расположение ЦОД (более 2 000) |
| Военные базы | ✅ Вкл | Глобальные военные объекты |
| Приемники KiwiSDR | ✅ Вкл | Публичные SDR-радиоприемники |
| Узлы Meshtastic | ✅ Вкл | Позиции узлов mesh-радиосети |
| APRS | ✅ Вкл | Любительское радиопозиционирование |
| Сканеры | ✅ Вкл | Потоки полицейских/пожарных сканеров |
| Цикл дня/ночи | ✅ Вкл | Наложение солнечного терминатора |
| MODIS Terra (ежедневно) | ❌ Выкл | Ежедневные спутниковые снимки NASA GIBS |
| Высокодетальные спутниковые снимки | ❌ Выкл | Субметровые спутниковые снимки Esri |
| Sentinel Hub | ❌ Выкл | API обработки Copernicus CDSE |
| Ночные огни VIIRS | ❌ Выкл | Обнаружение изменений ночного освещения |
| Электростанции | ❌ Выкл | Более 35 000 электростанций по всему миру |
| Наложение Shodan | ❌ Выкл | Результаты поиска интернет-устройств |
| Тенденции грузовых перевозок | ❌ Выкл | Тенденции движения грузовиков по Sentinel-2 на основных автомагистралях (Анализировать здесь) |
| Подводные кабели | ❌ Выкл | Глобальные маршруты подводных кабелей (статический GeoJSON) |
| C2-серверы вредоносных программ | ❌ Выкл | Точки угроз abuse.ch Feodo + URLhaus |
| Поставщики SCM | ❌ Выкл | Маркеры рисков цепочки поставок уровня 1/2 + оповещения панели |
| Киберугрозы | ❌ Выкл | Последние записи CISA KEV (статистика в полезной нагрузке медленного уровня) |
| Telegram OSINT | ✅ Вкл | Публичные военные/OSINT Telegram-каналы — почасовой сбор, геопарсинг меток |
| SAR | ✅ Вкл | Каталог синтезированной апертуры радара + оповещения об аномалиях |
Инструменты разведки и сущностей (не слои карты — левая боковая панель / выбор):
| Инструмент | Доступ к панели | Команда OpenClaw | Описание |
|---|---|---|---|
| Recon Toolkit | Локальный оператор (/api/osint/*) | osint_lookup, osint_sweep† | IP, DNS, WHOIS, сертификаты, BGP, санкции, CVE, MAC, GitHub, утечки, угрозы, сканирование подсети |
| Entity Graph | Локальный оператор (/api/entity/expand) | entity_expand | Граф взаимоотношений Wikidata + OFAC + live-store |
| Панель рисков SCM | Локальный оператор (/api/scm-suppliers) | get_layer_slice(["scm_suppliers"]) | Сводка угроз поставщиков + маркеры на карте |
| Обнаружение инструментов | — | osint_tools | Перечисляет типы запросов разведки и схемы расширения сущностей |
† osint_sweep (активное сканирование InternetDB) требует OPENCLAW_ACCESS_TIER=full.
telegrammalwarebotnetcybercisakevscmsuppliersgfwfishing