
UltraViolet v1.0.11
محرك اكتشاف وبحث للشبكات ذاتي الاستضافة مع مسح مستمر للمنافذ، وفحص عميق للبروتوكولات عبر حوالي 100 خدمة، ومطابقة محلية لـ CVE، وبحث نصي كامل لجرد البنية التحتية ومراقبة المخاطر.
UltraViolet
اكتشاف وبحث شبكي ذاتي الاستضافة — نسختك الخاصة من Shodan، على أجهزتك.
فحص TCP/UDP · ~100 فحص بروتوكول · بصمات TLS/JARM · مطابقة CVE · بحث نصي كامل · تتبع الفروقات · تنبيهات
بدء سريع · الميزات · البنية · الوثائق · قائمة التحقق للإنتاج
مهم. افحص فقط الشبكات التي تملكها أو لديك إذن كتابي لفحصها. ينفّذ UltraViolet استطلاعًا سلبيًا للخدمات — فهو لا يستغل الثغرات.
لماذا UltraViolet؟
| حالة الاستخدام | ما الذي تحصل عليه |
|---|---|
| حدود الشبكة والجرد | اكتشاف مستمر للمنافذ والخدمات المفتوحة عبر نطاقات CIDR |
| البحث في البنية التحتية | بحث نصي كامل عبر محتوى HTTP واللافتات وTLS وDNS والثغرات (CVEs) |
| المخاطر والامتثال | مطابقة محلية مع NVD بالإضافة إلى CISA KEV وEPSS — دون الاعتماد على السحابة |
| النشر المعزول (Air-gapped) | أرشيف دون اتصال يشمل صور Docker وبذرة CVE وملف GeoIP MMDB على القرص |
| تتبع التغييرات | الفروقات بين عمليات الفحص، وأحداث WebSocket، وتنبيهات على عمليات البحث المحفوظة |
مستأجر واحد، ومكدّس Docker Compose واحد، وسيطرة كاملة على بياناتك.
✨ الميزات
الاكتشاف
- ماسح اتصال TCP يعتمد على masscan أو zmap كمحرك اكتشاف
- فحوصات UDP على منافذ قابلة للتكوين
- يُحدَّد نطاقه عبر
SCAN_ALLOWED_CIDRSمع حدود للمضيفات والمنافذ
فحوصات عميقة (~100 بروتوكول)
- الويب: HTTP/HTTPS وHTTP/3 وGraphQL وتجزئة favicon و
robots.txtوsecurity.txtومكدّس التقنيات - TLS: سلاسل الشهادات، JARM، JA3S/JA4S، تقييم الإعدادات
- البريد والدلائل: SMTP وPOP3/IMAP وLDAP وIPMI
- قواعد البيانات وقوائم الانتظار: MySQL وPostgreSQL وMongoDB وRedis وKafka وMQTT وNATS وAMQP…
- ICS/SCADA: Modbus وBACnet وDNP3 وIEC 104 وS7Comm وENIP وOPC UA…
- إنترنت الأشياء والوسائط: ONVIF وRTSP وChromecast وAirPlay وUPnP…
- القائمة الكاملة في وثائق البروتوكولات
الإثراء
- DNS عكسي، GeoIP (MMDB)، ASN
- اكتشاف اختياري لـ DNS المباشر وسجلات CT
الثغرات (CVE) والمخاطر
- مرآة محلية لـ NVD مع مزامنة في الخلفية ومطابقة قائمة على البصمات
- CISA KEV وFIRST EPSS
العمليات
- التحكم بالوصول RBAC (
viewer/operator/admin)، JWT + رموز التحديث - جدولة عمليات الفحص، إيقاف مؤقت/استئناف، استعادة المهام اليتيمة بعد إعادة تشغيل العامل
- Prometheus
/metrics، وملف Grafana اختياري - سجل تدقيق، تحديد معدل الطلبات، سياسات الاحتفاظ
🏗 البنية
flowchart TB
Browser["Browser"]
FE["service-frontend<br/>React + nginx"]
API["uv-api<br/>REST · WS · metrics"]
PG[("PostgreSQL 16")]
SCAN["uv-scanner<br/>probe pipeline"]
Browser --> FE
FE -->|"/api"| API
FE -->|"/realtime"| API
API <--> PG
SCAN <--> PG
API -.->|LISTEN/NOTIFY| API
صورة واجهة المستخدم في الإصدار توجّه /api/ و/realtime إلى uv-api — أصل واحد، دون إعادة بناء للواجهة الأمامية لكل عنوان API.
| الدليل | الغرض |
|---|---|
service-api/ | Go: uv-api (واجهة HTTP API وWebSocket والعمال) + uv-scanner (خط المعالجة) |
service-frontend/ | React 19 + Vite + RTK — الفحوصات والمضيفون والبحث ولوحة المعلومات |
service-documentation-frontend/ | VitePress — وثائق المستخدم والمشغّل |
service-env/ | docker-compose والأسرار وinstall.sh / upgrade.sh / النسخ الاحتياطي |
قواعد تطوير الواجهة الخلفية: CLAUDE.md.
🚀 بدء سريع
المتطلبات: Go 1.25+ ومحرك Docker ≥ 24 وذاكرة ~4 جيجابايت RAM. صور الإنتاج موجهة لنظام Linux amd64.
التشغيل من Docker Hub (بدون بناء من المصدر)
مسار المبتدئين — اسحب الصور المنشورة باستخدام
service-env/docker-compose.registry.yml:
cd service-env
cp env.registry.example .env
# set POSTGRES_PASSWORD, AUTH_JWT_SECRET, AUTH_BOOTSTRAP_PASSWORD
mkdir -p geoip catalog-seed
docker compose -f docker-compose.registry.yml pull
docker compose -f docker-compose.registry.yml up -d
# UI → http://localhost:3000
انظر Docker Registry في موقع الوثائق.
التطوير من المصدر
تنسخ صور الواجهة البرمجية والماسح الضوئي الملفات الثنائية المجمّعة مسبقًا من service-api/bin/ (لا تُجمَّع داخل Docker). يشغّل make dev الأمر make -C service-api build-linux قبل docker compose … --build.
git clone https://github.com/yakushstanislav/UltraViolet.git
cd UltraViolet/service-env
cp .env.example .env
mkdir -p secrets
openssl rand -hex 32 > secrets/postgres_password
openssl rand -hex 32 > secrets/auth_jwt_secret
cd ..
make dev
| URL | الغرض |
|---|---|
| http://localhost:3000 | واجهة المستخدم (API عبر nginx /api/) |
| http://localhost:8080 | API مباشرة |
| http://localhost:9090/metrics | Prometheus |
الإقلاع التطويري: admin / admin (فقط عندما APP_ENV≠production).
📖 الوثائق
الدليل الكامل — VitePress في service-documentation-frontend/docs/:
make docs-dev # → http://localhost:5173
في بيئة الإنتاج، فعّل ملف docs:
cd service-env && docker compose --profile docs up -d
# → http://localhost:${UV_DOCUMENTATION_PORT:-3002}
الأقسام الرئيسية: التثبيت · الفحص · API · النشر · التثبيت دون اتصال.
🛠 التطوير
Docker بالكامل
make dev # build-linux → compose prod + dev override --build
أعد بناء ملفات Go الثنائية بعد تغييرات الواجهة الخلفية (make -C service-api build-linux)، ثم أعد التشغيل أو أعد تنفيذ make dev.
الوضع الهجين (تكرار أسرع للواجهة الخلفية)
make dev-db # PostgreSQL only on :5432