L'inspecteur d'application Microsoft est un outil de caractérisation de code source logiciel qui aide à identifier les fonctionnalités de codage des composants logiciels de premier ou tiers basés sur des appels de bibliothèque / API bien connus et est utile dans les cas d'utilisation de sécurité et de non-sécurité. Il utilise des centaines de règles et des modèles regex pour faire surface les caractéristiques intéressantes du code source pour aider à déterminer ce qu'est le logiciel ou ce qu'il fait à partir des opérations de fichiers qu'il utilise, du chiffrement, des opérations de shell, des API cloud, des frameworks et plus et a reçu l'attention de l'industrie en tant que contribution nouvelle et précieuse aux OSSS sur le ZDNET, Sécurité, CSOonline, Linux.com/News, HelpNetNetSecuret, Twitter et More.
L'inspecteur d'application est différent des outils d'analyse statique traditionnels en ce qu'il n'essaie pas d'identifier les modèles "bons" ou "mauvais"; Il signale simplement ce qu'il trouve contre un ensemble de plus de 400 modèles de règles pour la détection des fonctionnalités, y compris des fonctionnalités qui ont un impact sur la sécurité telle que l'utilisation de la cryptographie et plus encore. Cela peut être extrêmement utile pour réduire le temps nécessaire pour déterminer ce que font les composants open source ou d'autres en examinant directement la source plutôt que de faire confiance à des documents ou des recommandations limitées.
L'outil prend en charge la numérisation de divers langages de programmation, notamment C, C ++, C #, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell et plus encore et peut scanner des projets avec des fichiers linguistiques mixtes. Il prend en charge la génération de résultats dans les formats HTML, JSON et Text de sortie avec la valeur par défaut étant un rapport HTML similaire à celui illustré ici.

Assurez-vous de voir notre page Wiki complète du projet https://github.com/microsoft/applicationinspector/wiki pour plus d'informations et d'aide.
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIEn voir plus dans le wiki
appinspector analyze -s path/to/src .applicationinspector.cli.exe analyze -s path/to/srcL'inspecteur des applications Microsoft vous aide à sécuriser vos applications du début au déploiement.
Choix de conception - vous permet de choisir les composants qui répondent à vos besoins avec une empreinte plus petite de fonctionnalités inutiles ou inconnues pour maintenir la surface d'attaque de votre application plus petite ainsi que pour vérifier les attentes, c'est-à-dire la cryptographie standard de l'industrie.
Identification de la caractéristique Deltas - détecte les modifications entre les versions des composants qui peuvent être essentielles pour détecter l'injection de baignoires.
Automatisation des contrôles de conformité de sécurité - Utiliser pour identifier les composants avec des fonctionnalités qui nécessitent un examen de sécurité, une approbation ou une conformité SDL supplémentaires dans le cadre de votre pipeline de construction ou créer un référentiel de métadonnées concernant toute votre application d'entreprise.
Nous avons une solide base de démarrage par défaut de règles pour la détection des fonctionnalités. Mais il y a encore de nombreux modèles d'identification des fonctionnalités à définir et nous vous invitons à soumettre des idées sur ce que vous voulez voir ou à prendre une fissure pour en définir quelques-uns. C'est l'occasion d'avoir un impact littéralement sur l'écosystème open source pour fournir un outil que tout le monde peut utiliser. Voir la section des règles du wiki pour en savoir plus.
L'inspecteur d'application est dans le statut général de la libération du public. Vos commentaires sont importants pour nous. Si vous êtes intéressé à contribuer, veuillez consulter le contribution.md.
L'inspecteur d'application est disponible sous forme d'outil de ligne de commande ou de package NuGet et est pris en charge sur Windows, Linux ou MacOS.
Les binaires spécifiques à la plate-forme du CLI ApplicationInspector sont disponibles sur notre page GitHub Releases.
La bibliothèque C # est disponible sur NuGet en tant que microsoft.cst.applicationinspector.commands.
L'outil Global .NET est disponible sur NuGet en tant que microsoft.cst.applicationinspector.cli.
Si vous utilisez la version .NET Core, vous devrez l'installation .NET 6.0 ou ultérieure. Voir les fichiers justunit.md ou build.md pour en savoir plus.
> 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.
Pour obtenir de l'aide pour une commande spécifique, exécutez appinspector <command> --help .
La commande Analyze est le cheval de bataille de l'inspecteur d'application.
Cela produira une sortie.html de l'analyse dans le répertoire actuel à l'aide d'arguments et de règles par défaut.
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
Cela créera une sortie JSON nommée Data.json de l'analyse dans le répertoire actuel, à l'exclusion de tous les fichiers dans les dossiers test et .git en utilisant les modèles GLOB fournis.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
Pour une aide supplémentaire sur l'utilisation de l'interface de la console, voir l'utilisation du CLI.
Pour obtenir de l'aide en utilisant le package NuGet, voir le support NuGet
Voir build.md