
ApplicationInspector v1.10.1
Un analizador de código fuente diseñado para descubrir características de interés y otras propiedades, respondiendo rápidamente a la pregunta "¿Qué hay en el código?" mediante análisis estático con un motor de reglas basado en JSON. Ideal para escanear componentes antes de su uso o detectar cambios a nivel de características.
Introducción
Microsoft Application Inspector es una herramienta de caracterización de código fuente de software que ayuda a identificar características de codificación de componentes de software de terceros o propios basándose en llamadas a bibliotecas/API conocidas, y es útil en casos de uso de seguridad y no seguridad. Utiliza cientos de reglas y patrones regex para revelar características interesantes del código fuente, ayudando a determinar qué es el software o qué hace a partir de las operaciones de archivos que utiliza, cifrado, operaciones de shell, API en la nube, frameworks y más. Ha recibido atención de la industria como una contribución nueva y valiosa al OSS en ZDNet, SecurityWeek , CSOOnline , Linux.com/news , HelpNetSecurity, Twitter y más, y fue presentado por primera vez en Microsoft.com.
Application Inspector se diferencia de las herramientas tradicionales de análisis estático en que no intenta identificar patrones "buenos" o "malos"; simplemente informa lo que encuentra contra un conjunto de más de 400 patrones de reglas para la detección de características, incluyendo características que impactan la seguridad como el uso de criptografía y más. Esto puede ser extremadamente útil para reducir el tiempo necesario para determinar qué hacen los componentes de código abierto u otros examinando el código fuente directamente, en lugar de confiar en documentación limitada o recomendaciones.
La herramienta admite el escaneo de varios lenguajes de programación, incluyendo C, C++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell y más, y puede escanear proyectos con archivos de lenguaje mixto. Admite la generación de resultados en formatos HTML, JSON y texto, siendo el formato predeterminado un informe HTML similar al que se muestra aquí.

Asegúrese de consultar nuestra página wiki completa del proyecto https://Github.com/Microsoft/ApplicationInspector/wiki para obtener información y ayuda adicionales.
Inicio rápido
Obtener Application Inspector
Herramienta .NET (recomendada)
- Descargue e instale el SDK de .NET 6
- Ejecute
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLI
Consulte más en la wiki
Binario específico de plataforma
- Descargue Application Inspector seleccionando el paquete precompilado para el sistema operativo de su elección que se muestra en la sección de Assets de los Releases.
Ejecutar Application Inspector
- Herramienta Nuget:
appinspector analyze -s ruta/a/src. - Específico de plataforma:
applicationinspector.cli.exe analyze -s ruta/a/src
Objetivos
Microsoft Application Inspector le ayuda a asegurar sus aplicaciones desde el inicio hasta la implementación.
Decisiones de diseño - Le permite elegir qué componentes satisfacen sus necesidades con una huella menor de características innecesarias o desconocidas para mantener la superficie de ataque de su aplicación más pequeña, así como ayudar a verificar las esperadas, por ejemplo, solo criptografía estándar de la industria.
Identificación de diferencias de características - Detecta cambios entre versiones de componentes, lo que puede ser crítico para detectar la inyección de puertas traseras.
Automatización de controles de cumplimiento de seguridad - Úselo para identificar componentes con características que requieren un escrutinio de seguridad adicional, aprobación o cumplimiento de SDL como parte de su canal de compilación, o cree un repositorio de metadatos sobre todas sus aplicaciones empresariales.
Contribuir
Tenemos una sólida base inicial predeterminada de reglas para la detección de características. Pero aún hay muchos patrones de identificación de características por definir, y le invitamos a enviar ideas sobre lo que desea ver o intentar definir algunos. Esta es una oportunidad para impactar literalmente el ecosistema de código abierto ayudando a proporcionar una herramienta que todos puedan usar. Consulte la sección Reglas de la wiki para obtener más información.
Lanzamientos oficiales
Application Inspector se encuentra en estado de lanzamiento de AUDIENCIA GENERAL. Sus comentarios son importantes para nosotros. Si está interesado en contribuir, revise el archivo CONTRIBUTING.md.
Application Inspector está disponible como herramienta de línea de comandos o paquete NuGet, y es compatible con Windows, Linux o MacOS.
Los binarios específicos de plataforma de la CLI de ApplicationInspector están disponibles en nuestra página de lanzamientos de GitHub.
La biblioteca C# está disponible en NuGet como Microsoft.CST.ApplicationInspector.Commands .
La herramienta global .NET está disponible en NuGet como Microsoft.CST.ApplicationInspector.CLI.
Si usa la versión .NET Core, necesitará tener instalado .NET 6.0 o posterior. Consulte los archivos JustRunIt.md o Build.md para obtener más información.
Información de uso de la CLI
> appinspector --help
ApplicationInspector.CLI 1.8.4-beta+976ee3cdd1
c Microsoft Corporation. All rights reserved.
analyze Inspeccionar directorio/archivo/archivo comprimido (.tgz|zip) de origen
según características definidas
tagdiff Compara valores de etiquetas únicos entre dos rutas de origen
exporttags Exporta la lista de etiquetas asociadas con las reglas especificadas.
No escanea código fuente.
verifyrules Verifica que la sintaxis de reglas personalizadas sea válida
packrules Combina varios archivos de reglas en uno solo para facilitar su
distribución
help Muestra más información sobre un comando específico.
version Muestra información de la versión.
Ejemplos:
Ayuda del comando
Para obtener ayuda sobre un comando específico, ejecute appinspector <comando> --help.
Comando analyze
El comando analyze es el caballo de batalla de Application Inspector.
Analyze predeterminado simple
Esto generará un output.html del análisis en el directorio actual utilizando argumentos y reglas predeterminados.
appinspector analyze -s ruta/a/archivos
Salida Sarif
appinspector analyze -s ruta/a/archivos -f sarif -o output.sarif
Salida Markdown
Esto creará una salida markdown adecuada para entornos CI con un resumen de las características clave.
appinspector analyze -s ruta/a/archivos -f markdown -o report.md
Excluir archivos usando Globs
Esto creará una salida json llamada data.json del análisis en el directorio actual, excluyendo todos los archivos en las carpetas test y .git utilizando los patrones glob proporcionados.
appinspector analyze -s ruta/a/archivos -o data.json -f json -g **/tests/**,**/.git/**
Información de uso adicional
Para obtener ayuda adicional sobre el uso de la interfaz de consola, consulte Uso de CLI.
Para obtener ayuda sobre el uso del paquete NuGet, consulte Soporte NuGet
Instrucciones de compilación
Consulte build.md
Privacidad
El uso de esta aplicación se rige por la Declaración de privacidad de Microsoft.