
3D-панель мониторинга угроз, которая визуализирует вредоносную инфраструктуру из источников OSINT, таких как AbuseIPDB и OpenPhish, с лентой угроз в реальном времени, геолокационными пингами на глобусе и карточками контекста индикаторов для ситуационной осведомлённости.
OSINT threat‑intel dashboard: a 3D globe and live feed showing malicious infrastructure from public sources like AbuseIPDB and OpenPhish.
https://github.com/user-attachments/assets/e4f6a4fa-6ff4-4ad1-8e5c-5b50ce6ad722
DarkGrid визуализирует подозрительную интернет-инфраструктуру в глобальном масштабе:
Основное внимание уделяется ситуационной осведомленности об инфраструктуре, а не отдельным лицам.
backend/ – FastAPI + SQLite OSINT API
/api/indicators/latest – последние индикаторы для ленты/api/map – сегменты по странам для глобусаfrontend/ – приложение Next.js 16 (интерфейс DarkGrid)
src/app/page.tsx – основной макет панели управленияsrc/components/ThreatGlobeViewer.tsx – 3D-глобусsrc/hooks/useThreatDataPolling.ts – опрос API угрозdocker-compose.yml – локальный стек (бэкенд + фронтенд)Создайте .env в этом каталоге (там же, где находится docker-compose.yml):
copy .env.example .env
Отредактируйте .env и укажите:
ABUSEIPDB_API_KEY – получите бесплатный ключ на https://www.abuseipdb.com/.Запустите стек:
docker-compose up -d
Или запустите в фоновом режиме, чтобы видеть логи:
docker-compose up
Откройте интерфейс и API:
http://localhost:3000http://localhost:8000http://localhost:8000/healthБаза данных: SQLite, создаётся автоматически при первом запуске бэкенда.
backend_data по пути /app/data/threat_intel.db.backend/data/threat_intel.db.Сборщики (запускаются при старте и каждые 15 минут):
AbuseIPDB (требуется ABUSEIPDB_API_KEY):
type=ip, source=abuseipdb с полем geo.country.OpenPhish (ключ не требуется):
type=url, source=openphish (без географических данных).Устранение неполадок с пустым глобусом/лентой:
Требования:
cd backend
python -m venv .venv
.venv\Scripts\activate # on Windows
pip install -r requirements.txt
python main.py # serves on http://localhost:8000
Убедитесь, что в корневом .env указан ABUSEIPDB_API_KEY для загрузки данных.
cd frontend
npm install
Создайте frontend/.env.local (только для локальной разработки):
NEXT_PUBLIC_THREAT_API_URL=http://localhost:8000
Затем выполните:
npm run dev
Откройте http://localhost:3000.
Этот проект находится в стадии разработки и представляет собой черновой MVP панели управления разведкой угроз DarkGrid. Ожидайте кардинальных изменений по мере доработки бэкенда, сборщиков и интерфейса.
Запланированные будущие этапы включают:
Пересобрать после изменений кода:
docker-compose up -d --build
.env и убедитесь, что ABUSEIPDB_API_KEY задан и корректен.docker-compose up -d.