Skip to content

forkgitss/SiriusScan-Sirius

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sirius Scan

Sirius Scan Dashboard

Sirius is an open-source comprehensive vulnerability scanner that leverages community-driven security intelligence and automated penetration testing capabilities. Get started in minutes with our Docker-based setup.

πŸš€ Quick Start Guide

Prerequisites

  • Docker Engine 20.10.0+ with Docker Compose V2
  • System Requirements: 4GB RAM minimum, 10GB free disk space
  • Network Access: Internet connectivity for vulnerability database updates
  • Supported Platforms: Linux, macOS, Windows (with WSL2)

⚑ One-Command Setup

# Clone and start Sirius
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d

# Access the web interface
open http://localhost:3000

Login Credentials:

  • Username: admin
  • Password: password

⚠️ Security Notice: Change these default credentials immediately in production environments.

πŸ”§ Installation Options

Option 1: Standard Setup (Recommended for Most Users)

The default configuration provides a complete scanning environment:

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d

Option 2: User-Focused Setup (Simplified)

For the cleanest experience without development tooling:

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.user.yaml up -d

Option 3: Production Deployment

For production environments with optimized performance:

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.production.yaml up -d

βœ… Verify Installation

# Check all services are running
docker ps

# Expected services:
# - sirius-ui (port 3000)
# - sirius-api (port 9001)
# - sirius-engine (ports 5174, 50051)
# - sirius-postgres (port 5432)
# - sirius-rabbitmq (ports 5672, 15672)
# - sirius-valkey (port 6379)

# Access web interface
curl http://localhost:3000

# Check API health
curl http://localhost:9001/health

🎯 What Can Sirius Do?

Core Capabilities

  • πŸ” Network Discovery: Automated host discovery and service enumeration
  • πŸ›‘οΈ Vulnerability Assessment: CVE-based vulnerability detection with CVSS scoring
  • πŸ“Š Risk Management: Comprehensive risk scoring and remediation guidance
  • πŸŽͺ Visual Scanning Workflows: Drag-and-drop scan configuration
  • πŸ”„ Automated Scanning: Scheduled and continuous security assessments
  • πŸ“‘ Remote Agent Support: Distributed scanning across multiple environments
  • πŸ’» Interactive Terminal: PowerShell-based command interface for advanced operations
  • πŸ“ˆ Real-time Dashboards: Live scanning progress and vulnerability metrics

Supported Scan Types

  • Network Scanning: Nmap-based port and service discovery
  • Vulnerability Scanning: NSE script-based vulnerability detection
  • SMB/Windows Assessment: Specialized Windows security testing
  • Custom Workflows: User-defined scanning configurations
  • Agent-based Scanning: Remote endpoint assessment

πŸ—οΈ System Architecture

Sirius uses a microservices architecture with the following components:

Service Description Technology Ports Purpose
sirius-ui Web frontend Next.js 14, React, TailwindCSS 3000 User interface and visualization
sirius-api REST API backend Go, Gin framework 9001 API endpoints and business logic
sirius-engine Multi-service container Go, Air live-reload 5174, 50051 Scanner, terminal, and agent services
sirius-postgres Primary database PostgreSQL 15 5432 Vulnerability and scan data storage
sirius-rabbitmq Message queue RabbitMQ 5672, 15672 Inter-service communication
sirius-valkey Cache layer Redis-compatible 6379 Session and temporary data

πŸ“‘ Service Communication Flow

User Interface (sirius-ui)
    ↓ HTTP/WebSocket
REST API (sirius-api)
    ↓ AMQP Messages
Message Queue (sirius-rabbitmq)
    ↓ Queue Processing
Scanning Engine (sirius-engine)
    ↓ SQL Queries
Database (sirius-postgres)

πŸ—„οΈ Data Storage

  • PostgreSQL: Vulnerability data, scan results, host information
  • SQLite: User authentication and session data (development)
  • Valkey/Redis: Caching, temporary scan data, session storage
  • RabbitMQ: Message queues for scan requests and agent communication

πŸ“± Interface Overview

πŸ“Š Dashboard

Sirius Scan Dashboard

Your central command center featuring:

  • Real-time scanning activity and progress monitoring
  • Latest vulnerability discoveries with severity trends
  • System performance metrics and resource utilization
  • Quick-access controls for common scanning operations
  • Executive summary with risk scoring

πŸ” Scanning Interface

Scanning Interface

Advanced scanning capabilities:

  • Visual Workflow Editor: Drag-and-drop scan module configuration
  • Real-time Progress: Live scan status with detailed logging
  • Custom Profiles: Save and reuse scanning configurations
  • Scheduled Scans: Automated scanning with cron-like scheduling
  • Multi-target Support: Scan multiple hosts, networks, or IP ranges
  • NSE Script Integration: Custom Nmap scripts for specialized testing

🎯 Vulnerability Navigator

Vulnerability Navigator

Comprehensive vulnerability management:

  • Dynamic Filtering: Real-time search across all vulnerability data
  • Risk Prioritization: CVSS-based severity sorting and filtering
  • Detailed Reports: CVE/CPE mapping with remediation guidance
  • Export Capabilities: PDF, CSV, and JSON report generation
  • Historical Tracking: Vulnerability timeline and remediation progress
  • Integration Ready: API endpoints for external security tools

🌐 Environment Overview

Environment Overview

Complete infrastructure visibility:

  • Asset Inventory: Comprehensive host and service discovery
  • Network Topology: Interactive visualization of discovered infrastructure
  • Risk Assessment: Environment-wide security posture analysis
  • Service Enumeration: Detailed service versioning and configuration
  • Compliance Tracking: Security baseline monitoring and reporting

πŸ–₯️ Host Details

Host Details

In-depth system analysis:

  • System Profiling: Complete hardware and software inventory
  • Port Analysis: Detailed service discovery and version detection
  • Security Metrics: Host-specific vulnerability counts and risk scores
  • Historical Data: Scan history and security trend analysis
  • Remediation Tracking: Fix validation and security improvement monitoring

πŸ’» Terminal Interface

Terminal Interface

Advanced operations console:

  • PowerShell Environment: Full scripting capabilities for automation
  • Agent Management: Remote agent deployment and configuration
  • Custom Scripts: Execute custom security testing scripts
  • Batch Operations: Bulk scanning and management operations
  • System Diagnostics: Real-time system health and performance monitoring

πŸ› οΈ Development & Customization

🎯 End User Setup (Recommended)

Perfect for security professionals and penetration testers:

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d

This configuration provides:

  • βœ… Complete scanning capabilities out-of-the-box
  • βœ… Pre-configured vulnerability databases
  • βœ… No additional setup required
  • βœ… Production-ready security scanning

πŸ”§ Developer Setup (Advanced)

For developers contributing to Sirius or building custom integrations:

Prerequisites for Development

  • Git repositories for individual components
  • Go 1.21+ for backend development
  • Node.js 20+ for frontend development
  • Understanding of Docker multi-stage builds

Setup Development Environment

  1. Clone Component Repositories (Optional - for component development):
# Create development directory structure
mkdir -p ../minor-projects && cd ../minor-projects

# Clone only the components you want to develop:
git clone https://github.com/SiriusScan/go-api.git          # REST API backend
git clone https://github.com/SiriusScan/app-scanner.git    # Scanning engine
git clone https://github.com/SiriusScan/app-terminal.git   # Terminal service
git clone https://github.com/SiriusScan/app-agent.git      # Remote agents
git clone https://github.com/SiriusScan/sirius-nse.git     # NSE scripts
  1. Enable Development Mode:

Edit docker-compose.override.yaml and uncomment volume mounts for components you're developing:

# Uncomment ONLY for repositories you have cloned:
# - ../minor-projects/app-agent:/app-agent        # Agent development
# - ../minor-projects/app-scanner:/app-scanner    # Scanner development
# - ../minor-projects/app-terminal:/app-terminal  # Terminal development
# - ../minor-projects/go-api:/go-api              # API development
  1. Start Development Environment:
cd Sirius
docker compose down && docker compose up -d --build

Development Features

  • πŸ”₯ Hot Reload: Live code reloading with Air for Go services
  • πŸ“ Live Editing: Frontend changes reflect immediately
  • πŸ› Debug Mode: Detailed logging and error reporting
  • πŸ” Development Tools: Access to Go toolchain and debugging utilities

Development Commands

# View real-time logs
docker compose logs -f sirius-engine

# Access development container
docker exec -it sirius-engine bash

# Check live reload status
docker exec sirius-engine ps aux | grep air

# Restart specific service
docker restart sirius-engine

# Rebuild with changes
docker compose up -d --build

πŸ§ͺ Testing & Quality Assurance

# Run comprehensive test suite
./run_tests.sh --all

# Run specific test categories
./run_tests.sh --models      # Backend model tests
./run_tests.sh --ui          # Frontend UI tests
./run_tests.sh --integration # Integration tests
./run_tests.sh --security    # Security validation tests

# Manual testing commands
docker exec sirius-engine nmap --version
docker exec sirius-api go test ./...

πŸ”Œ API & Integration

Sirius provides comprehensive APIs for integration with existing security workflows:

REST API Endpoints

  • Authentication: /api/auth - JWT-based authentication
  • Hosts: /api/hosts - Host management and discovery
  • Scans: /api/scans - Scan management and execution
  • Vulnerabilities: /api/vulnerabilities - Vulnerability data access
  • Reports: /api/reports - Report generation and export

WebSocket APIs

  • Real-time Updates: Live scan progress and vulnerability notifications
  • Agent Communication: Bidirectional agent management
  • System Monitoring: Live system metrics and health status

Integration Examples

# Start a network scan via API
curl -X POST http://localhost:9001/api/scans \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"target": "192.168.1.0/24", "scan_type": "network"}'

# Get vulnerability summary
curl http://localhost:9001/api/vulnerabilities/summary \
  -H "Authorization: Bearer $TOKEN"

# Export scan results
curl http://localhost:9001/api/reports/scan/123/pdf \
  -H "Authorization: Bearer $TOKEN" \
  -o scan-report.pdf

πŸ”§ Troubleshooting

Common Issues & Solutions

🐳 Container Issues

Problem: Services fail to start

# Diagnosis
docker compose ps              # Check service status
docker compose logs <service>  # View service logs
docker system df              # Check disk space

# Solutions
docker compose down && docker compose up -d --build  # Fresh restart
docker system prune -f                               # Clean up space

Problem: "Port already in use" errors

# Find process using port
netstat -tuln | grep 3000
lsof -i :3000

# Solution: Stop conflicting service or change port
docker compose down
# Edit docker-compose.yaml to use different ports if needed

πŸ” Scanner Issues

Problem: Nmap errors or scanning failures

# Check scanner logs
docker logs sirius-engine | grep -i nmap

# Test Nmap directly
docker exec sirius-engine nmap --version
docker exec sirius-engine nmap -p 80 127.0.0.1

# Common fixes
docker restart sirius-engine
docker exec sirius-engine which nmap  # Verify Nmap installation

Problem: "Duplicate port specification" warnings

# This is resolved in current version, but if you see it:
docker exec sirius-engine grep -r "port.*specification" /app-scanner-src/
# Should show corrected port ranges like "1-1000,3389"

πŸ—„οΈ Database Issues

Problem: Database connection failures

# Check PostgreSQL status
docker exec sirius-postgres pg_isready
docker logs sirius-postgres

# Test connection
docker exec sirius-postgres psql -U postgres -d sirius -c "SELECT version();"

# Reset database if needed
docker compose down
docker volume rm sirius_postgres_data
docker compose up -d

🐰 Message Queue Issues

Problem: RabbitMQ connectivity issues

# Check RabbitMQ status
docker exec sirius-rabbitmq rabbitmqctl status

# View queue status
docker exec sirius-rabbitmq rabbitmqctl list_queues

# Access management interface
open http://localhost:15672  # guest/guest

🌐 Network & Connectivity

Problem: Services can't communicate

# Test internal network
docker exec sirius-ui ping sirius-api
docker exec sirius-api ping sirius-postgres

# Check network configuration
docker network ls
docker network inspect sirius_default

Problem: External access issues

# Verify port mapping
docker port sirius-ui
docker port sirius-api

# Check firewall (Linux)
sudo ufw status
sudo iptables -L

# Check firewall (macOS)
sudo pfctl -s all

🚨 Emergency Recovery

Complete System Reset:

# Stop all services
docker compose down

# Remove all data (⚠️ This deletes all scan data!)
docker compose down -v

# Clean Docker system
docker system prune -a -f

# Fresh start
docker compose up -d --build

Backup Current Data:

# Backup database
docker exec sirius-postgres pg_dump -U postgres sirius > backup.sql

# Backup scan results directory
docker cp sirius-engine:/opt/sirius/ ./sirius-backup/

πŸ”’ Security Best Practices

🏭 Production Deployment

Essential Security Steps:

  1. Change Default Credentials:
# Update in docker-compose.production.yaml
POSTGRES_PASSWORD=your_secure_password
RABBITMQ_DEFAULT_PASS=your_secure_password
NEXTAUTH_SECRET=your_long_random_secret
  1. Network Security:
# Use internal networks for service communication
# Expose only necessary ports (3000 for UI)
# Configure firewall rules
sudo ufw allow 3000/tcp
sudo ufw deny 5432/tcp  # Don't expose database
  1. SSL/TLS Configuration:
# Use reverse proxy with SSL (nginx/traefik)
# Enable HTTPS for web interface
# Secure API endpoints with proper certificates
  1. Data Protection:
# Encrypt database backups
# Secure volume mounts
# Regular security updates
docker compose pull  # Update images regularly

πŸ›‘οΈ Security Scanning Best Practices

  • Network Isolation: Run scans from isolated networks when possible
  • Permission Management: Use least-privilege principles for scan accounts
  • Scan Scheduling: Perform intensive scans during maintenance windows
  • Data Retention: Implement appropriate data lifecycle policies
  • Audit Logging: Enable comprehensive logging for compliance

πŸ“š Documentation & Resources

πŸ“– Essential Documentation

πŸ”Œ Technical Documentation

πŸŽ“ User Guides

🀝 Community & Support

πŸ“Š Performance & Scaling

πŸ“ˆ System Requirements by Use Case

Use Case CPU RAM Storage Network
Personal Lab 2 cores 4GB 20GB Basic
Small Business 4 cores 8GB 100GB Dedicated
Enterprise 8+ cores 16GB+ 500GB+ High-speed
MSP/Large Scale 16+ cores 32GB+ 1TB+ Enterprise

⚑ Performance Optimization

# Monitor resource usage
docker stats

# Optimize for large environments
# Edit docker-compose.yaml and add:
services:
  sirius-engine:
    deploy:
      resources:
        limits:
          cpus: '4.0'
          memory: 8G
        reservations:
          cpus: '2.0'
          memory: 4G

πŸ†• What's New

Recent Updates

  • βœ… Fixed Nmap Configuration: Resolved duplicate port specification warnings
  • βœ… Enhanced Development Mode: Improved volume mounting for local development
  • βœ… Better Error Handling: Enhanced debugging and logging capabilities
  • βœ… Performance Improvements: Optimized container startup and resource usage
  • βœ… Security Enhancements: Updated default configurations and security practices

Upcoming Features

  • πŸ”„ Advanced Reporting: Enhanced PDF and dashboard reporting
  • 🎯 AI-Powered Analysis: Automated vulnerability risk assessment
  • πŸ“± Mobile Support: Mobile-responsive interface improvements
  • πŸ”Œ Plugin System: Extensible scanning module architecture
  • ☁️ Cloud Integration: Native cloud platform scanning support

πŸ“„ License

This project is licensed under the terms specified in the LICENSE file.


πŸš€ Ready to start scanning? Follow our Quick Start Guide and have Sirius running in under 5 minutes!

πŸ’‘ Need help? Join our Discord community for real-time support and discussion.

πŸ› Found a bug? Report it on GitHub Issues - we respond quickly!


For production deployments, always change default credentials and review our Security Guide for best practices.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.6%
  • Shell 6.3%
  • Go 3.0%
  • Dockerfile 1.1%
  • CSS 0.4%
  • JavaScript 0.3%
  • PowerShell 0.3%