Microsoft пуска анализатор на отворен код с отворен код

С цел да помогне на разработчиците, които разчитат на външни софтуерни компоненти, Microsoft представи анализатор на изходния код, Microsoft Application Inspector, за да помогне на повърхностните функции и други характеристики на изходния код. 

Инструментът за команден ред на различни платформи, който може да се изтегли от GitHub, е предназначен за сканиране на компоненти преди употреба, за да подпомогне определянето на софтуера или какво прави. Предоставените от него данни могат да бъдат полезни за намаляване на времето, необходимо за определяне на това, което правят софтуерните компоненти, като изследва директно изходния код, вместо да разчита на документация. 

Инспекторът на приложения се различава от традиционните инструменти за статичен анализ по това, че не се опитва да идентифицира „добри“ или „лоши“ модели, се посочва в документацията на Microsoft. По-скоро инструментът съобщава какво намира срещу набор от над 400 модела правила за откриване на функции, включително функции, засягащи сигурността, като използването на криптография. 

Други ключови възможности на Application Inspector включват:

  • JSON-базиран механизъм за правила, който извършва статичен анализ.
  • Възможността да се анализират милиони редове изходен код от компоненти, изградени с помощта на много езици.
  • Способността да се идентифицират високорискови компоненти и тези с неочаквани характеристики.
  • Възможността да се идентифицират промените в набора от функции на компонента, версия към версия, която може да показва всичко от злонамерен заден план до увеличена повърхност за атака.
  • Възможността за извеждане на резултати в множество формати, включително JSON и HTML.
  • Възможността за откриване на функции, покриващи Microsoft Azure, Amazon Web Services и API на услугата Google Cloud Platform и функции на операционната система, като файлова система, функции за сигурност и рамки за приложения.

Microsoft заяви, че Application Inspector се различава от другите инструменти за статичен анализ по това, че не се ограничава до откриване на лоши практики на програмиране; той показва кодови характеристики, които биха били трудни или отнемащи много време за идентифициране чрез ръчна проверка.