
مُحلل شيفرة مصدرية مصمم لكشف الميزات ذات الاهتمام والخصائص الأخرى للإجابة بسرعة على سؤال 'ما الموجود في الشيفرة؟' باستخدام التحليل الثابت مع محرك قواعد قائم على JSON. مثالي لفحص المكونات قبل الاستخدام أو اكتشاف التغييرات على مستوى الميزات.
Microsoft Application Inspector هي أداة لوصف كود المصدر البرمجي تساعد في تحديد ميزات البرمجة لمكونات البرامج من طرف أول أو ثالث استنادًا إلى استدعاءات المكتبات/API المعروفة، وهي مفيدة في حالات الاستخدام الأمنية وغير الأمنية. تستخدم مئات القواعد وأنماط التعبير العادي لإظهار الخصائص المثيرة للاهتمام في الكود المصدري للمساعدة في تحديد ما هو البرنامج أو ما يفعله بناءً على عمليات الملفات التي يستخدمها، التشفير، عمليات الصدفة، APIs السحابية، الأطر، والمزيد. وقد حظيت الأداة باهتمام صناعي كمساهمة جديدة وقيمة في المصادر المفتوحة على ZDNet وSecurityWeek وCSOOnline وLinux.com/news وHelpNetSecurity وتويتر والمزيد، وظهرت لأول مرة على Microsoft.com.
تختلف Application Inspector عن أدوات التحليل الثابت التقليدية من حيث أنها لا تحاول تحديد الأنماط "الجيدة" أو "السيئة"؛ بل تقوم ببساطة بالإبلاغ عما تجده مقابل مجموعة تضم أكثر من 400 نمط قاعدة لاكتشاف الميزات، بما في ذلك الميزات التي تؤثر على الأمان مثل استخدام التشفير وغيرها. يمكن أن يكون هذا مفيدًا للغاية في تقليل الوقت اللازم لتحديد ما تفعله مكونات المصادر المفتوحة أو غيرها عن طريق فحص المصدر مباشرة بدلاً من الاعتماد على وثائق أو توصيات محدودة.
تدعم الأداة فحص العديد من لغات البرمجة بما في ذلك C وC++ وC# وJava وJavaScript وHTML وPython وObjective-C وGo وRuby وPowerShell والمزيد، ويمكنها فحص المشاريع التي تحتوي على ملفات بلغات مختلطة. كما تدعم إنشاء النتائج بتنسيقات HTML وJSON والنص، مع كون التقرير الافتراضي هو HTML مشابه للتقرير الموضح هنا.

تأكد من زيارة صفحة الويكي الكاملة للمشروع على 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 في حالة إصدار عام. ملاحظاتك مهمة بالنسبة لنا. إذا كنت مهتمًا بالمساهمة، يرجى مراجعة CONTRIBUTING.md.
تتوفر Application Inspector كأداة سطر أوامر أو حزمة NuGet وهي مدعومة على Windows أو Linux أو MacOS.
الملفات الثنائية الخاصة بالنظام الأساسي لـ ApplicationInspector CLI متوفرة على صفحة الإصدارات الخاصة بنا على GitHub.
مكتبة C# متوفرة على NuGet باسم Microsoft.CST.ApplicationInspector.Commands.
الأداة العالمية .NET متوفرة على 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.
أمر Analyze هو العمود الفقري لـ Application Inspector.
سينتج هذا ملف output.html للتحليل في الدليل الحالي باستخدام الوسائط والقواعد الافتراضية.
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
سينتج هذا مخرجات markdown مناسبة لبيئات CI مع ملخص للميزات الرئيسية.
appinspector analyze -s path/to/files -f markdown -o report.md
سينتج هذا مخرجات json باسم data.json للتحليل في الدليل الحالي، مع استبعاد جميع الملفات في مجلدات test و .git باستخدام أنماط glob المقدمة.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
لمساعدة إضافية حول استخدام واجهة وحدة التحكم، راجع استخدام CLI.
لمساعدة حول استخدام حزمة NuGet، راجع دعم NuGet
راجع build.md
يخضع استخدام هذا التطبيق لـ بيان الخصوصية من Microsoft.