
Um analisador de código-fonte construído para destacar funcionalidades de interesse e outras características, respondendo rapidamente à pergunta 'O que há no código?' usando análise estática com um mecanismo de regras baseado em JSON. Ideal para escanear componentes antes do uso ou detectar mudanças no nível de funcionalidades.
Microsoft Application Inspector é uma ferramenta de caracterização de código-fonte de software que ajuda a identificar características de codificação de componentes de software de primeira ou terceira parte com base em chamadas de bibliotecas/APIs conhecidas e é útil em casos de uso de segurança e não segurança. Ele usa centenas de regras e padrões regex para revelar características interessantes do código-fonte, auxiliando na determinação do que o software é ou o que ele faz a partir das operações de arquivo que utiliza, criptografia, operações de shell, APIs de nuvem, frameworks e muito mais, e recebeu atenção da indústria como uma contribuição nova e valiosa para OSS no ZDNet, SecurityWeek , CSOOnline , Linux.com/news , HelpNetSecurity, Twitter e outros, e foi destaque no Microsoft.com.
O Application Inspector é diferente das ferramentas tradicionais de análise estática, pois não tenta identificar padrões "bons" ou "ruins"; ele simplesmente relata o que encontra em relação a um conjunto de mais de 400 padrões de regras para detecção de recursos, incluindo recursos que impactam a segurança, como o uso de criptografia e outros. Isso pode ser extremamente útil para reduzir o tempo necessário para determinar o que componentes Open Source ou outros fazem, examinando o código-fonte diretamente em vez de confiar em documentação ou recomendações limitadas.
A ferramenta suporta a varredura de várias linguagens de programação, incluindo C, C++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell e outras, e pode escanear projetos com arquivos de linguagens mistas. Ela suporta a geração de resultados em formatos de saída HTML, JSON e texto, sendo o padrão um relatório HTML semelhante ao mostrado aqui.

Não deixe de ver nossa página completa do wiki do projeto https://Github.com/Microsoft/ApplicationInspector/wiki para informações adicionais e ajuda.
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIVeja mais no wiki
appinspector analyze -s path/to/src.applicationinspector.cli.exe analyze -s path/to/srcMicrosoft Application Inspector ajuda você a proteger seus aplicativos do início à implantação.
Escolhas de Design - Permite que você escolha quais componentes atendem às suas necessidades com uma pegada menor de recursos desnecessários ou desconhecidos para manter a superfície de ataque do seu aplicativo menor, além de ajudar a verificar os esperados, ou seja, apenas criptografia padrão da indústria.
Identificando Deltas de Recursos - Detecta mudanças entre versões de componentes, o que pode ser crítico para detectar injeção de backdoors.
Automatizando Verificações de Conformidade de Segurança - Use para identificar componentes com recursos que exigem escrutínio adicional de segurança, aprovação ou conformidade com SDL como parte do seu pipeline de build ou crie um repositório de metadados sobre todos os seus aplicativos empresariais.
Temos uma base inicial forte de Regras para detecção de recursos. Mas há muitos padrões de identificação de recursos ainda a serem definidos e convidamos você a enviar ideias sobre o que gostaria de ver ou tentar definir alguns. Esta é uma chance de impactar literalmente o ecossistema de código aberto, ajudando a fornecer uma ferramenta que todos possam usar. Veja a seção Regras do wiki para mais informações.
O Application Inspector está em status de lançamento para PÚBLICO GERAL. Seu feedback é importante para nós. Se você estiver interessado em contribuir, revise o CONTRIBUTING.md.
O Application Inspector está disponível como ferramenta de linha de comando ou pacote NuGet e é suportado no Windows, Linux ou MacOS.
Binários específicos de plataforma do CLI ApplicationInspector estão disponíveis em nossa página de releases no GitHub.
A biblioteca C# está disponível no NuGet como Microsoft.CST.ApplicationInspector.Commands.
A .NET Global Tool está disponível no NuGet como Microsoft.CST.ApplicationInspector.CLI.
Se você usar a versão .NET Core, precisará ter o .NET 6.0 ou posterior instalado. Veja os arquivos JustRunIt.md ou Build.md para mais informações.
> 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.
Para obter ajuda para um comando específico, execute appinspector <command> --help.
O Comando Analyze é o carro-chefe do Application Inspector.
Isso produzirá um output.html da análise no diretório atual usando argumentos e regras padrão.
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
Isso criará uma saída markdown adequada para ambientes de CI com um resumo dos principais recursos.
appinspector analyze -s path/to/files -f markdown -o report.md
Isso criará uma saída json chamada data.json da análise no diretório atual, excluindo todos os arquivos nas pastas test e .git usando os padrões glob fornecidos.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
Para ajuda adicional sobre o uso da interface do console, veja Uso da CLI.
Para ajuda sobre o uso do pacote NuGet, veja Suporte NuGet
Veja build.md
O uso deste aplicativo é regido pela Declaração de Privacidade da Microsoft.