GitHub - wardspan/reconagraph · GitHub
Skip to content

wardspan/reconagraph

Folders and files

Repository files navigation

ReconaGraph - OSINT Investigation Platform

ReconaGraph is a web-based OSINT (Open Source Intelligence) platform designed to investigate and visualize relationships between digital assets like domains and emails. It leverages various external APIs to enrich targets, stores the findings, and presents them in an actionable, prioritized dashboard.

This repository contains the complete, Dockerized local development environment for the platform.


Features

  • Multi-Source Enrichment: Gathers data from over a dozen public APIs (VirusTotal, Shodan, GitHub, Ahmia, etc.).
  • Asynchronous Scanning: Executes all API modules concurrently for fast, non-blocking scans.
  • Robust & Safe: Features built-in, per-module rate limiting to prevent API key throttling and a simple cache to avoid redundant lookups.
  • Interactive Dashboard: A modern, "tech-themed" dark-mode UI built with React and Vite.
  • Prioritized Findings: Automatically classifies results as "Critical," "Warning," or "Info" to help focus investigations.
  • Data Visualization: Includes an interactive graph view (via Cytoscape.js) to explore relationships between discovered entities.
  • Persistent Storage: Uses PostgreSQL for scan history/auditing and Neo4j for graph-based relationship storage.
  • Turnkey Local Development: The entire stack (frontend, backend, databases) is orchestrated with a single docker-compose command.

Architecture & Services

The application runs as a multi-container setup managed by Docker Compose.

Service Image Host Port Container Port Description
frontend reconagraph-frontend 3000 5173 Vite + React Investigation Dashboard
backend reconagraph-backend 8000 8000 FastAPI application server
postgres postgres:15-alpine 5432 5432 PostgreSQL database for scan history
neo4j neo4j:5 7474 7474 Neo4j Browser UI
neo4j neo4j:5 7687 7687 Neo4j Bolt protocol for driver connections

Getting Started

Prerequisites

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd reconagraph
  2. Configure Environment: Copy the environment template to a new .env file.

    cp .env.template .env

    Open the .env file and populate it with your credentials for the databases and any API keys for the enrichment modules you wish to use. Modules with missing keys will be gracefully skipped.

  3. Build and Run the Application:

    docker-compose up --build

    This command will build the frontend and backend images, download the database images, and start all services.

  4. Access the Application:

The first time you run the application, the backend will automatically create the necessary tables in the PostgreSQL database.


Project Structure

.
├── backend/            # FastAPI application
│   ├── app/
│   │   ├── db/         # SQLAlchemy models & migrations (Alembic)
│   │   ├── graph/      # Neo4j connector and queries
│   │   ├── modules/    # All OSINT enrichment modules
│   │   └── ratelimits.py # Centralized rate-limiting config
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/           # Vite + React application
│   ├── src/
│   │   ├── components/ # Reusable React components
│   │   ├── lib/        # Core UI logic (severity processing)
│   │   └── App.tsx     # Main dashboard component
│   ├── Dockerfile
│   ├── tailwind.config.js
│   └── package.json
├── .env.template       # Template for environment variables
├── .gitignore
└── docker-compose.yml  # Docker Compose orchestration file

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors