Skip to content

oferchen/Sirius

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sirius Scan v0.4.0

Sirius Scan Dashboard

Sirius is an open-source comprehensive vulnerability scanner that leverages community-driven security intelligence and automated penetration testing capabilities. v0.4.0 introduces comprehensive system monitoring and observability features. 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 (uses prebuilt images from GitHub Container Registry)
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d

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

Note: By default, Sirius uses prebuilt container images from GitHub Container Registry for fast deployments (5-8 minutes). For local development with source code changes, use docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d.

Login Credentials:

  • Username: admin
  • Password: password

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

πŸ†• What's New in v0.4.0

System Monitoring & Observability

  • Real-time Health Monitoring: Live service health checks for all components
  • Centralized Logging: Unified log collection and management system
  • Performance Metrics: Container resource utilization tracking
  • System Dashboard: Comprehensive monitoring interface at /system-monitor

Enhanced Reliability

  • Improved Container Builds: Production-ready Docker configurations
  • Better Error Handling: Comprehensive error management and recovery
  • SSH Troubleshooting: Enhanced debugging capabilities for deployments
  • Automated Testing: Robust container testing and validation

πŸ”§ 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

πŸ› οΈ Standard Setup

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

🀝 Contributing

Want to contribute to Sirius? We welcome contributions from the community!

For Developers: Check out our comprehensive Contributing Guide for:

  • πŸ”§ Development environment setup
  • πŸ”„ Development workflow and best practices
  • πŸ§ͺ Testing and quality assurance
  • πŸ“ Code standards and Git workflow
  • πŸš€ Submitting pull requests

Quick Links:

Join our community and help make security scanning accessible to everyone!

πŸ”Œ 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: Infrastructure services (PostgreSQL, RabbitMQ, Valkey) don't start

# This occurs when using only docker-compose.dev.yaml
# The dev file is an OVERRIDE file, not standalone

# ❌ Wrong (only starts 3 services):
docker compose -f docker-compose.dev.yaml up -d

# βœ… Correct (starts all 6 services):
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d

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

Problem: RabbitMQ schema integrity check failed

# This occurs when RabbitMQ has old data from an incompatible version
# Solution: Remove old volumes and restart fresh

docker compose down -v  # For standard setup
# Or for development:
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml down -v
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d

🌐 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 83.0%
  • Go 7.5%
  • Shell 7.1%
  • Dockerfile 1.3%
  • CSS 0.4%
  • Makefile 0.3%
  • Other 0.4%