Analyseur de code source de Microsoft Application Inspector

image

Microsoft a publié Microsoft Application Inspector, un outil open source multiplateforme (!) Pour analyser le code source.


Inspecteur d'application diffère des outils d'analyse statique traditionnels en ce qu'il ne tente pas d'identifier les «bons» ou les «mauvais» modèles; il signalera qu'il détectera, sur la base de l'ensemble initial de plus de 500 modèles de règles pour détecter les fonctions, y compris les fonctions qui affectent la sécurité, telles que l'utilisation de la cryptographie, etc.


Le principal objectif d'Application Inspector est une identification systématique et évolutive des fonctions de code source qui ne se trouvent pas dans d'autres analyseurs statiques typiques. Cela permet aux développeurs et aux experts en sécurité de vérifier les objectifs visés des composants, par exemple, que la bibliothèque utilisée ne fait que ce qui y est déclaré.


Les applications modernes reposent fortement sur des logiciels écrits en dehors de votre entreprise, ce qui comporte des risques. L'inspecteur d'application peut aider à déterminer les caractéristiques intéressantes de l'application en examinant le code source, ce qui permet de gagner un temps considérable par rapport à l'analyse "manuelle".


L'application est un outil client basé sur .NET Core, elle fonctionnera donc sur Windows, Linux ou macOS et ne nécessite pas de privilèges élevés, ainsi qu'une base de données locale, les communications réseau ou la télémétrie. Pour le démarrer, utilisez simplement la ligne de commande dotnet standard pour appeler, par exemple, dotnet ApplicationInspector.dll si vous exécutez Linux ou macOS ou Windows AppInspector.exe.


> dotnet AppInspector.dll or on *Windows* simply AppInspector.exe <command> <options> Microsoft Application Inspector 1.0.17 ApplicationInspector 1.0.17 (c) Microsoft Corporation. All rights reserved ERROR(S): No verb selected. analyze Inspect source directory/file/compressed file (.tgz|zip) against defined characteristics tagdiff Compares unique tag values between two source paths tagtest Test presence of smaller set or custom tags in source (compare or verify modes) exporttags Export default unique rule tags to view what features may be detected verifyrules Verify rules syntax is valid help Display more information on a specific command version Display version information 

Vous pouvez ajouter / modifier / supprimer des règles ou des modèles standard selon vos besoins. Il est également possible d'ajouter vos propres règles à un chemin distinct de l'ensemble par défaut et d'enregistrer l'ensemble par défaut ou de les exclure à l'aide des options de ligne de commande.


Domaines de test et d'application:


  • Flux de contrôle: exécution de code dynamique, gestion des processus.
  • Cryptographie: cryptage, hachage, secrets, randomisation.
  • Opérations du système d'exploitation: système de fichiers, variables d'environnement, opérations réseau, comptes d'utilisateurs, registre Windows.
  • Données: JSON / XML, secrets / clés d'accès, données personnelles sensibles, SQL / ORM.
  • Gestion des données: sérialisation d'objets (XML / JSON), Flash, PDF, Silverlight, utilisation ou analyse des médias audio / vidéo, Bluetooth, cellulaire, RPC.
  • Cadres: développement, test, dépendances.

Par défaut, l'inspecteur d'application génère un rapport basé sur html pour illustrer les fonctionnalités, un résumé du projet et les métadonnées trouvées. Les options de format de sortie JSON et TEXT sont également prises en charge.


image


Page du projet GitHub .

Source: https://habr.com/ru/post/fr484800/


All Articles