تكوين مهام الإنشاء وتخصيصها

ملاحظة

اعتبارا من 31 ديسمبر 2022، تم إيقاف ملحق Microsoft Security Code Analysis (MSCA). يتم استبدال MSCA بملحق Microsoft Security DevOps Azure DevOps. اتبع الإرشادات الواردة في تكوين لتثبيت الملحق وتكوينه.

توضح هذه المقالة بالتفصيل خيارات التكوين المتوفرة في كل مهمة من مهام الإنشاء. تبدأ المقالة بالمهام الخاصة بأدوات تحليل التعليمات البرمجية للأمان. ينتهي بمهام ما بعد المعالجة.

مهمة الماسح الضوئي لمكافحة البرامج الضارة

ملاحظة

تتطلب مهمة بناء Anti-Malware Scanner وجود وكيل بناء ما مع تفعيل نافذة Windows Defender. يوفر Visual Studio 2017، وأي إصدار أحدث، مثل هذا الوكيل. لن تُشغل مهمة الإنشاء على عميلVisual Studio 2015 المستضاف.

على الرغم من أنه لا يمكن تحديث التوقيعات لهؤلاء العملاء، إلا إنه لا بد أن يقل عمر التوقيعات عن ثلاث ساعات.

يتم عرض تفاصيل تكوين المهمة في لقطة الشاشة والنص التاليين.

تكوين مهام الإنشاء للماسح الضوئي لمكافحة البرامج الضارة

في مربع قائمة النوع من لقطة الشاشة، يتم تحديد أساسي. حدد مخصص لتوفير وسيطات سطر الأوامر التي تقوم بتخصيص المسح الضوئي.

يستخدم Windows Defender عميل Windows Update لتنزيل التواقيع وتثبيتها. إذا فشل تحديث التوقيع على عامل الإنشاء الخاص بك، فمن المحتمل أن يظهر رمز الخطأ HRESULT من Windows Update.

لمزيد من المعلومات حول أخطاء Windows Update والتقليل منها، راجع رموز خطأ Windows Update حسب المكون ومقالة TechNet، وهي Windows Update Agent - رموز الخطأ.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لمكافحة البرامج الضارة

مهمة BinSkim

ملاحظة

قبل أن تتمكن من تشغيل مهمة BinSkim، يجب أن يفي الإصدار بأحد هذه الشروط:

  • ينتج إصدارك البيانات الاصطناعية الثنائية من التعليمات البرمجية المُدارة.
  • لديك بيانات اصطناعية ثنائية ملتزمة تريد تحليلها باستخدام BinSkim.

يتم عرض تفاصيل تكوين المهمة في لقطة الشاشة والقائمة التاليين.

تكوين مهمة إنشاء BinSkim

  • اضبط تكوين الإنشاء على تتبع الأخطاء بحيث يتم إنتاج ملفات تتبع الأخطاء بتنسيق .pdb. تستخدم BinSkim هذه الملفات لتعيين المشكلات في ثنائيات الإخراج مرة أخرى إلى تعليمات المصدر البرمجية.
  • لتجنب البحث وإنشاء سطر الأوامر الخاص بك:
    • في قائمة النوع، حدد أساسي.
    • في قائمة الدالات، حدد تحليل.
  • في الهدف، أدخل محددًا واحدًا أو أكثر لنمط ملف أو دليل أو عامل تصفية. يتم حل هذه المحددات إلى ثنائية واحدة أو أكثر ليتم تحليلها:
    • يجب فصل أهداف محددة متعددة بفواصل منقوطة (؛).
    • يمكن أن يكون المحدد ملفًا واحدًا أو يحتوي على أحرف بدل.
    • يجب أن تنتهي مواصفات الدليل دائمًا بـ \*.
    • أمثلة:
           *.dll;*.exe
           $(BUILD_STAGINGDIRECTORY)\*
           $(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
  • إذا حددت سطر الأوامر في قائمة النوع، فإنه يجب عليك تشغيل binskim.exe:
    • تأكد من أن الوسيطات الأولى لـ binskim.exe هي الفعل تحليل متبوعًا بمواصفات مسار واحد أو أكثر. يمكن أن يكون كل مسار إما مسارًا كاملاً أو مسارًا بالنسبة إلى الدليل المصدر.
    • يجب فصل المسارات الهدف المتعددة بمسافة.
    • يمكنك حذف الخيار /o أو /output. تتم إضافة قيمة الإخراج لك أو استبدالها.
    • يتم عرض تكوينات سطر الأوامر القياسية كما يلي.
           analyze $(Build.StagingDirectory)\* --recurse --verbose
           analyze *.dll *.exe --recurse --verbose

ملاحظة

يُعد اللاحق \* مهمًا إذا حددت دلائل للهدف.

لمزيد من المعلومات حول وسيطات سطر أوامر BinSkim أو القواعد حسب المعرّف أو التعليمات البرمجية للخروج، راجع دليل مستخدم BinSkim.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لـ BinSkim

مهمة الماسح الضوئي لبيانات الاعتماد

يتم عرض تفاصيل تكوين المهمة في لقطة الشاشة والقائمة التاليين.

تكوين مهمة إنشاء الماسح الضوئي لبيانات الاعتماد

تشمل الخيارات المتاحة ما يلي:

  • اسم العرض: اسم مهمة Azure DevOps. القيمة الافتراضية هي تشغيل الماسح الضوئي لبيانات الاعتماد
  • الإصدار الرئيسي للأداة: تتضمن القيم المتوفرة CredScan V2، وCredScan V1. نوصي العملاء باستخدام الإصدار CredScan V2.
  • تنسيق الإخراج: تتضمن القيم المتوفرة TSV وCSV وSARIF وPREfast.
  • إصدار الأداة: نوصي بتحديد الأحدث.
  • مجلد المسح الضوئي: مجلد المستودع المُراد مسحه ضوئيًا.
  • نوع ملف الباحثين: خيارات تحديد موقع ملف الباحثين المستخدَم للمسح الضوئي.
  • ملف المنع: يمكن لملف JSON منع المشكلات في سجل الإخراج. لمزيد من المعلومات حول سيناريوهات المنع، راجع قسم الأسئلة المتداولة في هذه المقالة.
  • الإخراج المطول: شرح ذاتي.
  • حجم الدفعة: عدد مؤشرات الترابط المتزامنة المستخدمة لتشغيل الماسح الضوئي لبيانات الاعتماد. القيمة الافتراضية هي 20. تتراوح القيم المحتملة بين 1 و2,147,483,647.
  • مهلة المطابقة: مقدار الوقت بالثواني لقضاء محاولة مطابقة باحث قبل التخلي عن الفحص.
  • حجم المخزن المؤقت للقراءة لمسح الملفات ضوئيًا: الحجم بالبايت للمخزن المؤقت المستخدم في أثناء قراءة المحتوى. القيمة الافتراضية هي 524,288.
  • الحد الأقصى لوحدات بايت القراءة لمسح الملفات ضوئيًا: الحد الأقصى لعدد وحدات البايت المُراد قراءتها من ملف في أثناء تحليل المحتوى. القيمة الافتراضية هي 104,857,600.
  • خيارات التحكم>تشغيل هذه المهمة: يحدد متى سيتم تشغيل المهمة. حدد شروط مخصصة لتحديد شروط أكثر تعقيدًا.
  • الإصدار: إصدار مهمة الإنشاء داخل Azure DevOps. لا يتم استخدام هذا الخيار بشكل متكرر.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML للماسح الضوئي لبيانات الاعتماد

مهمة Roslyn Analyzers

ملاحظة

قبل أن تتمكن من تشغيل مهمة Roslyn Analyzers، يحتاج الإصدار الخاص بك إلى تلبية هذه الشروط:

  • يتضمن تعريف الإصدار الخاص بك مهمة الإنشاء MSBuild أو VSBuild المضمنة لتحويل التعليمات البرمجية C# أو Visual Basic برمجيًا. تعتمد مهمة المحللات على إدخال وإخراج المهمة المضمنة لتشغيل التحويل البرمجي MSBuild مع تمكين محللات Roslyn.
  • يحتوي عامل البناء الذي يشغّل مهمة الإنشاء هذه على الإصدار 15.5 من Visual Studio 2017 أو الأحدث مثبتًا، بحيث يستخدم المحول البرمجي الإصدار 2.6 أو الأحدث.

يتم عرض تفاصيل تكوين المهمة في القائمة والملاحظة التاليين.

تشمل الخيارات المتاحة ما يلي:

  • مجموعة القواعد: القيم هي SDL مطلوبة أو SDL موصى بها أو مجموعة القواعد المخصصة الخاصة بك.
  • إصدار المحللات: نوصي بتحديد الأحدث.
  • ملف منع تحذيرات برنامج التحويل البرمجي: ملف نصي يحتوي على قائمة بمعرّفات التحذيرات التي يتم منعها.
  • خيارات التحكم>تشغيل هذه المهمة: يحدد متى سيتم تشغيل المهمة. اختر شروط مخصصة لتحديد شروط أكثر تعقيدًا.

ملاحظة

  • يتم دمج Roslyn Analyzers مع المحول البرمجي ويمكن تشغيلها فقط كجزء من تجميع csc.exe. ومن ثم، تتطلب هذه المهمة إعادة تشغيل أو تشغيل أمر المحول البرمجي الذي تم تشغيله سابقًا في الإنشاء مرة أخرى. تتم إعادة التشغيل أو التشغيل عن طريق الاستعلام عن Azure DevOps (المعروف سابقًا بخدمات فريق Visual Studio) لسجلات مهام إنشاء MSBuild.

    لا توجد طريقة أخرى للمهمة للحصول على سطر أوامر التحويل البرمجي MSBuild بشكل موثوق به من تعريف الإنشاء. فكرنا في إضافة مربع نص حر للسماح للمستخدمين بإدخال أسطر الأوامر الخاصة بهم. ولكن بعد ذلك سيكون من الصعب الاحتفاظ بأسطر الأوامر هذه محدثة ومتزامنة مع الإصدار الرئيسي.

    تتطلب البنيات المخصصة إعادة تشغيل مجموعة الأوامر بأكملها، وليس فقط أوامر المحول البرمجي. في هذه الحالات، لا يُعد تمكين Roslyn Analyzers أمرًا تافهًا أو موثوقًا به.

  • يتم دمج Roslyn Analyzers مع المحول البرمجي. ليتم استدعاؤها، تتطلب Roslyn Analyzers التحويل البرمجي.

    يتم تنفيذ مهمة الإنشاء الجديدة هذه عن طريق إعادة تحويل مشاريع C# التي تم إنشاؤها بالفعل. تستخدم المهمة الجديدة مهام إنشاء MSBuild وVSBuild فقط في نفس الإصدار أو تعريف الإصدار مثل المهمة الأصلية. ومع ذلك، في هذه الحالة، تستخدمها المهمة الجديدة مع Roslyn Analyzers ممكّنة.

    إذا تم تشغيل المهمة الجديدة على نفس عامل المهمة الأصلية، فإن إخراج المهمة الجديدة يحل محل إخراج المهمة الأصلية في مجلد المصادر. على الرغم من أن إخراج البناء هو نفسه، فإننا ننصحك بتشغيل MSBuild، ونسخ الإخراج إلى الدليل المرحلي للبيانات الاصطناعية، ثم تشغيل Roslyn Analyzers.

للحصول على موارد إضافية لمهمة Roslyn Analyzers، راجع المحللات المستندة إلى Roslyn.

يمكنك العثور على حزمة المحلل المثبتة والمستخدَمة من قبل مهمة الإنشاء هذه في صفحة NuGet Microsoft.CodeAnalysis.FxCopAnalyzers.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لـ Roslyn Analyzers

مهمة TSLint

لمزيد من المعلومات حول TSLint، انتقل إلى مستودع TSLint GitHub.

ملاحظة

كما قد تكون على علم، تشير الصفحة الرئيسية لمستودع TSLint GitHub إلى أنه سيتم إيقاف TSLint في وقت ما في عام 2019. تقوم Microsoft بالتحقيق في ESLint كمهمة بديلة.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لـ TSLint

نشر مهمة سجلات تحليل الأمان

يتم عرض تفاصيل تكوين المهمة في لقطة الشاشة والقائمة التاليين.

تكوين مهمة إنشاء نشر سجلات تحليل الأمان التم تم نشرها

  • اسم البيانات الاصطناعية: أي معرّف سلسلة.
  • نوع البيانات الاصطناعية: استنادًا إلى التحديد الخاص بك، يمكنك نشر السجلات إلى Azure DevOps Server أو إلى ملف مشترك يمكن لعامل الإنشاء الوصول إليه.
  • الأدوات: يمكنك اختيار الاحتفاظ بالسجلات لأدوات معينة، أو يمكنك تحديد كل الأدوات للاحتفاظ بجميع السجلات.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لنشر سجلات الأمان

مهمة تقرير الأمان

يتم عرض تفاصيل تكوين تقرير الأمان في لقطة الشاشة والقائمة التاليين.

تكوين مهمة إنشاء تقرير الأمان

  • التقارير: حدد أيًا من تنسيقات وحدة تحكم البنية الأساسية وملف TSV وملف Html. يتم إنشاء ملف تقرير واحد لكل تنسيق محدد.
  • الأدوات: حدد الأدوات الموجودة في تعريف الإنشاء الذي تريد عنه ملخصًا للمشكلات التي تم الكشف عنها. لكل أداة محددة، قد يكون هناك خيار لتحديد ما إذا كنت ترى الأخطاء فقط أو ترى كلاً من الأخطاء والتحذيرات في تقرير الملخص.
  • الخيارات المتقدمة: إذا لم تكن هناك سجلات لإحدى الأدوات المحددة، يمكنك اختيار تسجيل تحذير أو خطأ. إذا قمت بتسجيل خطأ، فستفشل المهمة.
  • مجلد السجلات الأساسية: يمكنك تخصيص مجلد السجلات الأساسية حيث يمكن العثور على السجلات. ولكن لا يتم استخدام هذا الخيار عادة.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لتقرير الأمان

مهمة ما بعد التحليل

يتم عرض تفاصيل تكوين المهمة في لقطة الشاشة والقائمة التاليين.

تكوين مهمة إنشاء ما بعد التحليل

  • الأدوات: حدد الأدوات الموجودة في تعريف الإنشاء الذي تريد إدخال فاصل إنشاء له بشكل مشروط. لكل أداة محددة، قد يكون هناك خيار لتحديد ما إذا كنت تريد التوقف عند الأخطاء فقط أو عند كل من الأخطاء والتحذيرات.
  • التقرير: يمكنك اختياريًا كتابة النتائج التي تسبب فاصل الإنشاء. تتم كتابة النتائج إلى نافذة وحدة تحكم Azure DevOps وملف السجل.
  • الخيارات المتقدمة: إذا لم تكن هناك سجلات لإحدى الأدوات المحددة، يمكنك اختيار تسجيل تحذير أو خطأ. إذا قمت بتسجيل خطأ، فستفشل المهمة.

للحصول على معلومات حول تكوين YAML لهذه المهمة، تحقق من خيارات YAML لما بعد التحليل

الخطوات التالية

للحصول على معلومات حول التكوين المستند إلى YAML، راجع دليل تكوين YAML.

إذا كان لديك أسئلة أخرى حول ملحق Security Code Analysis والأدوات المقدمة، فراجع صفحة الأسئلة المتداولة.