Thank you for your interest in contributing to Sirius Scan! This guide will help you get started with contributing to our open-source vulnerability scanning platform.
Sirius is an open-source general purpose vulnerability scanner that leverages community-driven security intelligence. The project combines:
Sirius consists of several microservices:
Service | Description | Port |
---|---|---|
sirius-ui | Web interface (Next.js) | 3000 |
sirius-api | Backend API service | 9001 |
sirius-engine | Scanning engine | 5174 |
sirius-rabbitmq | Message broker | 5672/15672 |
sirius-postgres | Database | 5432 |
sirius-valkey | Key-value store | 6379 |
Before you begin contributing, ensure you have:
Fork and Clone
git clone https://github.com/YOUR_USERNAME/Sirius.git
cd Sirius
Start Services
# Start all services
docker compose up -d
# Verify services are running
docker compose ps
Install Dependencies
# Backend dependencies
go mod download
# Frontend dependencies
cd website
npm install
Configure Environment
The project uses environment variables configured in docker-compose.yaml:
# Database configuration
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: sirius
# API configuration
API_PORT: 9001
DB_HOST: sirius-postgres
Run Tests
# Run all tests
./run_tests.sh --all
# Run specific test suites
./run_tests.sh --models # Model tests
./run_tests.sh --ui # UI tests
Before starting work:
Use descriptive branch names:
feature/description
- New featuresfix/description
- Bug fixesdocs/description
- Documentationrefactor/description
- Code improvementstest/description
- Test additionsWrite clear commit messages:
Add host discovery feature
- Implement ARP scanning
- Add subnet range support
- Include rate limiting option
Fixes #123
Guidelines:
gofmt
for formattingThe project includes comprehensive testing:
# Backend tests
go test ./...
# Frontend tests
npm test
# Integration tests
./run_tests.sh --integration
# Reset test database
./run_tests.sh --reset
Service fails to start
docker compose logs <service-name>
netstat -tuln
Database connection issues
docker compose ps sirius-postgres
Message queue problems
We value all contributions and recognize them through: