Microsoft Application Inspector هي أداة توصيف رمز مصدر البرامج تساعد على تحديد ميزات الترميز لمكونات برامج الجهات الخارجية أو الثالثة استنادًا إلى مكالمات المكتبة/API المعروفة وهي مفيدة في حالات استخدام الأمان وغير الأمنية. إنه يستخدم مئات القواعد وأنماط regex لتسطح الخصائص المثيرة للاهتمام للرمز المصدر للمساعدة في تحديد ماهية البرنامج أو ما يفعله من عمليات الملفات التي يستخدمها ، والتشفير ، وعمليات shell ، و Cloud API ، والأطر ، وأكثر من ذلك ، وتلقى اهتمام الصناعة ، وتويتر ، مزيد من المساهمة في ZDNET ، Securityweek ، csoonline. Microsoft.com.
يختلف مفتش التطبيق عن أدوات التحليل الثابت التقليدي من حيث أنه لا يحاول تحديد أنماط "جيدة" أو "سيئة" ؛ إنها ببساطة تقارير ما يجدها مقابل مجموعة من أكثر من 400 أنماط قواعد للكشف عن الميزات بما في ذلك الميزات التي تؤثر على الأمان مثل استخدام التشفير والمزيد. يمكن أن يكون هذا مفيدًا للغاية في تقليل الوقت اللازم لتحديد ما يفعله المصدر المفتوح أو المكونات الأخرى من خلال فحص المصدر مباشرة بدلاً من الثقة في التوصيات أو التوصيات المحدودة.
تدعم الأداة مسح لغات البرمجة المختلفة بما في ذلك C ، C ++ ، C#، Java ، JavaScript ، HTML ، Python ، Objective-C ، GO ، Ruby ، PowerShell والمزيد ويمكنها مسح المشاريع بملفات لغة مختلطة. وهو يدعم نتائج توليد تنسيقات HTML و JSON وإخراج النص مع كونه افتراضيًا تقرير HTML يشبه التقرير الموضح هنا.

تأكد من رؤية صفحة Wiki الكاملة الخاصة بنا https://github.com/microsoft/applicationinspector/wiki للحصول على معلومات إضافية ومساعدة.
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIشاهد المزيد في الويكي
appinspector analyze -s path/to/src .applicationinspector.cli.exe analyze -s path/to/srcيساعدك Microsoft Application Inspector في تأمين تطبيقاتك من البداية إلى النشر.
خيارات التصميم - تمكنك من اختيار المكونات التي تلبي احتياجاتك مع وجود بصمة أصغر من ميزات غير ضرورية أو غير معروفة للحفاظ على سطح هجوم التطبيق الخاص بك أصغر بالإضافة إلى المساعدة في التحقق من المتوقع ، أي تشفير قياسي في الصناعة فقط.
تحديد الميزة الدلتا - يكتشف التغييرات بين إصدارات المكونات التي يمكن أن تكون حاسمة لاكتشاف حقن الخلفية.
أتمتة اختبارات الامتثال للأمن - استخدم لتحديد المكونات ذات الميزات التي تتطلب تدقيقًا إضافيًا للأمان أو الموافقة أو الامتثال SDL كجزء من خط أنابيب الإنشاء الخاص بك أو إنشاء مستودع من البيانات الوصفية فيما يتعلق بجميع تطبيقات المؤسسة.
لدينا قاعدة بدء افتراضية قوية للقواعد للكشف عن الميزات. ولكن هناك العديد من أنماط تحديد الميزات التي لم يتم تحديدها بعد ، وندعوك لتقديم أفكار حول ما تريد رؤيته أو أخذ صدع في تحديد عدد قليل. هذه فرصة للتأثير حرفيًا على النظام الإيكولوجي مفتوح المصدر الذي يساعد في توفير أداة يمكن للجميع استخدامها. انظر قسم القواعد في الويكي للمزيد.
مفتش التطبيق هو في حالة إصدار الجمهور العام. ملاحظاتك مهمة بالنسبة لنا. إذا كنت مهتمًا بالمساهمة ، فيرجى مراجعة المساهمة.
يتوفر Application Inspector كأداة سطر أوامر أو حزمة nuget ويتم دعمها على Windows أو Linux أو MacOS.
تتوفر ثنائيات محددة من النظام الأساسي لـ ApplicationInspector CLI على صفحة إصدارات GitHub الخاصة بنا.
مكتبة C# متوفرة على Nuget مثل microsoft.cst.applicationInspector.commands.
تتوفر أداة .NET Global على Nuget باسم Microsoft.cst.applicationInspector.cli.
إذا كنت تستخدم إصدار .NET Core ، فستحتاج إلى تثبيت .NET 6.0 أو لاحقًا. انظر ملفات justrunit.md أو build.md للمزيد.
> appinspector --help
ApplicationInspector.CLI 1.8.4-beta+976ee3cdd1
c Microsoft Corporation. All rights reserved.
analyze Inspect source directory/file/compressed file (.tgz|zip)
against defined characteristics
tagdiff Compares unique tag values between two source paths
exporttags Export the list of tags associated with the specified rules.
Does not scan source code.
verifyrules Verify custom rules syntax is valid
packrules Combine multiple rule files into one file for ease in
distribution
help Display more information on a specific command.
version Display version information.
للحصول على مساعدة لأمر معين تشغيل appinspector <command> --help .
أمر التحليل هو العمود الفقري لمفتش التطبيق.
سيؤدي ذلك إلى إنتاج output.html من التحليل في الدليل الحالي باستخدام الوسائط والقواعد الافتراضية.
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
سيؤدي ذلك إلى إنشاء إخراج JSON يسمى Data.json من التحليل في الدليل الحالي ، باستثناء جميع الملفات في المجلدات test و .git باستخدام أنماط الكرات المقدمة.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
للحصول على مساعدة إضافية على استخدام واجهة وحدة التحكم ، راجع استخدام CLI.
للمساعدة في استخدام حزمة nuget ، انظر Nuget Support
انظر Build.MD