Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DevAudit — أداة تدقيق أمني متعددة الأغراض، مفتوحة المصدر، ومتعددة المنصات | Kitploit
أدوات/GitHubGitHub/sonatype-nexus-community/devaudit
ماسحات الثغرات الأمنيةأمن الحاوياتتحليل الشفرة الثابت (SAST)تحليل الكودتدقيق التكوينأمن الويبأمن الشبكاتأمن السحابةDevSecOpsأمن قواعد البياناتArchived
GitHub
35974منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
sonatype-nexus-community/devaudit

DevAudit

أداة تدقيق أمني متعددة الأغراض، مفتوحة المصدر، ومتعددة المنصات

عرض المستودع

ملاحظة: يستخدم DevAudit قاعدة بيانات OSS Index، والتي لديها بعض الحدود لمعدل الطلبات. إذا لاحظت أنك تصل إلى الحد الأقصى، فيرجى فتح مشكلة. يحصل المستخدمون الموثقون على حد أعلى، ونحن نعمل على تطبيق المصادقة في DevAudit قريبًا. معظم المستخدمين غير الموثقين ربما لن يلاحظوا الحد الأقصى في العديد من حالات الاستخدام. عادةً ما يظهر فقط في المشاريع الكبيرة جدًا أو أحجام المشاريع الأعلى.

DevAudit: تدقيق التطوير

احصل على أحدث إصدار من صفحة الإصدارات.

لقطة شاشة لتدقيق مصدر حزمة DevAudit

لقطة شاشة لتدقيق مصدر حزمة dpkg لنظام Wheezy باستخدام DevAudit

جدول المحتويات

  • حول
  • الميزات
  • المتطلبات
  • التثبيت
  • المفاهيم
  • الاستخدام الأساسي
  • أهداف التدقيق
  • البيئات
  • خيارات البرنامج
  • استخدام Docker
  • استكشاف الأخطاء وإصلاحها
  • المشكلات المعروفة

حول

DevAudit هو أداة تدقيق أمان مفتوحة المصدر ومتعددة المنصات ومتعددة الأغراض تستهدف المطورين والفرق التي تتبنى DevOps و DevSecOps، وتكتشف الثغرات الأمنية على مستويات متعددة من مجموعة الحلول. يوفر DevAudit مجموعة واسعة من قدرات التدقيق التي تؤتمت ممارسات الأمان وتنفيذ تدقيق الأمان في دورة حياة تطوير البرمجيات. يمكن لـ DevAudit مسح تبعيات حزم نظام التشغيل والتطبيقات، وتكوينات التطبيقات وخوادم التطبيقات، ورمز التطبيق، بحثًا عن ثغرات محتملة بناءً على البيانات التي تم تجميعها بواسطة مزودين مثل OSS Index و Vulners من مجموعة واسعة من المصادر وخلاصات البيانات مثل خلاصة بيانات CVE من قاعدة بيانات الثغرات الوطنية (NVD)، وخلاصة بيانات استشارات أمان Debian، واستشارات أمان Drupal، وغيرها الكثير.

يساعد DevAudit المطورين على معالجة 4 على الأقل من مخاطر OWASP Top 10 لتطوير تطبيقات الويب:

  • A9 استخدام مكونات ذات ثغرات معروفة
  • A5 سوء التكوين الأمني
  • A6 كشف البيانات الحساسة
  • A2 كسر المصادقة وإدارة الجلسات

بالإضافة إلى المخاطر المصنفة بواسطة MITRE في قاموس CWE مثل CWE-2 البيئة و CWE-200 كشف المعلومات

لقطة شاشة لتدقيق تطبيق ASP.NET باستخدام DevAudit مع تقدم التطوير ونضج قدراته، سيتمكن DevAudit من معالجة المخاطر الأخرى في قوائم OWASP Top 10 و CWE مثل Injection و XSS. مع التركيز على تطبيقات الويب والسحابة والتطبيقات الموزعة متعددة المستخدمين، أصبح تطوير البرمجيات اليوم أمرًا معقدًا بشكل متزايد مع ظهور مشكلات أمان وثغرات محتملة على جميع مستويات المجموعة التي يعتمد عليها المطورون لتقديم التطبيقات. الهدف من DevAudit هو توفير منصة لأتمتة تنفيذ مراجعات الأمان للمطورين وأفضل الممارسات على جميع مستويات مجموعة الحلول بدءًا من تبعيات حزم المكتبات إلى تكوين التطبيقات والخوادم إلى كود المصدر.

الميزات

  • متعدد المنصات مع صورة Docker متاحة أيضًا. يعمل DevAudit على Windows و Linux مع دعم مخطط لـ *BSD و Mac و ARM Linux. كل ما هو مطلوب لتشغيل DevAudit هو إصدار محدث من .NET أو Mono. يمكن أيضًا سحب صورة Docker لـ DevAudit من Docker Hub وتشغيلها دون الحاجة إلى تثبيت Mono.

  • واجهة سطر أوامر (CLI). يحتوي DevAudit على واجهة CLI مع خيار للإخراج غير التفاعلي ويمكن دمجها بسهولة في خطوط أنابيب بناء CI أو كمهام سطر أوامر بعد البناء في بيئات التطوير المتكاملة (IDE). بدأ العمل بالفعل على دمج مكتبة التدقيق الأساسية في واجهات المستخدم الرسومية لـ IDE مع إضافة Audit.Net لـ Visual Studio.

  • بيانات الثغرات المحدّثة باستمرار. يستخدم DevAudit مزودي بيانات خلفية مثل OSS Index و Vulners الذين يقدمون بيانات ثغرات محدثة باستمرار تم تجميعها من مجموعة واسعة من خلاصات البيانات ومصادر الأمان مثل خلاصات CVE من NVD، واستشارات أمان Drupal، وما إلى ذلك. سيتم إضافة دعم لمزودي بيانات الثغرات والحزم الإضافية مثل vFeed و Libraries.io.

  • تدقيق تبعيات حزم نظام التشغيل والتطوير. يقوم DevAudit بتدقيق تطبيقات Windows والحزم المثبتة عبر MSI و Chocolatey و OneGet في Windows، بالإضافة إلى حزم Linux الخاصة بـ Debian و Ubuntu و CentOS المثبتة عبر Dpkg و RPM و YUM، بحثًا عن ثغرات تم الإبلاغ عنها لإصدارات محددة من التطبيقات والحزم. بالنسبة لتبعيات حزم التطوير والمكتبات، يقوم DevAudit بتدقيق تبعيات NuGet v2 لـ .NET، وتبعيات Yarn/NPM و Bower لـ nodejs، وتبعيات حزمة Composer لـ PHP. يتم إضافة دعم لمديري حزم آخرين للغات مختلفة بشكل منتظم.

  • تدقيق تكوينات خوادم التطبيقات. يقوم DevAudit بتدقيق إصدار الخادم وتكوينه لخوادم OpenSSH sshd و Apache httpd و MySQL/MariaDB و PostgreSQL و Nginx مع المزيد قادم. يعتمد تدقيق التكوين على مكتبة Alpheus ويتم باستخدام تحليل نحوي كامل لملفات تكوين الخادم. يتم تخزين قواعد تكوين الخادم في ملفات نصية YAML ويمكن تخصيصها وفقًا لاحتياجات المطورين. يتم إضافة دعم للعديد من الخوادم والتطبيقات وأنواع التحليل مثل تدقيق قواعد البيانات بشكل منتظم.

  • تدقيق تكوينات التطبيقات. يقوم DevAudit بتدقيق تطبيقات Microsoft ASP.NET ويكتشف الثغرات الموجودة في تكوين التطبيق. يتم تخزين قواعد تكوين التطبيق في ملفات نصية YAML ويمكن تخصيصها وفقًا لاحتياجات المطورين. تدقيق تكوين التطبيقات لتطبيقات مثل Drupal و WordPress و DNN CMS قادم.

المتطلبات

DevAudit هو تطبيق .NET 4.6. للتثبيت محليًا على جهازك، ستحتاج إما إلى بيئة تشغيل Microsoft .NET Framework 4.6 على Windows، أو Mono 4.4+ على Linux. يجب أن يكون .NET 4.6 مثبتًا بالفعل على معظم الإصدارات الحديثة من Windows، وإلا فهو متاح كميزة من ميزات Windows يمكن تشغيلها أو تثبيتها من برنامج "البرامج والميزات" في لوحة التحكم على إصدارات Windows الاستهلاكية، أو من خيار "إضافة أدوار وميزات" في Server Manager على إصدارات الخادم من Windows. بالنسبة للإصدارات الأقدم من Windows، يمكن العثور على مثبت .NET 4.6 من Microsoft هنا.

على Linux، الإصدار الأدنى المدعوم من Mono هو 4.4. على الرغم من أن DevAudit يعمل على Mono 4 (مع مشكلة معروفة واحدة)، فمن المستحسن تثبيت Mono 5. يجلب Mono 5 العديد من التحسينات لمكونات البناء والتشغيل في Mono والتي تفيد DevAudit.

حزم Mono الحالية التي يوفرها توزيعتك ربما ليست Mono 5 بعد، لذا سيتعين عليك تثبيت حزم Mono يدويًا لتتمكن من استخدام Mono 5. تعليمات التثبيت لأحدث الحزم التي يوفرها مشروع Mono للعديد من توزيعات Linux الرئيسية موجودة هنا. يوصى بتثبيت حزمة mono-devel لأن ذلك يقلل من فرص فقدان التجميعات.

بدلاً من ذلك على Linux، يمكنك استخدام صورة Docker لـ DevAudit إذا كنت لا ترغب في تثبيت Mono وكان Docker مثبتًا بالفعل على جهازك.

التثبيت

يمكن تثبيت DevAudit بالطرق التالية:

  • البناء من المصدر.
  • استخدام ملف أرشيف الإصدار الثنائي الذي تم تنزيله من Github لنظام Windows أو Linux.
  • استخدام مثبت MSI للإصدار الذي تم تنزيله من Github لنظام Windows.
  • استخدام مدير الحزم Chocolatey على Windows.
  • سحب صورة ossindex/devaudit من Docker Hub على Linux.

البناء من المصدر على Linux

  1. المتطلبات الأساسية: Mono 4.4+ (Mono 5 موصى به) وحزمة mono-devel التي توفر المترجم والأدوات الأخرى اللازمة لبناء تطبيقات Mono. يجب أن يحتوي توزيعة Linux على حزم على الأقل لإصدار Mono 4.4 وما فوق، وإلا فإن تعليمات التثبيت اليدوي لأحدث الحزم التي يوفرها مشروع Mono للعديد من توزيعات Linux الرئيسية موجودة هنا.

  2. استنساخ مستودع DevAudit من https://github.com/OSSIndex/DevAudit.git

  3. تشغيل البرنامج النصي build.sh في الدليل الجذر لـ DevAudit. يجب أن يتم تجميع DevAudit دون أي أخطاء.

  4. تشغيل ./devaudit --help وسترى إصدار DevAudit وشاشة المساعدة مطبوعة.

لاحظ أن NuGet على Linux قد يخرج أحيانًا مع Error: NameResolutionFailure والذي يبدو أنها مشكلة عابرة في الاتصال بالخوادم التي تحتوي على حزم NuGet. يجب عليك فقط تشغيل ./build.sh مرة أخرى حتى يكتمل البناء بشكل طبيعي.

البناء من المصدر على Windows

  1. المتطلبات الأساسية: يجب أن يكون لديك واحد مما يلي:

    • .NET Framework 4.6 SDK أو حزمة مطور.
    • Visual Studio 2015.
  2. استنساخ مستودع DevAudit من https://github.com/OSSIndex/DevAudit.git

  3. من Visual Studio 2015 أو .NET، قم بتشغيل البرنامج النصي build.cmd في الدليل الجذر لـ DevAudit. يجب أن يتم تجميع DevAudit دون أي أخطاء.

  4. تشغيل ./devaudit --help وسترى إصدار DevAudit وشاشة المساعدة مطبوعة.

التثبيت من ملفات أرشيف الإصدار على Windows على Linux

  1. المتطلبات الأساسية: يجب أن يكون لديك Mono 4.4+ على Linux أو .NET 4.6 على Windows.

  2. قم بتنزيل أحدث ملف أرشيف إصدار لنظام Windows أو Linux من صفحة الإصدارات الخاصة بالمشروع. قم بفك ضغط هذا الملف إلى دليل.

  3. من الدليل الذي قمت بفك ضغط أرشيف الإصدار فيه، قم بتشغيل devaudit --help على Windows أو ./devaudit --help على Linux. يجب أن ترى الإصدار وشاشة المساعدة مطبوعة.

  4. (اختياري) أضف دليل تثبيت DevAudit إلى متغير البيئة PATH الخاص بك

التثبيت باستخدام مثبت MSI على Windows

يمكن العثور على مثبت MSI للإصدار على صفحة إصدارات Github.

  1. انقر على رابط الإصدارات بالقرب من أعلى الصفحة.
  2. حدد الإصدار الذي ترغب في تثبيته.
  3. يجب أن يكون رابط "DevAudit.msi" مرئيًا لكل إصدار يحتوي على مثبت مبني مسبقًا.
  4. قم بتنزيل الملف وتنفيذ المثبت. سيتم توجيهك خلال عملية تثبيت بسيطة.
  5. افتح نافذة موجه أوامر أو PowerShell جديدة حتى يكون DevAudit في المسار.
  6. قم بتشغيل DevAudit.

التثبيت باستخدام Chocolatey على Windows

DevAudit متاح أيضًا على Chocolatey.

  1. قم بتثبيت Chocolatey.
  2. افتح وحدة تحكم إدارية أو نافذة PowerShell.
  3. اكتب choco install devaudit
  4. قم بتشغيل DevAudit.

التثبيت باستخدام Docker على Linux

قم بسحب صورة Devaudit من Docker Hub: docker pull ossindex/devaudit. الصورة الموسومة بـ ossindex/devaudit:latest (وهي الصورة الافتراضية التي يتم تنزيلها) مبنية من أحدث إصدار بينما ossindex/devaudit:unstable مبنية على الفرع الرئيسي من الكود المصدري وتحتوي على أحدث الإضافات ولكن مع اختبار أقل.

المفاهيم

هدف التدقيق

يمثل مجموعة منطقية من وظائف التدقيق. يدعم DevAudit حاليًا أهداف التدقيق التالية:

  • مصدر الحزمة. يدير مصدر الحزمة تبعيات التطبيق والمكتبة باستخدام مدير حزم. يقوم مديرو الحزم بتثبيت أو إزالة أو تحديث تطبيقات وتبعيات مكتبة لنظام تشغيل مثل Debian Linux، أو للغة تطوير أو إطار عمل مثل .NET أو nodejs. أمثلة على مصادر الحزم هي dpkg و yum و Chocolatey و Composer و Bower. يقوم DevAudit بتدقيق أسماء وإصدارات الحزم المثبتة مقابل الثغرات المبلغ عنها لإصدارات محددة من تلك الحزم.
  • التطبيق. تطبيق مثل Drupal أو تطبيق مخصص مبني باستخدام إطار عمل مثل ASP.NET. يقوم DevAudit بتدقيق التطبيقات ووحدات التطبيق والإضافات ضد الثغرات المبلغ عنها لإصدارات محددة من ثنائيات التطبيق والوحدات والإضافات. يمكن لـ DevAudit أيضًا تدقيق تكوينات التطبيق بحثًا عن ثغرات معروفة، وإجراء تحليل ثابت على كود التطبيق للبحث عن نقاط ضعف معروفة.
  • خادم التطبيق. توفر خوادم التطبيقات خدمات أو عمليات خلفية تعمل باستمرار مثل خادم ويب أو قاعدة بيانات لاستخدام التطبيقات الأخرى، أو للمستخدمين للوصول إلى خدمات مثل المصادقة. أمثلة على خوادم التطبيقات هي خوادم OpenSSH sshd و Apache httpd. يمكن لـ DevAudit تدقيق ثنائيات خادم التطبيق والوحدات والإضافات ضد الثغرات المبلغ عنها لإصدارات محددة بالإضافة إلى تدقيق تكوينات الخادم بحثًا عن ثغرات ونقاط ضعف تكوين الخادم المعروفة.

بيئة التدقيق

تمثل بيئة منطقية حيث يتم تنفيذ عمليات التدقيق ضد أهداف التدقيق. تقوم بيئات التدقيق بتجريد عمليات الإدخال/الإخراج وتنفيذ الأوامر المطلوبة للتدقيق وتسمح بتنفيذ وظائف متطابقة ضد أهداف التدقيق في أي موقع فعلي أو شبكي توجد فيه ملفات الهدف وملفات التنفيذ. البيئات التالية مدعومة حاليًا:

  • محلية. هذه هي بيئة التدقيق الافتراضية حيث يتم تنفيذ عمليات التدقيق على الجهاز المحلي.
  • SSH. يتم تنفيذ عمليات التدقيق على مضيف بعيد متصل عبر SSH. ليس من الضروري تثبيت DevAudit على المضيف البعيد.
  • WinRM. يتم تنفيذ عمليات التدقيق على مضيف Windows بعيد متصل عبر WinRM. ليس من الضروري تثبيت DevAudit على المضيف البعيد.
  • Docker. يتم تنفيذ عمليات التدقيق على حاوية Docker قيد التشغيل. ليس من الضروري تثبيت DevAudit على صورة الحاوية.
  • GitHub. يتم تنفيذ عمليات التدقيق على نظام ملفات مستودع مشروع GitHub مباشرة. ليس من الضروري سحب المشروع أو تنزيله محليًا لإجراء التدقيق.

خيارات التدقيق

هذه خيارات مختلفة يمكن تمكينها للتدقيق. يمكنك تحديد الخيارات التي تنطبق على برنامج DevAudit على سبيل المثال، للتشغيل في وضع غير تفاعلي، بالإضافة إلى الخيارات التي تنطبق على الهدف على سبيل المثال إذا قمت بتعيين خيار AppDevMode لتدقيق تطبيقات ASP.NET إلى true فلن يتم تمكين قواعد تدقيق معينة.

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

واجهة CLI هي الواجهة الأساسية لبرنامج DevAudit وهي مناسبة لكل من الاستخدام التفاعلي وغير التفاعلي في المهام المجدولة والنصوص البرمجية وخطوط أنابيب بناء CI ومهام ما بعد البناء في بيئات التطوير المتكاملة (IDE). بناء جملة DevAudit CLI الأساسي هو:

root@kitploit:~
devaudit TARGET [ENVIRONMENT] | [OPTIONS]

حيث TARGET يحدد هدف التدقيق، ENVIRONMENT يحدد بيئة التدقيق، و OPTIONS يحدد الخيارات لهدف التدقيق والبيئة. هناك طريقتان لتحديد الخيارات: يمكن تحديد خيارات البرنامج وخيارات التدقيق العامة التي تنطبق على أكثر من هدف مباشرة على سطر الأوامر كمعلمات. يمكن تحديد الخيارات الخاصة بالهدف باستخدام خيار -o بالتنسيق: -o OPTION1=VALUE1,OPTION2=VALUE2,.... مع فواصل تفصل كل زوج مفتاح-قيمة خيار.

إذا كنت تقوم بتوجيه أو إعادة توجيه مخرجات البرنامج إلى ملف، فيجب عليك دائمًا استخدام خيار -n --non-interactive لتعطيل أي ميزات واجهة مستخدم تفاعلية ورسوم متحركة.

عند تحديد مسارات الملفات، تشير البادئة @ قبل المسار إلى DevAudit أن هذا المسار نسبي إلى الدليل الجذر لهدف التدقيق على سبيل المثال إذا قمت بتحديد: -r c:\myproject -b @bin\Debug\app2.exe يعتبر DevAudit المسار إلى الملف الثنائي هو c:\myproject\bin\Debug\app2.exe.

أهداف التدقيق

مصادر الحزم

  • msi قم بتدقيق حزمة مصدر MSI الخاص بـ Windows Installer على أجهزة Windows.

  • npm قم بتدقيق حزمة NPM package.json.

  • choco قم بتدقيق الحزم المثبتة بواسطة مدير الحزم Choco.

  • oneget قم بتدقيق حزمة OneGet للنظام على Windows.

  • nuget قم بتدقيق مصدر حزمة NuGet v2. يجب عليك تحديد موقع ملف packages.config لـ NuGet الذي ترغب في تدقيقه باستخدام الخيار -f أو --file وإلا سيتم البحث في الدليل الحالي عن هذا الملف.

  • bower قم بتدقيق مصدر حزمة Bower. يجب عليك تحديد موقع ملف packages.json لـ Bower الذي ترغب في تدقيقه باستخدام الخيار -f أو --file وإلا سيتم البحث في الدليل الحالي عن هذا الملف.- composer قم بإجراء تدقيق حزمة لمصدر حزمة Composer. يجب عليك تحديد موقع ملف الخاص بـ Composer الذي ترغب في تدقيقه باستخدام الخيار أو وإلا سيتم البحث في الدليل الحالي عن هذا الملف.

لكل مصدر حزمة، يمكن استخدام خيارات التدقيق العامة التالية:

  • -f --file تحديد موقع ملف تكوين مدير الحزم إذا لزم الأمر. تتطلب مصادر حزم NuGet و Bower و Composer هذا الخيار.

  • --list-packages سرد الحزم فقط في مصدر الحزمة التي تم فحصها بواسطة DevAudit.

  • --list-artifacts سرد القطع الأثرية الموجودة على OSS Index فقط للحزم التي تم فحصها بواسطة DevAudit.

مصادر الحزم الموسومة بـ [تجريبي] متاحة فقط في الفرع الرئيسي للكود المصدري وقد يكون دعم OSS Index الخلفي محدودًا. ومع ذلك، يمكنك دائمًا سرد الحزم الممسوحة ضوئيًا والقطع الأثرية المتاحة على OSS Index باستخدام الخيارين list-packages و list-artifacts.

التطبيقات

  • aspnet قم بإجراء تدقيق تطبيق على تطبيق ASP.NET. الخيارات ذات الصلة هي:

    • -r --root-directory تحديد الدليل الجذر للتطبيق. هذا هو مجرد دليل التطبيق الأعلى مستوى الذي يحتوي على ملفات مثل Global.asax و Web.config.
    • -b --application-binary تحديد ثنائي التطبيق. هذه هي مجموعة .NET التي تحتوي على كود .NET الثانوي للتطبيق. عادةً ما يكون هذا الملف .DLL ويقع في المجلد الفرعي bin من الدليل الجذر لتطبيق ASP.NET.
    • --config-file أو -o AppConfig=configuration-file يحدد ملف تكوين تطبيق ASP.NET. عادةً ما يُسمى هذا الملف Web.config ويقع في الدليل الجذر للتطبيق. يمكنك تجاوز القيمة الافتراضية @Web.config باستخدام هذا الخيار.
    • -o AppDevMode=enabled يحدد أنه يجب تمكين وضع التطوير للتطبيق لأغراض التدقيق. يمكن استخدام هذا الوضع عند تدقيق تطبيق قيد التطوير. لن يتم تمكين قواعد تكوين معينة تم وضع علامة عليها على أنها معطلة لـ AppDevMode (على سبيل المثال تشغيل التطبيق في وضع تصحيح ASP.NET) أثناء التدقيق.
  • netfx قم بإجراء تدقيق تطبيق على تطبيق .NET. الخيارات ذات الصلة هي:

    • -r --root-directory تحديد الدليل الجذر للتطبيق. هذا هو مجرد دليل التطبيق الأعلى مستوى الذي يحتوي على ملفات مثل App.config.
    • -b --application-binary تحديد ثنائي التطبيق. هذه هي مجموعة .NET التي تحتوي على كود .NET الثانوي للتطبيق. عادةً ما يكون هذا الملف .DLL ويقع في المجلد الفرعي bin من الدليل الجذر لتطبيق ASP.NET.

تدعم جميع التطبيقات أيضًا الخيارات الشائعة التالية لتدقيق وحدات أو إضافات التطبيق:

  • --list-packages سرد إضافات أو وحدات التطبيق فقط التي تم فحصها بواسطة DevAudit.

  • --list-artifacts سرد القطع الأثرية الموجودة على OSS Index فقط لإضافات ووحدات التطبيق التي تم فحصها بواسطة DevAudit.

  • --skip-packages-audit قم فقط بإجراء تدقيق لتكوين التطبيق أو تحليل الكود وتخطي تدقيق الحزم.

خوادم التطبيقات

  • sshd قم بإجراء تدقيق خادم تطبيق على خادم متوافق مع OpenSSH sshd.

  • httpd قم بإجراء تدقيق خادم تطبيق على خادم متوافق مع Apache httpd.

  • mysql قم بإجراء تدقيق خادم تطبيق على خادم متوافق مع MySQL (مثل MariaDB أو Oracle MySQL.)

  • nginx قم بإجراء تدقيق خادم تطبيق على خادم Nginx.

  • pgsql قم بإجراء تدقيق خادم تطبيق على خادم PostgreSQL.

هذا مثال لسطر أوامر لتدقيق خادم تطبيق: ./devaudit httpd -i httpd-2.2 -r /usr/local/apache2/ --config-file @conf/httpd.conf -b @bin/httpd والذي يقوم بتدقيق خادم Apache Httpd يعمل على حاوية Docker باسم httpd-2.2.

فيما يلي خيارات التدقيق الشائعة لجميع خوادم التطبيقات:

  • -r --root-directory يحدد الدليل الجذر للخادم. هذا هو مجرد المستوى الأعلى لنظام ملفات الخادم ويكون الإعداد الافتراضي هو / ما لم ترغب في جذر خادم مختلف.
  • --config-file يحدد ملف تكوين الخادم. على سبيل المثال في التدقيق أعلاه، يقع ملف تكوين Apache في /usr/local/apache2/conf/httpd.conf. إذا لم تحدد ملف التكوين، سيحاول DevAudit اكتشاف ملف التكوين تلقائيًا للخادم المحدد.
  • -b --application-binary يحدد ثنائي الخادم. على سبيل المثال في التدقيق أعلاه، يقع ثنائي Apache في /usr/local/apache2/bin/httpd. إذا لم تحدد مسار الثنائي، سيحاول DevAudit اكتشاف ثنائي الخادم تلقائيًا للخادم المحدد.

تدعم خوادم التطبيقات أيضًا الخيارات الشائعة التالية لتدقيق وحدات أو إضافات الخادم:

  • --list-packages سرد إضافات أو وحدات التطبيق فقط التي تم فحصها بواسطة DevAudit.

  • --list-artifacts سرد القطع الأثرية الموجودة على OSS Index فقط لإضافات ووحدات التطبيق التي تم فحصها بواسطة DevAudit.

  • --skip-packages-audit قم فقط بإجراء تدقيق لتكوين الخادم وتخطي تدقيق الحزم.

البيئات

هناك حاليًا 5 بيئات تدقيق مدعومة: محلية، مضيفين بعيدين عبر SSH، مضيفين بعيدين عبر WinRM، حاويات Docker، و GitHub. تُستخدم البيئات المحلية افتراضيًا عندما لا يتم تحديد خيارات بيئة أخرى.

SSH

تسمح بيئة SSH بإجراء عمليات التدقيق على أي مضيفين بعيدين يمكن الوصول إليهم عبر SSH دون الحاجة إلى تثبيت DevAudit على المضيف البعيد. بيئات SSH متعددة المنصات: يمكنك الاتصال بمضيف Linux بعيد من جهاز Windows يعمل عليه DevAudit. يتم إنشاء بيئة SSH باستخدام الخيارات التالية:-s SERVER [--ssh-port PORT] -u USER [-k KEYFILE] [-p | --password-text PASSWORD]

-s SERVER يحدد المضيف البعيد أو IP للاتصال به عبر SSH.

-u USER يحدد المستخدم لتسجيل الدخول إلى الخادم به.

--ssh-port PORT يحدد المنفذ على المضيف البعيد للاتصال به. القيمة الافتراضية هي 22.

-k KEYFILE يحدد ملف المفتاح الخاص المتوافق مع OpenSSH لاستخدامه للاتصال بالخادم البعيد. حاليًا، يتم دعم مفاتيح RSA أو DSA فقط في ملفات بصيغة PEM.

-p توفير موجه مع تعطيل الصدى المحلي للإدخال التفاعلي لكلمة مرور الخادم أو عبارة مرور ملف المفتاح.

--password-text PASSWORD حدد كلمة مرور المستخدم أو عبارة مرور ملف المفتاح كنص عادي في سطر الأوامر. لاحظ أنه على لينكس عندما تحتوي كلمة المرور الخاصة بك على أحرف خاصة، يجب عليك تضمين النص في سطر الأوامر باستخدام علامات الاقتباس المفردة مثل 'MyPa<ss' لتجنب تفسير الصدفة للأحرف الخاصة.

WinRM

تسمح بيئة WinRM بإجراء عمليات التدقيق على أي مضيفين Windows بعيدين يمكن الوصول إليهم عبر WinRM دون الحاجة إلى تثبيت DevAudit على المضيف البعيد. بيئات WinRM متاحة حاليًا فقط على أجهزة Windows التي تعمل عليها DevAudit. يتم إنشاء بيئة WinRM باستخدام الخيارات التالية:-w IP -u USER [-p | --password-text PASSWORD]

-w IP يحدد IP البعيد للاتصال به عبر WinRM.

-u USER يحدد المستخدم لتسجيل الدخول إلى الخادم به.

-p توفير موجه مع تعطيل الصدى المحلي للإدخال التفاعلي لكلمة مرور الخادم أو عبارة مرور ملف المفتاح.

--password-text PASSWORD حدد كلمة مرور الخادم أو عبارة مرور ملف المفتاح كنص عادي في سطر الأوامر.

Docker

يناقش هذا القسم كيفية تدقيق صور Docker باستخدام DevAudit المثبت على الجهاز المحلي. لتشغيل DevAudit كتطبيق Docker محوسب، راجع القسم أدناه حول استخدام Docker.

يتم تحديد بيئة تدقيق Docker باستخدام الخيار التالي: -i CONTAINER_NAME | -i CONTAINER_ID

لقطة شاشة لـ DevAudit وهو يدقق حاوية Docker CONTAINER_(NAME|ID) يحدد اسم أو معرف حاوية Docker قيد التشغيل للاتصال بها. يجب أن تكون الحاوية قيد التشغيل بالفعل لأن DevAudit لا يعرف كيفية بدء الحاوية بالاسم أو الحالة التي تتطلبها.

GitHub

تسمح بيئة تدقيق GitHub بإجراء عمليات التدقيق مباشرة على مستودع مشروع GitHub. يتم إنشاء بيئة GitHub باستخدام الخيار -g: -g "Owner=OWNER,Name=NAME,Branch=BRANCH"

OWNER يحدد مالك المشروع

NAME يحدد اسم المشروع

PATH يحدد فرع المشروع للاتصال به

يمكنك استخدام الخيارات -r و --config-file و -f كالمعتاد لتحديد المسار إلى ملفات وأدلة نظام الملفات المطلوبة للتدقيق. على سبيل المثال، الأمر التالي: devaudit aspnet -g "Owner=Dnnsoftware,Name=Dnn.Platforn,Branch=Release/9.0.2" -r /Website --config-file @web.config سيقوم بإجراء تدقيق ASP.NET على هذا المستودع https://github.com/dnnsoftware/Dnn.Platform/ باستخدام مجلد المصدر /Website كدليل جذر وملف web.config كملف تكوين ASP.NET. لاحظ أن أسماء الملفات حساسة لحالة الأحرف في معظم البيئات.

لقطة شاشة لتدقيق مشروع GitHub

خيارات البرنامج

-n --non-interactive تشغيل DevAudit في وضع غير تفاعلي مع تعطيل جميع الميزات التفاعلية والرسوم المتحركة لواجهة سطر الأوامر. هذا الوضع ضروري لتشغيل DevAudit في نصوص shell على سبيل المثال، وإلا ستحدث أخطاء عندما يحاول DevAudit استخدام ميزات وحدة التحكم التفاعلية.

-d --debug تشغيل DevAudit في وضع التصحيح. سيؤدي هذا إلى طباعة مجموعة متنوعة من الرسائل الإعلامية والتشخيصية. يُستخدم هذا الوضع لاستكشاف أخطاء وأخطاء DevAudit وإصلاحها.

استخدام Docker

يأتي DevAudit أيضًا كتطبيق Docker محوسب يسمح للمستخدمين على لينكس بتشغيل DevAudit دون الحاجة إلى تثبيت Mono والبناء من المصدر. لسحب صورة DevAudit Docker من Docker Hub:

`docker pull ossindex/devaudit[:label]

الصور الحالية تبلغ حوالي 131 ميغابايت مضغوطة. افتراضيًا، يتم سحب الصورة الموسومة بـ latest وهي أحدث إصدار من البرنامج. تتوفر أيضًا صورة unstable التي تتتبع الفرع الرئيسي للكود المصدري. لتشغيل DevAudit كتطبيق حاوية:

root@kitploit:~
docker run -i -t ossindex/devaudit TARGET [ENVIRONMENT] | [OPTIONS]

خيارات Docker -i و -t ضرورية لتشغيل DevAudit بشكل تفاعلي. إذا لم تحدد هذه الخيارات، فيجب عليك تشغيل DevAudit في وضع غير تفاعلي باستخدام خيار DevAudit -n.

يجب عليك تحميل أي أدلة على جهاز Docker المضيف التي يحتاج DevAudit إلى الوصول إليها على حاوية DevAudit Docker باستخدام خيار Docker -v. إذا قمت بتحميل دليلك الجذر المحلي عند نقطة تحميل باسم /hostroot على صورة Docker، فيمكن لـ DevAudit الوصول إلى الملفات والأدلة على جهازك المحلي باستخدام نفس المسارات المحلية. على سبيل المثال:

docker run -i -t -v /:/hostroot:ro ossindex/devaudit netfx -r /home/allisterb/vbot-debian/vbot.core

سيسمح لحاوية DevAudit Docker بتدقيق الدليل المحلي /home/allisterb/vbot-debian/vbot.core. يجب عليك تحميل جذرك المحلي بهذه الطريقة لتدقيق حاويات Docker أخرى من حاوية DevAudit، على سبيل المثال:

docker run -i -t -v /:/hostroot:ro ossindex/devaudit mysql -i myapp1 -r / --config-file /etc/my.cnf --skip-packages-audit

سيقوم بتشغيل تدقيق MySQL على حاوية Docker باسم myapp1 من حاوية ossindex/devaudit.

إذا لم تكن بحاجة إلى تحميل الدليل الجذر بالكامل، فيمكنك تحميل الدليل المطلوب للتدقيق فقط. على سبيل المثال:

docker run -i -t -v /home/allisterb/vbot-debian/vbot.core:/vbot:ro ossindex/devaudit netfx -r /vbot -b @bin/Debug/vbot.core.dll

سيقوم بتحميل الدليل /home/allisterb/vbot-debian/vbot.core للقراءة فقط باسم /vbot على حاوية DevAudit مما يسمح لـ DevAudit بالوصول إليه كدليل جذر للتدقيق لتدقيق تطبيق netfx في /vbot.

إذا كنت ترغب في استخدام ملفات المفاتيح الخاصة على مضيف Docker المحلي لتدقيق عبر SSH، فيمكنك تحميل الدليل الذي يحتوي على ملف المفتاح المطلوب ثم إخبار DevAudit باستخدام مسار الملف هذا، على سبيل المثال:

docker -i -t -v /home/allisterb/.ssh:/ssh:ro run ossindex/devaudit dpkg -s localhost -u allisterb -p -k /ssh/mykey.key

سيقوم بتحميل الدليل الذي يحتوي على ملفات المفاتيح في /ssh ويسمح لحاوية DevAudit باستخدامها.

لاحظ أنه من غير الممكن حاليًا لحاوية Docker تدقيق مصادر حزم نظام التشغيل مثل dpkg أو rpm أو خوادم التطبيقات مثل OpenSSH sshd على المضيف المحلي المحلي لـ Docker دون تحميل الدليل الجذر المحلي في /hostroot كما هو موضح أعلاه. يجب على DevAudit تنفيذ chroot إلى الدليل الجذر المحلي من حاوية Docker عند تشغيل الملفات القابلة للتنفيذ مثل dpkg أو الثنائيات الخادمة مثل sshd و httpd. يجب عليك أيضًا تحميل جذرك المحلي كما هو موضح أعلاه لتدقيق حاويات Docker الأخرى من حاوية DevAudit حيث يحتاج DevAudit أيضًا إلى تنفيذ chroot إلى جذرك المحلي لتنفيذ أوامر Docker المحلية للتواصل مع حاوياتك الأخرى.

لتشغيل عمليات التدقيق عبر SSH من حاوية DevAudit، ليس من الضروري تحميل الجذر المحلي في /hostroot.

استكشاف الأخطاء وإصلاحها

إذا واجهت خطأً أو مشكلة أخرى مع DevAudit، فهناك بضعة أشياء يمكنك تمكينها لمساعدتنا في حلها:

  • استخدم الخيار -d لتمكين إخراج التصحيح. سيتم إصدار معلومات تشخيصية أثناء تشغيل التدقيق.
  • على لينكس، استخدم متغير DEVAUDIT_TRACE لتمكين تتبع تنفيذ البرنامج. يجب أن تكون قيمة هذا المتغير بالتنسيق الخاص بـ تتبع Mono، على سبيل المثال يمكنك تعيين DEVAUDIT_TRACE=N:DevAudit.AuditLibrary لتتبع جميع المكالمات التي تم إجراؤها لمكتبة التدقيق أثناء التدقيق.

المشكلات المعروفة

  • على ويندوز يجب عليك استخدام خيار البرنامج -n --non-interactive عند توجيه أو إعادة توجيه إخراج البرنامج إلى ملف، وإلا سيحدث تعطل. قد يتغير هذا السلوك في المستقبل لجعل الوضع غير التفاعلي هو الوضع الافتراضي.
  • يبدو أن هناك مشكلة في استخدام تطبيق وحدة التحكم في ويندوز ConEmu وإصدارات Cygwin من عميل OpenSSH عند استخدام SSH للاتصال بمضيفي Linux بعيدين لتشغيل تطبيقات Mono. إذا قمت بتشغيل DevAudit بهذه الطريقة، فقد تلاحظ تسلسلات غريبة تظهر أحيانًا في نهاية إخراج وحدة التحكم. قد تواجه أيضًا مشكلات أثناء الإدخال التفاعلي للوحة المفاتيح مثل إدخال كلمات المرور لعمليات تدقيق SSH حيث يبدو أنه يتم إرسال كلمة مرور خاطئة. إذا كنت تواجه مشكلات في إدخال كلمات المرور لعمليات تدقيق SSH باستخدام ConEmu عند العمل عن بُعد، فحاول الضغط باستمرار على مفتاح Backspace لمدة ثانية أو ثانيتين لمسح مخزن الإدخال المؤقت قبل إدخال كلمة المرور الخاصة بك.
تنزيل الأداة
  • تدقيق كود التطبيق عن طريق التحليل الثابت. يدعم DevAudit حاليًا التحليل الثابت لـ bytecode .NET CIL. توجد المحللات في ملفات نصية خارجية ويمكن تخصيصها بالكامل بناءً على احتياجات المطور. دعم تحليل كود المصدر C# عبر Roslyn، وكود المصدر PHP7 والعديد من اللغات الأخرى وأدوات تحليل الكود الثابت الخارجية قادم.

  • تدقيق عن بُعد بدون وكيل. يمكن لـ DevAudit الاتصال بالأجهزة البعيدة عبر SSH مع ميزات تدقيق متطابقة متاحة في البيئات البعيدة كما في البيئات المحلية. كل ما هو مطلوب هو تسجيل دخول SSH صالح لتدقيق الأجهزة البعيدة، ويمكن لـ DevAudit الذي يعمل على Windows الاتصال بتدقيق أجهزة Linux عبر SSH. على Windows، يمكن لـ DevAudit أيضًا الاتصال عن بُعد بتدقيق أجهزة Windows الأخرى باستخدام WinRM.

  • تدقيق حاويات Docker بدون وكيل. يمكن لـ DevAudit تدقيق حاويات Docker قيد التشغيل من مضيف Docker مع ميزات متطابقة متاحة في بيئات الحاويات كما في البيئات المحلية.

  • تدقيق مستودعات GitHub. يمكن لـ DevAudit الاتصال مباشرة بمستودع مشروع مستضاف على GitHub وإجراء تدقيق لمصدر الحزمة وتكوين التطبيق.

  • دعم PowerShell. يمكن أيضًا تشغيل DevAudit داخل بيئة إدارة النظام PowerShell كأوامر cmdlets. العمل على دعم PowerShell متوقف حاليًا ولكنه سيستأنف في المستقبل القريب مع دعم Powershell متعدد المنصات على كل من Windows و Linux.

  • composer.json
    -f
    --file
  • dpkg قم بإجراء تدقيق حزمة لمصدر حزمة النظام dpkg على دبيان لينكس ومشتقاته.

  • rpm قم بإجراء تدقيق حزمة لمصدر حزمة النظام RPM على ريدهات لينكس ومشتقاته.

  • yum قم بإجراء تدقيق حزمة لمصدر حزمة النظام Yum على ريدهات لينكس ومشتقاته.

  • --config-file أو -o AppConfig=configuration-file يحدد ملف تكوين تطبيق .NET. عادةً ما يُسمى هذا الملف App.config ويقع في الدليل الجذر للتطبيق. يمكنك تجاوز القيمة الافتراضية @App.config باستخدام هذا الخيار.
  • -o GendarmeRules=RuleLibrary يحدد أنه يجب تمكين المحلل الثابت Gendarme للتدقيق باستخدام القواعد من مكتبة القواعد المحددة. على سبيل المثال: devaudit netfx -r /home/allisterb/vbot-debian/vbot.core -b @bin/Debug/vbot.core.dll --skip-packages-audit -o GendarmeRules=Gendarme.Rules.Naming سيقوم بتشغيل المحلل الثابت Gendarme على تجميع vbot.core.dll باستخدام قواعد من مكتبة Gendarme.Rules.Naming. القائمة الكاملة لمكتبات القواعد هي (مأخوذة من ويكي Gendarme):
    • Gendarme.Rules.BadPractice
    • Gendarme.Rules.Concurrency
    • Gendarme.Rules.Correctness
    • Gendarme.Rules.Design
    • Gendarme.Rules.Design.Generic
    • Gendarme.Rules.Design.Linq
    • Gendarme.Rules.Exceptions
    • Gendarme.Rules.Gendarme
    • Gendarme.Rules.Globalization
    • Gendarme.Rules.Interoperability
    • Gendarme.Rules.Interoperability.Com
    • Gendarme.Rules.Maintainability
    • Gendarme.Rules.NUnit
    • Gendarme.Rules.Naming
    • Gendarme.Rules.Performance
    • Gendarme.Rules.Portability
    • Gendarme.Rules.Security
    • Gendarme.Rules.Security.Cas
    • Gendarme.Rules.Serialization
    • Gendarme.Rules.Smells
    • Gendarme.Rules.Ui
  • drupal7 قم بإجراء تدقيق تطبيق على تطبيق Drupal 7.

    • -r --root-directory تحديد الدليل الجذر للتطبيق. هذا هو مجرد الدليل الأعلى مستوى لتثبيت Drupal 7 الخاص بك.
  • drupal8 قم بإجراء تدقيق تطبيق على تطبيق Drupal 8.

    • -r --root-directory تحديد الدليل الجذر للتطبيق. هذا هو مجرد الدليل الأعلى مستوى لتثبيت Drupal 8 الخاص بك.