
ماسح ضوئي للثغرات الأمنية مفتوح المصدر مع اكتشاف تلقائي للشبكة، وكشف يعتمد على CVE، وتقييم CVSS، ولوحات معلومات المخاطر، وعوامل عن بُعد عبر gRPC، وواجهة ويب حديثة لفرق الأمن في المؤسسات.

سيريوس هو ماسح ضعف مفتوح المصدر مع اكتشاف تلقائي، كشف قائم على CVE، وواجهة ويب حديثة. استنسخ، شغّل أربعة أوامر، وابدأ المسح.
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] |
| كلمة المرور | مطبوعة بواسطة المثبّت (ابحث عن INITIAL_ADMIN_PASSWORD في المخرجات) |
هذا كل شيء. جميع الخدمات الست تبدأ تلقائياً. يقوم المثبّت بإنشاء أسرار آمنة في أول تشغيل ويمكن إعادة تشغيله بأمان.
بشكل افتراضي، يترك المثبّت IMAGE_TAG غير مضبوط، لذا يسحب Compuse أحدث إصدار latest من GHCR. لتثبيت إصدار معين (مثلاً v1.0.0 في ملف .env)، لا تفعل ذلك إلا بعد أن يكون العلامة موجودة لجميع حاويات الصور الستة؛ تحقق باستخدام bash scripts/verify-ghcr-public-access.sh v1.0.0 من شل غير مسجل دخول إلى ghcr.io.
المتطلبات: Docker Engine 20.10+ مع Compose V2، 4 جيجابايت RAM، 10 جيجابايت قرص صلب. يعمل على Linux، macOS، و Windows (WSL2).
X-API-Key على المنفذ 9001)خطوة المثبّت هي نفسها دائماً. فقط أمر docker compose up هو الذي يتغير.
| الوضع | الأمر | حالة الاستخدام |
|---|---|---|
| قياسي | docker compose up -d | معظم المستخدمين -- يسحب حزمة الإصدار الكاملة من GHCR |
| تطويري | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | إعادة تحميل حية للعمل على الكود محلياً |
| بناء من المصدر | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | بناء صريح للحزمة الكاملة محلياً |
| إنتاجي | 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 # يجب أن تظهر جميع الخدمات الست "healthy" أو "running"
curl http://localhost:3000 # واجهة المستخدم تستجيب
curl http://localhost:9001/health # API تستجيب
الخدمات المتوقعة: 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 | بيانات التخزين المؤقت والجلسات |
| لوحة التحكم | الماسح | متصفح الثغرات |
|---|---|---|
![]() | ![]() | ![]() |
| البيئة | تفاصيل المضيف | الطرفية |
|---|---|---|
![]() | ![]() | ![]() |
يكشف سيريوس عن نقاط نهاية REST على المنفذ 9001، محمية بواسطة مفتاح API الخدمة الداخلي. يفضّل استخدام ملف Docker السري (SIRIUS_API_KEY_FILE، الافتراضي /run/secrets/sirius_api_key)؛ يظل SIRIUS_API_KEY مدعوماً كمتغير بيئة احتياطي. يكتب المثبّت ./secrets/sirius_api_key.txt (الوضع 0644 حتى تتمكن معرفات المستخدم غير الجذر من قراءة السر المرتبط) ويضبط كليهما.
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
لنشر الإنتاج:
--force لإعادة توليد جميع بيانات الاعتمادdocker compose pull && docker compose up -dإصلاحات سريعة للمشكلات الشائعة:
| المشكلة | الإصلاح |
|---|---|
| الخدمات لا تبدأ | docker compose logs <service> للعثور على الخطأ |
| طبقة التطوير تفتقر إلى البنية التحتية | استخدم كلا الملفين: -f docker-compose.yaml -f docker-compose.dev.yaml |
| تعارض المنفذ | lsof -i :3000 للعثور على العملية المتعارضة |
| خطأ اتصال قاعدة البيانات | docker exec sirius-postgres pg_isready |
| أسرار قديمة بعد إعادة الضبط | أعد تشغيل المثبّت، ثم docker compose up -d --force-recreate |
للحصول على أدلة تشغيل مفصلة، إجراءات التحقق، واسترداد الطوارئ، راجع العمليات وحل المشكلات.
انظر CONTRIBUTING.md لإعداد التطوير، معايير الترميز، وإرشادات طلبات السحب.