العودة إلى التحديثات
New releaseJul 21, 2026

installer v13.30.0

نصوص التثبيت لنظامي لينكس وmacOS وويندوز لأدوات cnquery وcnspec

مشاركة

نظرة عامة

الحالة

  • حاويات Docker: Release Test: Docker Containers
  • Homebrew: Release Test: Homebrew
  • Install.sh: Release Test: install.sh
  • Install.ps1: Release Test: install.ps1
  • macOS Pkg: Release Test: macOS Package
  • Arch Linux: Release Test: Arch Linux

التثبيت

أسهل طريقة لتثبيت mql و cnspec هي استخدام نصوص التثبيت.

عبر Shell Script (لينكس و macOS)

https://install.mondoo.com/sh```bash bash -c "$(curl -sSL https://install.mondoo.com/sh)"

### عبر PowerShell (Windows)

[`https://install.mondoo.com/ps1`](https://install.mondoo.com/ps1)```powershell
Set-ExecutionPolicy Unrestricted -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://install.mondoo.com/ps1'));
Install-Mondoo;

خلف وكيل HTTP

مرّر الوكيل إلى سكربت التثبيت باستخدام -x (لينكس و macOS) أو -Proxy (ويندوز). يوجّه السكربت تنزيلاته الخاصة، وتثبيت الحزمة، وcnspec login والمحدّث التلقائي عبره. يحدث التنزيل الأولي للسكربت قبل قراءة العَلم، لذا وجّه ذلك إلى الوكيل أيضًا:```bash export https_proxy='http://proxy.example.com:3128' curl -sSL --proxy "$https_proxy" https://install.mondoo.com/sh | bash -s -- -x "$https_proxy"

## الميزات الرئيسية

- **اكتشاف تلقائي**: يكتشف تلقائيًا جميع نقاط النهاية (endpoints) المتاحة من مواصفات OpenAPI
- **توليد ذكي للحمولات (Payloads)**: ينشئ حمولات اختبار واقعية بناءً على مخططات API
- **اختبار أمني شامل**: يختبر نقاط الضعف الشائعة في API بما في ذلك:
  - حقن SQL (SQL Injection)
  - البرمجة النصية عبر المواقع (XSS)
  - تجاوز المصادقة (Authentication Bypass)
  - الوصول غير المصرح به (IDOR)
  - حقن الأوامر (Command Injection)
  - اجتياز المسار (Path Traversal)
  - وحقن NoSQL
- **تقارير مفصلة**: ينشئ تقارير شاملة بتنسيقات متعددة (JSON، HTML، Markdown)
- **دعم المصادقة**: يدعم طرق المصادقة المتعددة (Bearer Token، API Key، Basic Auth)
- **تكوين مرن**: خيارات تكوين شاملة عبر ملفات التكوين أو متغيرات البيئة
- **جاهز لـ CI/CD**: يتكامل بسهولة مع خطوط أنابيب CI/CD

## التثبيت

### من المصدر

```bash
git clone https://github.com/yourusername/api-fuzzer.git
cd api-fuzzer
pip install -r requirements.txt

باستخدام pip

pip install api-fuzzer

باستخدام Docker

docker build -t api-fuzzer .
docker run -v $(pwd)/reports:/app/reports api-fuzzer -s https://api.example.com/openapi.json

الاستخدام

الاستخدام الأساسي

python api_fuzzer.py -s https://api.example.com/openapi.json

خيارات متقدمة

python api_fuzzer.py \
  -s https://api.example.com/openapi.json \
  -o reports \
  -f json html markdown \
  -t 20 \
  --timeout 15 \
  --auth-type bearer \
  --auth-token YOUR_TOKEN \
  -v

خيارات سطر الأوامر

الخيارالوصفالافتراضي
-s, --specمسار أو URL لمواصفات OpenAPIمطلوب
-o, --outputدليل الإخراج للتقاريرreports
-f, --formatتنسيقات التقرير (json، html، markdown)json
-t, --threadsعدد الخيوط المتزامنة10
--timeoutمهلة الطلب بالثواني10
--auth-typeنوع المصادقة (bearer، api_key، basic)none
--auth-tokenرمز المصادقة أو مفتاح APInone
--configمسار ملف التكوينnone
-v, --verboseتمكين الإخراج المفصلfalse

التكوين

ملف التكوين

أنشئ ملف config.yaml:

target:
  spec_url: "https://api.example.com/openapi.json"
  base_url: "https://api.example.com"
  timeout: 10

authentication:
  type: "bearer"
  token: "your_token_here"

fuzzing:
  threads: 10
  delay: 0.1
  max_requests_per_endpoint: 50

payloads:
  sql_injection: true
  xss: true
  command_injection: true
  path_traversal: true
  nosql_injection: true

reporting:
  formats:
    - json
    - html
    - markdown
  output_dir: "reports"
  include_poc: true

متغيرات البيئة

export API_FUZZER_SPEC_URL="https://api.example.com/openapi.json"
export API_FUZZER_AUTH_TOKEN="your_token_here"
export API_FUZZER_THREADS=20

أمثلة

اختبار API بسيط

python api_fuzzer.py -s https://petstore.swagger.io/v2/swagger.json -o reports

اختبار API مع مصادقة

python api_fuzzer.py \
  -s https://api.example.com/openapi.json \
  --auth-type bearer \
  --auth-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -f json html

استخدام ملف التكوين

python api_fuzzer.py --config config.yaml

بنية المشروع

api-fuzzer/
├── api_fuzzer.py          # نقطة الدخول الرئيسية
├── requirements.txt       # تبعيات Python
├── config.yaml           # مثال على ملف التكوين
├── Dockerfile            # تكوين Docker
├── README.md             # هذا الملف
├── modules/
│   ├── __init__.py
│   ├── parser.py         # محلل مواصفات OpenAPI
│   ├── fuzzer.py         # محرك الاختبار
│   ├── payloads.py       # مولّد الحمولات
│   ├── auth.py           # معالجة المصادقة
│   └── reporter.py       # توليد التقارير
└── tests/
    ├── __init__.py
    └── test_fuzzer.py    # اختبارات الوحدة

المساهمة

نرحب بالمساهمات! يرجى اتباع الخطوات التالية:

  1. قم بعمل Fork للمستودع
  2. أنشئ فرعًا للميزة (git checkout -b feature/amazing-feature)
  3. قم بعمل Commit لتغييراتك (git commit -m 'Add amazing feature')
  4. ادفع إلى الفرع (git push origin feature/amazing-feature)
  5. افتح طلب سحب (Pull Request)

الترخيص

هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف LICENSE للحصول على التفاصيل.

إخلاء المسؤولية

للاستخدام التعليمي والاختبار الأمني المصرح به فقط.

هذه الأداة مخصصة لاختبار الاختراق الأخلاقي واختبار الأمان. يجب عليك:

  • الحصول على إذن كتابي صريح قبل اختبار أي نظام
  • الالتزام بجميع القوانين واللوائح المعمول بها
  • عدم استخدام هذه الأداة لأي أنشطة غير قانونية أو غير مصرح بها

المطورون غير مسؤولين عن أي سوء استخدام أو أضرار ناتجة عن هذه الأداة.

الدعم

شكر وتقدير

  • مستوحى من أدوات اختبار API مفتوحة المصدر المختلفة
  • شكر خاص لجميع المساهمين

الفئات