Skip to content

codex-yasxh/WebSecVisualizer

Repository files navigation

WebSec Visualizer ๐Ÿ”’

A comprehensive visual security scanner that analyzes any website for vulnerabilities, misconfigurations, and security risks with an interactive dashboard.

๐ŸŒŸ Features

๐Ÿ” Security Analysis

  • Malware Detection: Scan URLs for malicious content using VirusTotal API
  • Attack Surface Analysis: Identify open ports and exposed services
  • SSL/TLS Assessment: Comprehensive HTTPS security evaluation
  • Security Headers Audit: Check for missing security headers (CSP, XSS Protection, etc.)
  • Tech Stack Fingerprinting: Identify technologies and frameworks used
  • Domain Intelligence: WHOIS information, domain age, and registration details

๐Ÿ“Š Interactive Dashboard

  • Radar Chart: Visual vulnerability score breakdown
  • Bar Graphs: Security headers compliance
  • Pie Charts: Risk category distribution
  • Real-time Scanning: Live progress updates
  • Risk Scoring: High/Medium/Low risk assessment
  • Recommendations: Actionable security improvements

๐Ÿ›ก๏ธ Advanced Features

  • Rate Limiting: API usage protection
  • CORS Security: Cross-origin request handling
  • Error Handling: Graceful failure management
  • Responsive Design: Works on all devices

๐Ÿš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • API Keys (see Configuration section)

Installation

  1. Clone the repository

    git clone <repository-url>
    cd WebSecVisualizer
  2. Install dependencies

    npm run install-all
  3. Configure environment variables

    cp .env.example .env
    # Edit .env with your API keys
  4. Start the development server

    npm run dev
  5. Open your browser

    Frontend: http://localhost:3000
    Backend: http://localhost:5000
    

โš™๏ธ Configuration

Create a .env file in the root directory:

# Server Configuration
PORT=5000
NODE_ENV=development

# API Keys (Get these from respective services)
VIRUSTOTAL_API_KEY=your_virustotal_api_key
WAPPALYZER_API_KEY=your_wappalyzer_api_key
SHODAN_API_KEY=your_shodan_api_key

# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100

# Security
CORS_ORIGIN=http://localhost:3000

Required API Keys

  1. VirusTotal: Get API Key
  2. Wappalyzer: Get API Key
  3. Shodan: Get API Key

๐Ÿ“– Usage

  1. Enter a URL: Input any website URL (e.g., https://example.com)
  2. Start Scan: Click the scan button to begin analysis
  3. View Results: Monitor real-time progress and view comprehensive results
  4. Analyze Dashboard: Explore interactive charts and security metrics
  5. Get Recommendations: Review actionable security improvements

๐Ÿ—๏ธ Architecture

WebSecVisualizer/
โ”œโ”€โ”€ client/                 # React frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/     # React components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/         # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ services/      # API services
โ”‚   โ”‚   โ””โ”€โ”€ utils/         # Utility functions
โ”œโ”€โ”€ server/                 # Node.js backend
โ”‚   โ”œโ”€โ”€ routes/            # API routes
โ”‚   โ”œโ”€โ”€ services/          # Security scanning services
โ”‚   โ”œโ”€โ”€ middleware/        # Express middleware
โ”‚   โ””โ”€โ”€ utils/             # Backend utilities
โ”œโ”€โ”€ public/                # Static assets
โ””โ”€โ”€ docs/                  # Documentation

๐Ÿ”ง API Endpoints

Security Scan

  • POST /api/scan - Start a new security scan
  • GET /api/scan/:id - Get scan results
  • GET /api/scan/:id/status - Get scan status

Analysis Results

  • GET /api/analysis/ssl/:domain - SSL/TLS analysis
  • GET /api/analysis/headers/:domain - Security headers check
  • GET /api/analysis/tech/:domain - Technology detection
  • GET /api/analysis/malware/:url - Malware detection

๐ŸŽจ UI/UX Features

  • Dark Theme: Modern black background with polished components
  • Interactive Charts: D3.js powered visualizations
  • Real-time Updates: Live progress indicators
  • Responsive Design: Mobile-friendly interface
  • Smooth Animations: Enhanced user experience

๐Ÿ”’ Security Considerations

  • Rate limiting to prevent API abuse
  • Input validation and sanitization
  • CORS configuration for cross-origin requests
  • Helmet.js for security headers
  • Environment variable protection

๐Ÿš€ Deployment

Production Build

npm run build
npm start

Environment Variables for Production

NODE_ENV=production
PORT=5000
CORS_ORIGIN=https://yourdomain.com

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

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

๐Ÿ†˜ Support

For support and questions:

  • Create an issue in the repository
  • Check the documentation in /docs
  • Review the API documentation

๐Ÿ”ฎ Future Roadmap

  • User authentication system
  • Scan history and comparison
  • Scheduled re-scanning
  • Email alerts for vulnerabilities
  • PDF report export
  • Freemium SaaS model
  • Advanced vulnerability scanning
  • Integration with more security tools

Built with โค๏ธ for the security community

WebSecVisualizer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published