
ओपन-सोर्स भेद्यता स्कैनर जिसमें स्वचालित नेटवर्क खोज, CVE-आधारित पहचान, CVSS स्कोरिंग, जोखिम डैशबोर्ड, gRPC के माध्यम से रिमोट एजेंट और उद्यम सुरक्षा टीमों के लिए एक आधुनिक वेब UI शामिल है।

Sirius एक ओपन-सोर्स vulnerability scanner है जिसमें स्वचालित discovery, CVE-आधारित detection और एक आधुनिक web UI शामिल है। रिपॉज़िटरी को clone करें, agent TLS certificate को कॉन्फ़िगर करें, और scanning शुरू करें।
स्टैक शुरू करने से पहले, Agent gRPC TLS configuration में वर्णित अनुसार agent server certificate और key प्रोविज़न करें। इंस्टॉलर इन्हें नहीं बनाता।
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.installer.yaml run --rm sirius-installer
docker compose up -d
http://localhost:3000 खोलें और लॉग इन करें:
[email protected] | |
| Password | इंस्टॉलर द्वारा प्रिंट किया गया (INITIAL_ADMIN_PASSWORD के लिए आउटपुट देखें) |
सभी छह सेवाएँ आवश्यक कॉन्फ़िगरेशन मौजूद होने पर स्वचालित रूप से शुरू हो जाती हैं। इंस्टॉलर पहली बार चलने पर एप्लिकेशन सीक्रेट्स जनरेट करता है और इसे दोबारा चलाना सुरक्षित है।
डिफ़ॉल्ट रूप से इंस्टॉलर IMAGE_TAG को अनसेट छोड़ देता है, इसलिए Compose GHCR से latest खींचता है। किसी रिलीज़ को पिन करने के लिए (उदाहरण के लिए .env में v1.0.0), ऐसा केवल तब करें जब वह टैग सभी छह कंटेनर इमेजों के लिए मौजूद हो; किसी ऐसे शेल से bash scripts/verify-ghcr-public-access.sh v1.0.0 के साथ सत्यापित करें जो ghcr.io में लॉग इन न हो।
आवश्यकताएँ: Compose V2 के साथ Docker Engine 20.10+, 4 GB RAM, 10 GB डिस्क। Linux, macOS, और Windows (WSL2) पर काम करता है।
X-API-Key प्रमाणीकरण)इंस्टॉलर चरण हमेशा एक ही रहता है। केवल docker compose up कमांड बदलता है।
| मोड | कमांड | उपयोग का मामला |
|---|---|---|
| Standard | docker compose up -d | अधिकांश उपयोगकर्ता -- GHCR से पूरा रिलीज़ स्टैक खींचता है |
| Development | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | स्थानीय कोड कार्य के लिए लाइव-रीलोड |
| Source Build | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | स्पष्ट स्थानीय फुल-स्टैक बिल्ड |
| Production | docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d | कठोर सेटिंग्स, pull_policy: always |
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate
docker compose ps # all 6 services should show "healthy" or "running"
curl http://localhost:3000 # UI responds
curl http://localhost:9001/health # API responds
अपेक्षित सेवाएँ: sirius-ui (3000), sirius-api (9001), sirius-engine (5174, 50051), sirius-postgres (5432), sirius-rabbitmq (5672, 15672), sirius-valkey (6379)।
graph TD
subgraph clients [Clients]
UI["Sirius UI (Next.js)"]
CLI["Terminal and Agent Runtime"]
end
subgraph core [Core Services]
API["Sirius API (Go/Gin)"]
Engine["Sirius Engine"]
end
subgraph infra [Infrastructure]
MQ["RabbitMQ"]
DB["PostgreSQL"]
Cache["Valkey"]
end
UI -->|"HTTP/WebSocket"| API
CLI -->|"gRPC"| Engine
API -->|"AMQP publish"| MQ
MQ -->|"Queue consume"| Engine
API -->|"SQL read/write"| DB
Engine -->|"SQL read/write"| DB
API -->|"Session/cache ops"| Cache
Engine -->|"Scan state cache ops"| Cache
| सेवा | तकनीक | पोर्ट | उद्देश्य |
|---|---|---|---|
| sirius-ui | Next.js 14, React, Tailwind | 3000 | वेब इंटरफ़ेस |
| sirius-api | Go, Gin | 9001 | REST API और बिज़नेस लॉजिक |
| sirius-engine | Go + एम्बेडेड gRPC एजेंट | 5174, 50051 | स्कैनर, टर्मिनल, एजेंट सेवाएँ |
| sirius-postgres | PostgreSQL 15 | 5432 | भेद्यता और स्कैन डेटा |
| sirius-rabbitmq | RabbitMQ | 5672, 15672 | अंतर-सेवा संदेशन |
| sirius-valkey | Valkey (Redis-संगत) | 6379 | कैश और सत्र डेटा |
| डैशबोर्ड | स्कैनर | भेद्यता नेविगेटर |
|---|---|---|
![]() | ![]() | ![]() |
| वातावरण | होस्ट विवरण | टर्मिनल |
|---|---|---|
![]() | ![]() | ![]() |
Sirius पोर्ट 9001 पर REST एंडपॉइंट्स प्रदान करता है, जो आंतरिक सेवा API कुंजी द्वारा सुरक्षित हैं। Docker सीक्रेट फ़ाइल (SIRIUS_API_KEY_FILE, डिफ़ॉल्ट /run/secrets/sirius_api_key) को प्राथमिकता दें; SIRIUS_API_KEY एक समर्थित env फ़ॉलबैक बना हुआ है। इंस्टॉलर ./secrets/sirius_api_key.txt लिखता है (मोड 0644 ताकि गैर-रूट ऐप UID बाइंड-माउंट किए गए सीक्रेट को पढ़ सकें) और दोनों को कॉन्फ़िगर करता है।
curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"
curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"
पूर्ण API दस्तावेज़: REST API Reference
प्रोडक्शन परिनियोजन के लिए:
--force के साथ चलाएँdocker compose pull && docker compose up -dसामान्य समस्याओं के लिए त्वरित समाधान: