Microsoft objavio analizator izvornog koda otvorenog koda

U želji da pomogne programerima koji se oslanjaju na vanjske softverske komponente, Microsoft je predstavio analizator izvornog koda, Microsoft Application Inspector, kako bi pomogao površinskim značajkama i ostalim karakteristikama izvornog koda. 

Alat za naredbene linije s više platformi koji se može preuzeti s GitHub-a dizajniran je za skeniranje komponenata prije upotrebe kao pomoć u određivanju softvera ili onoga što on radi. Podaci koje pruža mogu biti korisni u smanjenju vremena potrebnog za određivanje softverskih komponenata izravnim ispitivanjem izvornog koda, a ne oslanjanjem na dokumentaciju. 

Aplikacijski inspektor razlikuje se od tradicionalnih alata za statičku analizu po tome što ne pokušava prepoznati "dobre" ili "loše" uzorke, navodi Microsoftova dokumentacija. Umjesto toga, alat izvještava što pronalazi u skupu od više od 400 uzoraka pravila za otkrivanje značajki, uključujući značajke koje utječu na sigurnost, poput upotrebe kriptografije. 

Ostale ključne mogućnosti Application Inspectora uključuju:

  • Mehanizam pravila zasnovan na JSON-u koji izvodi statičku analizu.
  • Sposobnost analize milijuna redaka izvornog koda iz komponenata izgrađenih na mnogim jezicima.
  • Sposobnost prepoznavanja visoko rizičnih komponenata i onih s neočekivanim značajkama.
  • Sposobnost prepoznavanja promjena u skupu značajki komponente, verziji do verzije, što može ukazivati ​​na bilo što, od zlonamjernog backdoor-a do povećane površine napada.
  • Mogućnost izlaza rezultata u više formata, uključujući JSON i HTML.
  • Mogućnost otkrivanja značajki koje pokrivaju Microsoft Azure, Amazon Web Services i API-je usluga usluge Google Cloud Platform i funkcije operativnog sustava kao što su datotečni sustav, sigurnosne značajke i okviri aplikacija.

Microsoft je rekao da se Application Inspector razlikuje od ostalih alata za statičku analizu po tome što nije ograničen na otkrivanje loših praksi programiranja; pojavljuje karakteristike koda koje bi bilo teško ili dugotrajno identificirati ručnim pregledom.