
flowsint v1.2.12
Современная платформа для визуальных, гибких и расширяемых расследований на основе графов. Для специалистов по кибербезопасности и следователей.
Flowsint
Flowsint — это инструмент с открытым исходным кодом для исследования графов OSINT, предназначенный для этических расследований, прозрачности и верификации.
Этика: Пожалуйста, ознакомьтесь с ETHICS.md для получения рекомендаций по ответственному использованию.
https://github.com/user-attachments/assets/eaabfa81-d7b3-414d-8cf7-f69b4e37bab6
https://github.com/user-attachments/assets/7457d94a-cf1d-4a97-949f-f9b1d8d92644
https://github.com/user-attachments/assets/65c3f26e-7132-4853-be45-21b8933688bd
Вклад в проект
Flowsint находится на ранней стадии разработки и определённо нуждается в помощи сообщества! Не стесняйтесь создавать issues, предлагать функции и т.д.
Начало работы
Не хотите читать? Понятно. Вот инструкции по установке:
Linux / macOS
1. Установите предварительные требования
- Docker
- Make
2. Выполните команду установки
git clone https://github.com/reconurge/flowsint.git
cd flowsint
make prod
Windows
Make не требуется. Работает как в Command Prompt (cmd), так и в PowerShell.
1. Установите предварительные требования
- Docker Desktop (убедитесь, что он запущен перед следующим шагом)
- Git
2. Клонируйте репозиторий и настройте файлы окружения
git clone https://github.com/reconurge/flowsint.git
cd flowsint
copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env
3. Запуск
docker compose -f docker-compose.prod.yml up -d
Это загружает предварительно собранные образы из GitHub Container Registry — локальная сборка не требуется.
Первый вход
Затем перейдите на http://localhost:5173/register и создайте учётную запись. По умолчанию учётных данных или аккаунта нет.
✅ Расследования OSINT требуют высокого уровня конфиденциальности. Все данные хранятся на вашей машине.
Развёртывание в сети (команда / сервер)
Та же настройка работает из коробки на сервере: фронтенд обслуживает интерфейс и проксирует все API-вызовы внутри, поэтому для клиентов не требуется дополнительная настройка.
git clone https://github.com/reconurge/flowsint.git
cd flowsint
cp .env.example .env
# Отредактируйте .env — см. «Перед открытием доступа к сети» ниже
docker compose -f docker-compose.prod.yml up -d
Любой пользователь в сети сможет получить доступ к Flowsint по адресу http://<server-ip>:5173.
Перед открытием доступа к сети измените секреты по умолчанию в .env:
AUTH_SECRET— подписывает токены аутентификации. Сгенерируйте:openssl rand -hex 32MASTER_VAULT_KEY_V1— шифрует хранящиеся API-ключи. Сгенерируйте:python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD— пароль базы данных Neo4j.
Также добавьте имя хоста/IP вашего сервера в список разрешённых Host-заголовков в flowsint-app/nginx.conf (найдите map $http_host $is_flowsint_host). Список по умолчанию принимает только localhost / 127.0.0.1 / [::1], что защищает однопользовательские установки от DNS-ребдинга; для LAN и публичных развёртываний необходимо добавить собственное имя хоста. Две закомментированные строки-шаблона в том же блоке map показывают формат.
В сети открыт только порт 5173. PostgreSQL, Redis, Neo4j и API привязаны к 127.0.0.1 на сервере и доступны только через прокси фронтенда.
Чтобы закрепить конкретную версию вместо latest, установите FLOWSINT_VERSION в .env (например, FLOWSINT_VERSION=1.2.10).
HTTPS (рекомендуется за пределами доверенной LAN): разместите любой обратный прокси перед портом 5173. Пример с Caddy:
flowsint.example.com {
reverse_proxy 127.0.0.1:5173
}
При использовании обратного прокси также привяжите порт приложения к localhost в docker-compose.prod.yml ("127.0.0.1:5173:8080"), чтобы клиенты могли обращаться только через HTTPS.
Что это такое?
Flowsint — это инструмент для расследований на основе графов, ориентированный на разведку и OSINT (Open Source Intelligence — разведка по открытым источникам). Он позволяет исследовать связи между сущностями через визуальный графовый интерфейс и автоматизированные обогатители.
Доступные обогатители
Обогатители доменов
- Reverse DNS Resolution — поиск доменов, указывающих на IP
- DNS Resolution — разрешение домена в IP-адреса
- Subdomain Discovery — перечисление поддоменов
- WHOIS Lookup — получение информации о регистрации домена
- Domain to Website — преобразование домена в сущность веб-сайта
- Domain to Root Domain — извлечение корневого домена
- Domain to ASN — поиск ASN, связанного с доменом
- Domain History — получение исторических данных о домене
Обогатители IP
- IP Information — получение геолокации и сетевых данных
- IP to ASN — поиск ASN для IP-адреса
Обогатители ASN
- ASN to CIDRs — получение диапазонов IP для ASN
Обогатители CIDR
- CIDR to IPs — перечисление IP-адресов в диапазоне
Обогатители социальных сетей
- Maigret — поиск имени пользователя по социальным платформам
Обогатители организаций
- Organization to ASN — поиск ASN, принадлежащих организации
- Organization Information — получение данных о компании
- Organization to Domains — поиск доменов, принадлежащих организации
Обогатители криптовалют
- Wallet to Transactions — получение истории транзакций
- Wallet to NFTs — поиск NFT, принадлежащих кошельку
Обогатители веб-сайтов
- Website Crawler — обход и построение карты структуры сайта
- Website to Links — извлечение всех ссылок
- Website to Domain — извлечение домена из URL
- Website to Webtrackers — выявление скриптов отслеживания
- Website to Text — извлечение текстового содержимого
Обогатители email
- Email to Gravatar — поиск профиля Gravatar
- Email to Breaches — проверка баз данных утечек
- Email to Domains — поиск связанных доменов
Обогатители телефонов
- Phone to Breaches — проверка номера телефона в утечках
Обогатители физических лиц
- Individual to Organization — поиск организационных связей
- Individual to Domains — поиск доменов, связанных с человеком
Интеграционные обогатители
- N8n Connector — подключение к рабочим процессам N8n
Структура проекта
Проект организован в автономные модули:
Основные модули
- flowsint-core: основные утилиты, оркестратор, хранилище, задачи celery и базовые классы
- flowsint-types: модели Pydantic и определения типов
- flowsint-enrichers: модули обогатителей, логика сканирования и инструменты
- flowsint-api: сервер FastAPI, маршруты API и схемы
- flowsint-app: фронтенд-приложение
Зависимости модулей
flowsint-app (frontend)
↓
flowsint-api (API server)
↓
flowsint-core (orchestrator, tasks, vault)
↓
flowsint-enrichers (enrichers & tools)
↓
flowsint-types (types)
Настройка для разработки
Предварительные требования
- Docker
Запуск
Linux / macOS (требуется Make):
make dev
Windows (cmd или PowerShell, без Make — сначала создайте файлы .env, см. Начало работы):
docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml logs -f
Разработка
Приложение доступно по адресу http://localhost:5173.
Детали модулей
flowsint-core
Основные утилиты и базовые классы, используемые всеми остальными модулями:
- Подключения к базам данных (PostgreSQL, Neo4j)
- Аутентификация и авторизация
- Логирование и обработка событий
- Управление конфигурацией
- Базовые классы для обогатителей и инструментов
- Вспомогательные функции
flowsint-types
Модели Pydantic для всех типов данных:
- Domain, IP, ASN, CIDR
- Individual, Organization, Email, Phone
- Website, Social profiles, Credentials
- Crypto wallets, Transactions, NFTs
- И многие другие...
flowsint-enrichers
Модули обогатителей, обрабатывающие данные:
- Обогатители доменов (поддомены, WHOIS, разрешение)
- Обогатители IP (геолокация, поиск ASN)
- Обогатители социальных сетей (Maigret, Sherlock)
- Обогатители email (утечки, Gravatar)
- Обогатители криптовалют (транзакции, NFT)
- И многие другие...
flowsint-api
Сервер FastAPI, предоставляющий:
- Конечные точки REST API
- Аутентификацию и управление пользователями
- Интеграцию с графовой базой данных
- Потоковую передачу событий в реальном времени
flowsint-app
Фронтенд-приложение.
- Современный и удобный интерфейс
- Оптимизировано для производительности (без задержек даже при тысячах узлов)
Рабочий процесс разработки
- Добавление новых типов: добавьте в модуль
flowsint-types - Добавление новых обогатителей: добавьте в модуль
flowsint-enrichers - Добавление новых конечных точек API: добавьте в модуль
flowsint-api - Добавление новых утилит: добавьте в модуль
flowsint-core
Тестирование
Каждый модуль имеет собственный (неполный) набор тестов:
# Тестирование модуля core
cd flowsint-core
uv run pytest
# Тестирование модуля types
cd ../flowsint-types
uv run pytest
# Тестирование модуля enrichers
cd ../flowsint-enrichers
uv run pytest
# Тестирование модуля API
cd ../flowsint-api
uv run pytest
Вклад в проект
- Следуйте модульной структуре
- Используйте uv для управления зависимостями
- Пишите тесты для нового функционала
- Обновляйте документацию по мере необходимости
- См. CONTRIBUTING.md для проверок, которые необходимо выполнить перед коммитом
⚖️ Правовое и этическое использование
Этика: Пожалуйста, ознакомьтесь с ETHICS.md для получения рекомендаций по ответственному использованию.
Flowsint предназначен строго для законных, этических расследований и исследовательских целей.
Он был создан для помощи:
- Исследователям и аналитикам в области кибербезопасности
- Журналистам и OSINT-исследователям
- Правоохранительным органам или командам по расследованию мошенничества
- Организациям, проводящим внутреннюю разведку угроз или анализ цифровых рисков
Flowsint не должен использоваться для:
- Несанкционированного вторжения, слежки или сбора данных
- Преследования, доксинга или нацеливания на отдельных лиц
- Политических манипуляций, дезинформации или нарушения законов о конфиденциальности
Любое неправомерное использование этого программного обеспечения строго запрещено и противоречит этическим принципам, определённым в ETHICS.md.