Microsoft veröffentlicht Open Source Source Code Analyzer

Um Entwicklern zu helfen, die auf externe Softwarekomponenten angewiesen sind, hat Microsoft den Quellcode-Analysator Microsoft Application Inspector eingeführt, um Oberflächenfunktionen und andere Eigenschaften des Quellcodes zu unterstützen. 

Das plattformübergreifende Befehlszeilentool kann von GitHub heruntergeladen werden und dient zum Scannen von Komponenten vor deren Verwendung, um festzustellen, was die Software ist oder was sie tut. Die bereitgestellten Daten können hilfreich sein, um die Zeit zu verkürzen, die erforderlich ist, um festzustellen, was Softwarekomponenten tun, indem der Quellcode direkt untersucht wird, anstatt sich auf die Dokumentation zu verlassen. 

Application Inspector unterscheidet sich von herkömmlichen statischen Analysetools darin, dass es nicht versucht, "gute" oder "schlechte" Muster zu identifizieren, heißt es in der Dokumentation von Microsoft. Das Tool meldet vielmehr, was es anhand eines Satzes von mehr als 400 Regelmustern für die Feature-Erkennung findet, einschließlich Features, die die Sicherheit beeinträchtigen, wie z. B. die Verwendung von Kryptografie. 

Weitere wichtige Funktionen von Application Inspector sind:

  • Eine JSON-basierte Regelengine, die statische Analysen durchführt.
  • Die Fähigkeit, Millionen von Quellcodezeilen aus Komponenten zu analysieren, die in vielen Sprachen erstellt wurden.
  • Die Fähigkeit, Komponenten mit hohem Risiko und solche mit unerwarteten Merkmalen zu identifizieren.
  • Die Fähigkeit, Änderungen am Funktionsumfang einer Komponente von Version zu Version zu identifizieren, die von einer böswilligen Hintertür bis zu einer vergrößerten Angriffsfläche alles anzeigen können.
  • Die Möglichkeit zur Ausgabe führt zu mehreren Formaten, einschließlich JSON und HTML.
  • Die Fähigkeit, Funktionen zu erkennen, die Microsoft Azure-, Amazon Web Services- und Google Cloud Platform-Dienst-APIs sowie Betriebssystemfunktionen wie das Dateisystem, Sicherheitsfunktionen und Anwendungsframeworks abdecken.

Laut Microsoft unterscheidet sich der Anwendungsinspektor von anderen statischen Analysetools darin, dass er nicht nur schlechte Programmierpraktiken erkennt. Es zeigt Codeeigenschaften an, deren Identifizierung durch manuelle Inspektion schwierig oder zeitaufwändig wäre.