Skip to content

KBarathraj/NodeSec

Repository files navigation

NodeSec : Attack Surface Intelligence for Non-Experts

NodeSec is a modern attack surface intelligence platform designed to help organizations understand what is publicly exposed on the internet — without requiring a dedicated cybersecurity team.

Most colleges, SMEs, startups, and local organizations struggle to interpret complex security tools and raw vulnerability reports. NodeSec bridges that gap by transforming scattered OSINT data into clear attack graphs, understandable risk insights, and actionable remediation guidance.

Instead of overwhelming users with technical logs, NodeSec focuses on answering three simple questions:

  • What is exposed?
  • How serious is the risk?
  • What should be fixed first?

Built with FastAPI, React, PostgreSQL, and Docker.

Quick Start

The only prerequisite is Docker Desktop (or Docker Engine + Compose). No local Python, Node, or PostgreSQL needed.

git clone <repo-url>
cd NodeSec
docker compose up --build

Then open http://localhost:8080. The API docs live at http://localhost:8000/docs.

That's it — the database, backend, and frontend all start together, the schema is created automatically, and the app talks to the API through an nginx proxy so it works from any machine or IP with zero configuration.

Convenience wrappers are provided if you prefer:

OS Command
macOS / Linux ./run.sh
Windows run.bat

Useful commands

docker compose up --build -d     # run in the background
docker compose logs -f           # follow logs
docker compose down              # stop
docker compose down -v           # stop and wipe all data (fresh start)

Configuration is optional — copy .env.example to .env to change ports, database credentials, or add API keys (HIBP, Shodan). Everything has working defaults out of the box.

Local development without Docker is still supported: run the backend with uvicorn main:app --reload (needs a local PostgreSQL) and the frontend with npm install && npm run dev. Docker is the recommended path for a one-command run.

Why NodeSec?

Traditional security tools are often designed for experienced security engineers and produce outputs that are difficult for non-experts to interpret.

NodeSec simplifies cybersecurity visibility by combining:

  • Passive OSINT-based intelligence gathering
  • Visual attack surface mapping
  • Deterministic attack chain detection
  • Severity-based risk scoring
  • Plain-language explanations
  • Actionable remediation guidance

The goal is to make cybersecurity visibility more accessible for resource-constrained organizations and non-specialist administrators.

Core Features

  • Passive subdomain discovery using public intelligence sources
  • DNS, SSL, and exposure analysis
  • Visual attack graph generation
  • Attack chain detection engine
  • Severity-based risk scoring
  • Human-readable explanations and fix recommendations
  • Interactive dashboard experience
  • Dockerized local development setup

System Architecture

Screenshot 2026-05-18 214231

Tech Stack

Layer Technology
Frontend React, Vite, Tailwind CSS, React Flow, Framer Motion
Backend FastAPI, SQLAlchemy, Pydantic
Database PostgreSQL
Authentication JWT + bcrypt
OSINT Sources crt.sh, CertSpotter, OTX, DNS, SSL
Containerization Docker + Docker Compose

Scalability & Future Vision

NodeSec is designed with modular scalability in mind.

The architecture separates:

  • OSINT collection
  • attack analysis
  • scoring
  • reporting
  • frontend visualization

This enables future scaling into:

  • distributed scan workers
  • real-time monitoring
  • enterprise multi-tenant deployments
  • cloud-native orchestration
  • AI-assisted remediation guidance
  • SIEM integrations
  • automated alerting pipelines

The backend is containerized using Docker and can be horizontally scaled with orchestration platforms such as Kubernetes in production environments.

Workflow

12c197ae-8dd0-48c8-9484-5b3eff2e7554

Project Structure

NodeSec/
├── nodesec-backend/
│   ├── routers/
│   ├── services/
│   ├── osint/
│   ├── rule_engine/
│   ├── scoring/
│   ├── workers/
│   ├── models/
│   └── schemas/
│
├── nodesec-frontend/
│   ├── src/
│   │   ├── pages/
│   │   ├── components/
│   │   ├── api/
│   │   ├── hooks/
│   │   └── store/
│
├── docker-compose.yml
└── README.md

Example Workflow

  1. User enters a domain
  2. NodeSec collects public OSINT data
  3. Backend analyzes attack relationships
  4. Risk engine scores vulnerabilities
  5. Dashboard visualizes findings
  6. User receives explanations and remediation steps

Screenshots

Screenshot (317) image

License

MIT License

1. K.BarathRaj - Backend developer

2. D.Meageswar - Frontend developer

3. R.Santhosh - Search engineer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors