
أداة CLI حديثة لاستكشاف بيانات الثغرات الأمنية مع إمكانيات بحث وتصفية وتحليل قوية.

# 1. Get vulnx
go install github.com/projectdiscovery/vulnx/v2/cmd/vulnx@latest
# 2. Explore commands
vulnx --help
vulnx search --help
# 3. Start exploring vulnerabilities (no API key required)
vulnx filters # See all available search fields
vulnx search apache # Basic search (subject to rate limits)
# 4. Set up your API key (recommended to avoid rate limits)
vulnx auth # Get free API key at https://cloud.projectdiscovery.io
# 5. Enhanced exploration with higher limits
vulnx search apache # No rate limits
vulnx id CVE-2021-44228 # Faster responses
ابحث عن الثغرات بدقة:
vulnx search "severity:critical && is_remote:true"
vulnx search "apache || nginx" --limit 20
vulnx search "cvss_score:>8.0 && cve_created_at:2024"
احصل على معلومات تفصيلية عن الثغرة:
vulnx id CVE-2021-44228
vulnx id CVE-2024-1234 --json
حلل أنماط الثغرات:
vulnx analyze --fields severity
vulnx analyze --fields affected_products.vendor
تنسيقات الإخراج:
vulnx search "apache" --json # Machine-readable JSON
vulnx search "apache" --output results.json # Save to file
vulnx search "apache" --silent # Quiet output
التحكم في البحث:
vulnx search "apache" --limit 50 # Get 50 results
vulnx search "apache" --sort-desc cvss_score # Sort by CVSS score
vulnx search "apache" --fields cve_id,severity # Specific fields only
البحث المتقدم:
vulnx search --term-facets severity=5,tags=10 "apache"
vulnx search --range-facets numeric:cvss_score:high:8:10 "remote"
vulnx search --highlight "apache" # Enable search highlighting
vulnx search --facet-size 20 "nginx" # More facet buckets
vulnx search --detailed "xss" # Detailed output like 'id' command
استكشف ما يمكنك البحث فيه:
vulnx filters # Show all available search fields
vulnx filters --json # Machine-readable field list
vulnx filters --output fields.json # Save field info to file
يعرض أمر filters معلومات مفصلة عن جميع الحقول القابلة للبحث بما في ذلك:
مثال على الإخراج:
Field: severity
Data Type: string
Description: Vulnerability severity level (e.g., critical, high, medium, low, info)
Can Sort: Yes
Facet Possible: Yes
Search Analyzer: keyword-lower
Examples: severity:critical, severity:high
Enum Values: critical, high, medium, low, info, unknown
Total: 69 filters available
استخدم هذا الأمر لاكتشاف إمكانيات بحث جديدة وفهم صيغة الحقول قبل بناء استعلامات معقدة.
العثور على ثغرات عالية الخطورة:
vulnx search "severity:critical && is_remote:true && is_kev:true"
vulnx search "cvss_score:>8.0 && cve_created_at:>=2024" # High CVSS from 2024
vulnx search "is_kev:true && age_in_days:<90" # Recent KEV exploits
البحث حسب التقنية:
vulnx search "apache" # Apache vulnerabilities
vulnx search "apache || nginx" # Multiple technologies
vulnx search "affected_products.vendor:microsoft" # By vendor
التصفية حسب الخطورة والدرجات:
vulnx search "severity:high" # High severity
vulnx search "cvss_score:>7.0" # CVSS score above 7
vulnx search "epss_score:>0.8" # High EPSS score
البحوث المستندة إلى الوقت:
vulnx search "cve_created_at:>=2024" # Published in 2024 or later
vulnx search "cve_created_at:>=2024-01-01 && cve_created_at:<2024-07-01" # First half of 2024
vulnx search "age_in_days:<30" # Recent vulnerabilities (last 30 days)
العثور على ثغرات قابلة للاستغلال:
vulnx search "is_poc:true" # Has proof of concept
vulnx search "is_kev:true" # Known exploited vulns
vulnx search "is_template:true" # Has Nuclei templates
vulnx search --detailed "log4j" # Detailed analysis of specific vuln
التصفية حسب المنتج والمورّد:
vulnx search --product apache,nginx # Filter by products (searches both vendor and product fields)
vulnx search --vendor microsoft,oracle # Filter by vendors only
vulnx search "NOT apache" # Exclude products using query syntax
vulnx search "NOT affected_products.vendor:microsoft" # Exclude vendors using query syntax
الخطورة والتقييم:
vulnx search --severity critical,high # Filter by severity
vulnx search "NOT severity:low" # Exclude severities using query syntax
vulnx search --cvss-score ">8.0" # Filter by CVSS score
vulnx search --epss-score ">0.8" # Filter by EPSS score
vulnx search --vuln-status confirmed # Filter by status
vulnx search --vuln-age "<30" # Recent vulnerabilities
خصائص الاستغلال:
vulnx search --kev # KEV vulnerabilities only
vulnx search --template # Has Nuclei templates
vulnx search --poc # Has proof of concept
vulnx search --hackerone # HackerOne reported
vulnx search --remote-exploit # Remotely exploitable
طرق إدخال متعددة:
# Single ID lookup
vulnx id CVE-2024-1234
# Multiple IDs (comma-separated)
vulnx id CVE-2024-1234,CVE-2024-5678,CVE-2023-9999
# Auto-detection from stdin (no 'id' command needed!)
echo "CVE-2024-1234" | vulnx
echo -e "CVE-2024-1234\nCVE-2024-5678" | vulnx
# File input
vulnx id --file ids.txt
المعالجة المجمعة:
# JSON output for automation
vulnx id --json CVE-2024-1234 CVE-2024-5678
# Save to file
vulnx id --output vulns.json --file ids.txt
# Pipeline integration
cat report.txt | grep -o 'CVE-[0-9]\{4\}-[0-9]\+' | vulnx id --json
عمليات بحث أساسية:
vulnx search "apache" # Simple term
vulnx search "remote code execution" # Phrase search
vulnx search "severity:critical" # Field search
المنطق البولياني:
vulnx search "apache && nginx" # Both terms
vulnx search "apache || nginx" # Either term
vulnx search "apache NOT tomcat" # Exclude term
vulnx search "(apache || nginx) && severity:high" # Grouped
النطاقات والبدائل (Wildcards):
vulnx search "cvss_score:>8.0" # Greater than
vulnx search "cvss_score:<9.0" # Less than
vulnx search "cve_created_at:>=2024-01-01" # Date comparison
vulnx search "age_in_days:<30" # Recent vulnerabilities
vulnx search "apache*" # Wildcard
مهم: تتطلب حقول التاريخ عوامل مقارنة (>=, >, <, <=).
مقارنات تاريخ مفردة:
vulnx search "cve_created_at:>=2024" # CVEs from 2024 onward
vulnx search "cve_created_at:<2024" # CVEs before 2024
vulnx search "cve_created_at:>2024-06-01" # CVEs after June 1, 2024
نطاقات التاريخ:
# CVEs from January 2024 only
vulnx search "cve_created_at:>=2024-01-01 && cve_created_at:<2024-02-01"
# High CVSS CVEs from 2024
vulnx search "cvss_score:>8.0 && cve_created_at:>=2024"
# Recent vulnerabilities (age-based)
vulnx search "age_in_days:<30" # Last 30 days
vulnx search "age_in_days:>365" # Older than 1 year
الصيغ المدعومة:
2024 (سنة)2024-01 (سنة-شهر)2024-01-15 (تاريخ كامل)يعمل vulnx بدون مفتاح API، لكن المصادقة توفر فوائد كبيرة:
⚠️ بدون مفتاح API:
✅ مع مفتاح API:
إعداد المصادقة:
vulnx auth # Interactive setup
vulnx auth --api-key YOUR_API_KEY # Non-interactive (automation)
vulnx auth --test # Test current API key
export PDCP_API_KEY="your-key-here" # Environment variable
أوضاع المصادقة:
vulnx auth - إعداد موجّه مع مطالباتvulnx auth --api-key KEY - مثالي للأتمتة/CI/CDvulnx auth --test - تحقق من الإعداد الحاليإدارة الإصدارات:
vulnx version # Show version and check for updates
vulnx version --disable-update-check # Show version without update check
vulnx update # Update to latest version
vulnx --update # Alternative update command
خيارات عامة:
vulnx --json search "apache" # JSON output
vulnx --silent search "apache" # No banner
vulnx --timeout 60s search "apache" # Custom timeout
vulnx --disable-update-check search "apache" # Disable automatic update checks
مشكلات حد المعدل:
Rate limit exceeded! API key required for higher limits.
→ Run: vulnx auth to configure API key and get higher limits
إعداد الأتمتة/CI/CD:
# Docker containers
vulnx auth --api-key "$SECRET_API_KEY"
# CI/CD pipelines
vulnx auth --api-key "${PDCP_API_KEY}"
# Kubernetes init containers
vulnx auth --api-key "$(cat /secrets/api-key)"
# Test authentication in scripts
vulnx auth --test && echo "Auth OK" || echo "Auth failed"
اقتراحات حد المعدل:
Configure API key with 'vulnx auth' to avoid rate limits
→ This appears when no API key is configured. To remove:
1. Set up API key: vulnx auth
2. Or use --silent flag to suppress informational messages
لا توجد نتائج:
vulnx search "is_kev:true" --limit 1 # Test with known results
vulnx healthcheck # Check connectivity
مجموعات نتائج كبيرة:
vulnx search "apache" --limit 100 # Increase limit
vulnx search "apache" --offset 100 # Pagination
vulnx search --fields cve_id,severity "apache" # Fewer fields
مشكلات الاتصال:
vulnx --timeout 60s search "apache" # Increase timeout
vulnx --proxy http://localhost:8080 search "apache" # Use proxy
vulnx --debug search "apache" # Debug mode
أوامر المساعدة (لا يتطلب مفتاح API):
vulnx --help # All commands overview
vulnx search --help # Search command help
vulnx id --help # ID command help
vulnx filters --help # Filters command help
vulnx analyze --help # Analyze command help
vulnx version # Version info with update check
vulnx version --disable-update-check # Version info without update check
استكشاف البيانات (يخضع لحدود المعدل بدون مفتاح API):
vulnx filters # Show all searchable fields
vulnx search help # Detailed search fields
vulnx analyze help # Available analyze fields
⚠️ ملاحظة تعمل جميع الأوامر بدون مفتاح API، ولكنها تخضع لحدود المعدل. قم بتكوين مفتاح API باستخدام
vulnx authللحصول على حدود أعلى وأداء أفضل.
vulnx search apachevulnx auth للاستخدام الكثيف--disable-update-check لتعطيل ذلكvulnx filters لاكتشاف جميع حقول البحث المتاحة وصيغها--json للبرمجة النصية والأتمتةanalyze لفهم أنماط البياناتلأنماط الاستخدام المتقدمة والأمثلة، راجع USAGE.md.
لإعداد التطوير وفحوصات جودة الكود وإرشادات المساهمة، راجع DEVELOPMENT.md.
يتم توزيع vulnx بموجب رخصة MIT.
| الأمر | الغرض | مثال |
|---|
search | العثور على الثغرات باستخدام عوامل تصفية متقدمة | vulnx search "apache && severity:high" |
id | الحصول على تفاصيل CVE محددة | vulnx id CVE-2021-44228 |
filters | عرض جميع حقول البحث وعوامل التصفية المتاحة | vulnx filters |
analyze | تجميع البيانات حسب الحقول | vulnx analyze -f severity |
auth | تكوين الوصول إلى API | vulnx auth |
version | عرض معلومات الإصدار والتحقق من التحديثات | vulnx version |
update | تحديث vulnx إلى أحدث إصدار | vulnx update |
healthcheck | اختبار الاتصال | vulnx healthcheck |
| الخيار | الاختصار | الوصف | مثال |
|---|
--product | -p | التصفية حسب المنتجات | --product apache,nginx |
--vendor | التصفية حسب المورّدين | --vendor microsoft,oracle | |
--severity | -s | التصفية حسب الخطورة | --severity critical,high |
--tags | التصفية حسب الوسوم | --tags rce,injection | |
--cvss-score | التصفية حسب درجة CVSS | --cvss-score ">8.0" | |
--epss-score | التصفية حسب درجة EPSS | --epss-score ">0.8" | |
--vuln-age | -a | التصفية حسب العمر | --vuln-age "<30" |
--vuln-type | التصفية حسب نوع الثغرة | --vuln-type sql_injection | |
--kev | ثغرات KEV فقط | --kev | |
--template | -t | لديه قوالب Nuclei | --template |
--poc | لديه إثبات مفهوم | --poc | |
--hackerone | تم الإبلاغ عنه عبر HackerOne | --hackerone | |
--remote-exploit | قابل للاستغلال عن بُعد | --remote-exploit | |
--vuln-status | التصفية حسب حالة الثغرة | --vuln-status confirmed |
| الخيار | الاختصار | الوصف | مثال |
|---|
--detailed | إخراج مفصل مثل 'id' | --detailed | |
--highlight | تمييز نتائج البحث | --highlight | |
--limit | -n | عدد النتائج | --limit 50 |
--offset | إزاحة الترقيم | --offset 100 | |
--sort-asc | فرز تصاعدي | --sort-asc cvss_score | |
--sort-desc | فرز تنازلي | --sort-desc cve_created_at | |
--fields | تحديد حقول محددة | --fields cve_id,severity | |
--term-facets | حساب أوجه المصطلحات | --term-facets severity=5 | |
--range-facets | حساب أوجه النطاقات | --range-facets numeric:cvss_score:high:8:10 | |
--facet-size | عدد مجموعات الأوجه | --facet-size 20 |
| الحقل | الوصف | قيم مثال |
|---|
severity | خطورة الثغرة | low, medium, high, critical |
cvss_score | درجة CVSS (0-10) | 7.5, >8.0, <9.0 |
cve_id | معرّف CVE | CVE-2021-44228 |
is_remote | قابل للاستغلال عن بُعد | true, false |
is_kev | ثغرة معروفة الاستغلال | true, false |
is_poc | لديه إثبات مفهوم | true, false |
affected_products.vendor | اسم المورّد | apache, microsoft |
affected_products.product | اسم المنتج | tomcat, windows |
cve_created_at | تاريخ النشر | >=2024, >2024-01-01, <2023 |
age_in_days | الأيام منذ النشر | <30, >365, <=90 |