Microsoft Application Inspector, ein Open Source-Quellcode-Analysator

Microsoft-Anwendungsinspektor

Microsoft hat die Veröffentlichung des Quellcodes von angekündigt Ihr Quellcode-Analyse-Tool "Microsoft Application Inspector ", um Entwicklern zu helfen, die auf externe Softwarekomponenten angewiesen sind. Microsoft Application Inspector ist ein Quellcode-Analysator Entwickelt, um wichtige Funktionen und andere Merkmale von Softwarekomponenten aufzudecken, verwendet es eine statische Analyse mit einer JSON-basierten Regelengine.

Dieser Code-Analysator unterscheidet sich von anderen Tools des gleichen Typs, weil Es ist nicht darauf beschränkt, nur Programmierpraktiken zu erkennen, seit ist so konzipiert, dasswährend der Code-Kontrolle, Die Merkmale, die im Allgemeinen eine sorgfältige manuelle Analyse erfordern, werden identifiziert und hervorgehoben.

Nach den Erklärungen von Microsoft zum Tool:

Microsoft Application Inspector versucht nicht, "gute" oder "schlechte" Modelle zu identifizieren. Sie geben sich damit zufrieden, zu berichten, was Sie finden, indem Sie auf einen Satz von mehr als 400 Regelvorlagen zur Funktionserkennung verweisen. Laut Microsoft umfasst dies auch Funktionen, die Auswirkungen auf die Sicherheit haben, z. B. die Verwendung von Verschlüsselung und mehr.

Das Tool arbeitet über die Befehlszeile und ist plattformübergreifend. Es wurde entwickelt, um Komponenten vor der Verwendung zu scannen, um festzustellen, was die Software ist oder tut.

Die von Ihnen angegebenen Daten können hilfreich sein, um die Zeit zu verkürzen, die erforderlich ist, um festzustellen, was Softwarekomponenten tun, indem Sie den Quellcode direkt untersuchen, anstatt sich auf meist begrenzte Dokumentationen oder Empfehlungen zu verlassen.

Microsoft-Anwendungsinspektor unterstützt das Parsen verschiedener Programmiersprachen, Diese schließen ein: C, C ++, C #, Java, JavaScript, HTML, Los, PowerShell, usw. sowie die Aufnahme von HTML-, JSON- und Textausgabeformaten.

Microsoft Application Inspector-Entwickler sagen das ist für die individuelle oder maßstabsgetreue Verwendung konzipiert und es kann Millionen von Zeilen Quellcode auf Komponenten analysieren, die mit vielen verschiedenen Programmiersprachen erstellt wurden.

Microsoft verwendet den Anwendungsinspektor, um wichtige Änderungen am Funktionsumfang einer Komponente im Laufe der Zeit (Version für Version) zu identifizieren, da sie von einer vergrößerten Angriffsfläche bis zu einer böswilligen Hintertür alles anzeigen können.

Sie verwenden das Tool auch, um Komponenten mit hohem Risiko zu identifizieren und solche mit unerwarteten Eigenschaften, die eine zusätzliche Prüfung erfordern. Zu den Komponenten mit hohem Risiko gehören Komponenten, die in Bereichen wie Kryptografie, Authentifizierung oder Deserialisierung tätig sind, in denen eine Sicherheitsanfälligkeit wahrscheinlich mehr Probleme verursachen würde.

Seit Ziel ist es, Softwarekomponenten von Drittanbietern schnell zu identifizieren Das Tool ist aufgrund seiner Besonderheiten gefährdet, aber auch in vielen unsicheren Kontexten nützlich.

Grundsätzlich Dies sind die wichtigsten Merkmale Microsoft Application Inspector:

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

Wie erwartet, Plattform und Krypto sind gut abgedecktmit Unterstützung für symmetrisch, asymmetrisch, Hash und TLS.

Die Datentypen können auf Risiken überprüft werden, einschließlich sensibler und persönlich identifizierbarer Informationen.

Weitere Überprüfungen umfassen Betriebssystemfunktionen wie Plattformidentifikation, Dateisystem, Registrierung und Benutzerkonten sowie Sicherheitsfunktionen wie Authentifizierung und Autorisierung.

Schließlich für diejenigen, die interessiert sind Beim Testen von Microsoft Application Inspector sollten sie wissen, dass dies bereits der Fall ist verfügbar auf GitHub.


Als bevorzugte Quelle in Google hinzufügen