Skip to content

Hemanth42d/DExIS-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DEXIS

πŸ›‘οΈ DEXIS

Digital Exposure Intelligence System

Map your digital attack surface. Quantify identity risk. Simulate real-world compromise.

Features β€’ Screenshots β€’ Architecture β€’ Getting Started β€’ API Reference β€’ Tech Stack


🎯 What is DEXIS?

DEXIS is a cybersecurity SaaS platform that treats your digital identity as an interconnected attack surface. Instead of looking at services in isolation, DEXIS maps the dependency chains between your accounts β€” Google, GitHub, AWS, banking, Slack, and more β€” to reveal how a single compromised credential can cascade into full identity takeover.

Try it instantly β€” the demo mode loads with 8 pre-configured services, real threat data, and full attack simulation. No signup required.


✨ Features

πŸ—ΊοΈ Attack Surface Mapping

Interactive dependency graph powered by React Flow. Visualize how your Google Account connects to GitHub, which connects to AWS, which holds your infrastructure. Every node shows risk level, exposed data points, and compromise status.

Attack Surface Map

πŸ“Š Risk Score Engine

Quantified risk scoring (0–100) calculated from service dependencies, exposure categories, and attack chain analysis. The engine evaluates:

  • Identity exposure β€” primary identity provider risk (+25)
  • Financial linkage β€” banking services tied to primary identity (+15)
  • Cloud sprawl β€” number of cloud services connected (+5 each, max 15)
  • Communication channels β€” SSO-linked messaging platforms (+8)
  • Attack chains β€” dangerous combinations like GitHub + AWS (+3)

Dashboard Overview

⚑ Attack Simulation

Simulate real-world compromise scenarios starting from your primary identity. DEXIS generates multi-hop attack paths with step-by-step breakdowns:

Google Account β†’ GitHub (SSO bypass) β†’ Scan repos for secrets β†’ AWS Console (stolen IAM keys) β†’ S3 data exfiltration

Each simulation calculates:

  • Total compromised services and blast radius
  • Estimated time to full compromise (< 4 hours typical)
  • Financial exposure ($50K–$250K for banking-linked identities)
  • Data records at risk (~12,400 for a typical 8-service footprint)

Simulation Results

πŸ” Vulnerability Scanner

Automated scanning across all connected services. Detects:

  • Reused passwords across services
  • Exposed IAM access keys in public repositories
  • Weak 2FA configurations (email-only)
  • Stale OAuth tokens with broad scopes
  • Public profile data exposure
  • Workspace tokens in localStorage

Security Scan

🎯 Threat Intelligence

Real-time threat feed with severity-tagged alerts:

  • CRITICAL β€” Credential stuffing attacks, IAM key exposure, financial account takeover vectors
  • HIGH β€” OAuth token hijacking, spear phishing via LinkedIn, supply chain attack vectors
  • MEDIUM β€” Session token theft, external page sharing, public profile exposure

πŸ“‹ Security Recommendations

Prioritized, actionable remediation steps:

  • Enable 2FA on all services (currently 2/8)
  • Revoke 9 unused OAuth tokens (90+ days stale)
  • Rotate AWS access keys (180+ days without rotation)
  • Remove .env files from 3 public GitHub repos
  • Upgrade banking 2FA from email to hardware token

πŸ‘€ Profile & Settings

Manage your account, view scan history, track risk score trends, and configure your organization details.

Profile Page


πŸ“Έ Screenshots

Dashboard Attack Surface
Dashboard Attack Surface
Simulation Security Scan
Simulation Scan
Login Landing Page
Login Landing

Note: Add your own screenshots to docs/screenshots/ after running the application.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Frontend (React)                    β”‚
β”‚                                                          β”‚
β”‚  Landing ─── Login ─── Dashboard ─── Attack Surface      β”‚
β”‚                          β”‚              β”‚                 β”‚
β”‚                     Simulation ──── Scan ──── Profile     β”‚
β”‚                                                          β”‚
β”‚  Components: Sidebar, Header, RiskScoreCard,             β”‚
β”‚              AttackGraphCard, SimulationCard              β”‚
β”‚                                                          β”‚
β”‚  Services: api.js (Axios + JWT interceptor)              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ Vite Proxy (/api β†’ :5001)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Backend (Express 5)                    β”‚
β”‚                                                          β”‚
β”‚  Routes:                                                 β”‚
β”‚    /api/auth ──────── Google OAuth + Demo login           β”‚
β”‚    /api/user ──────── Unified data endpoint               β”‚
β”‚    /api/risk-score ── Risk calculation                    β”‚
β”‚    /api/simulate ──── Attack simulation                   β”‚
β”‚    /api/scan ──────── Vulnerability scanning              β”‚
β”‚                                                          β”‚
β”‚  Services:                                               β”‚
β”‚    riskEngine.js ──── Quantified risk scoring             β”‚
β”‚    attackSimulator.js ── Multi-hop attack path generation β”‚
β”‚                                                          β”‚
β”‚  Middleware: JWT auth (7-day tokens)                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   MongoDB (Mongoose 9)                    β”‚
β”‚                                                          β”‚
β”‚  Collections:                                            β”‚
β”‚    users ──── name, email, riskScore, org, role           β”‚
β”‚    accounts ── serviceName, riskLevel, dependencyType,    β”‚
β”‚                exposedData[], connectedSince              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ (or Bun)
  • MongoDB β€” local instance or MongoDB Atlas connection string
  • Google OAuth Client ID (optional, for Google login)

1. Clone the repository

git clone https://github.com/your-username/dexis.git
cd dexis

2. Backend setup

cd Backend
npm install

Create a .env file:

PORT=5001
MONGO_URI=mongodb://localhost:27017/dexis
JWT_SECRET=your-secret-key-here
GOOGLE_CLIENT_ID=your-google-client-id-here

Start the backend:

npm run dev

3. Frontend setup

cd Frontend/dexis
npm install
npm run dev

The frontend runs on http://localhost:5173 with API requests proxied to http://localhost:5001.

4. Try the demo

Open http://localhost:5173 β†’ Click Try Demo β†’ Explore the full dashboard with pre-loaded threat data.


πŸ“‘ API Reference

Method Endpoint Auth Description
POST /api/auth/google β€” Authenticate with Google OAuth credential
POST /api/auth/demo β€” Create/login demo account with sample data
GET /api/user JWT Get user profile, accounts, threats, recommendations, exposure
PUT /api/user/profile JWT Update user name, organization, role
GET /api/risk-score JWT Calculate risk score with breakdown
POST /api/simulate-attack JWT Run attack simulation, get paths and blast radius
POST /api/scan JWT Run security scan, get findings and service status
GET /health β€” Health check

Authentication

All protected endpoints require a Bearer token in the Authorization header:

Authorization: Bearer <jwt_token>

Tokens are valid for 7 days.


πŸ› οΈ Tech Stack

Frontend

Technology Version Purpose
React 19.2 UI framework
Vite 7.3 Build tool and dev server
React Router 7.13 Client-side routing
Tailwind CSS 4.2 Utility-first styling
Framer Motion 12.34 Animations and transitions
React Flow 12.10 Interactive graph visualization
Axios 1.13 HTTP client with interceptors

Backend

Technology Version Purpose
Express 5.2 HTTP server framework
Mongoose 9.2 MongoDB ODM
jsonwebtoken 9.0 JWT authentication
google-auth-library 10.5 Google OAuth verification
cors 2.8 Cross-origin resource sharing
dotenv 17.3 Environment variable management

πŸ“ Project Structure

dexis/
β”œβ”€β”€ Backend/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── auth.js              # JWT generation & verification
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ User.js              # User schema
β”‚   β”‚   └── Account.js           # Connected service schema
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ auth.js              # Google OAuth + demo login
β”‚   β”‚   β”œβ”€β”€ user.js              # User data + profile updates
β”‚   β”‚   β”œβ”€β”€ risk.js              # Risk score calculation
β”‚   β”‚   β”œβ”€β”€ simulation.js        # Attack simulation
β”‚   β”‚   └── scan.js              # Vulnerability scanning
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ riskEngine.js        # Risk scoring algorithm
β”‚   β”‚   └── attackSimulator.js   # Attack path generation
β”‚   β”œβ”€β”€ server.js                # Express app entry point
β”‚   └── package.json
β”‚
β”œβ”€β”€ Frontend/dexis/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ AttackGraphCard.jsx   # React Flow graph
β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardLayout.jsx   # Layout with sidebar
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.jsx           # Page header
β”‚   β”‚   β”‚   β”œβ”€β”€ RiskScoreCard.jsx     # Circular risk gauge
β”‚   β”‚   β”‚   β”œβ”€β”€ Sidebar.jsx          # Navigation sidebar
β”‚   β”‚   β”‚   └── SimulationCard.jsx    # Simulation results
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ Landing.jsx      # Public landing page
β”‚   β”‚   β”‚   β”œβ”€β”€ Login.jsx        # Authentication page
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx    # Main dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ AttackSurface.jsx # Service dependency map
β”‚   β”‚   β”‚   β”œβ”€β”€ Simulation.jsx   # Attack simulation
β”‚   β”‚   β”‚   β”œβ”€β”€ Scan.jsx         # Security scanner
β”‚   β”‚   β”‚   β”œβ”€β”€ Profile.jsx      # User profile
β”‚   β”‚   β”‚   └── Settings.jsx     # Account settings
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   └── api.js           # Axios instance + API methods
β”‚   β”‚   β”œβ”€β”€ App.jsx              # Router configuration
β”‚   β”‚   β”œβ”€β”€ main.jsx             # React entry point
β”‚   β”‚   └── index.css            # Global styles + theme
β”‚   β”œβ”€β”€ vite.config.js           # Vite + proxy config
β”‚   └── package.json
β”‚
└── README.md

πŸ” Demo Mode

The demo account comes pre-loaded with:

Service Risk Level Dependency Type Exposed Data Points
πŸ”‘ Google Account HIGH Primary 7 (email, name, photo, recovery phone, apps, calendar, contacts)
πŸ™ GitHub HIGH Cloud 6 (source code, API keys, SSH keys, org access, CI/CD secrets, emails)
πŸ’Ό LinkedIn MEDIUM Professional 6 (employment, network, email, phone, location, skills)
πŸ“¦ Dropbox MEDIUM Cloud 5 (documents, tax returns, shared folders, metadata, links)
🏦 Banking Service CRITICAL Financial 6 (account numbers, transactions, routing, cards, beneficiaries, statements)
πŸ’¬ Slack HIGH Communication 6 (messages, files, history, DMs, tokens, directory)
☁️ AWS Console CRITICAL Cloud 6 (infrastructure, S3, IAM, billing, databases, Lambda)
πŸ“ Notion LOW Cloud 5 (docs, meeting notes, roadmaps, wiki, API tokens)

Demo risk score: 78/100 (CRITICAL)


πŸ“„ License

This project is for educational and demonstration purposes.


Built with β˜• and a healthy paranoia about digital security.

About

Digital Exposure Intelligence System (DEXIS) is a MERN-based cybersecurity platform that visualizes digital identity attack surfaces, calculates risk scores, and simulates exploit chains. It features an enterprise-grade dashboard, interactive attack graph, vibrant professional UI, and demo access for instant evaluation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages