O Microsoft Application Inspector é uma ferramenta de caracterização do código-fonte do software que ajuda a identificar recursos de codificação de componentes de software em primeiro ou terceiros com base em chamadas de biblioteca/API conhecidas e é útil nos casos de segurança e não de segurança. It uses hundreds of rules and regex patterns to surface interesting characteristics of source code to aid in determining what the software is or what it does from what file operations it uses, encryption, shell operations, cloud API's, frameworks and more and has received industry attention as a new and valuable contribution to OSS on ZDNet, SecurityWeek , CSOOnline , Linux.com/news , HelpNetSecurity, Twitter and more and was first featured on Microsoft.com.
O inspetor de aplicativos é 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 contra um conjunto de mais de 400 padrões de regras para detecção de recursos, incluindo recursos que afetam a segurança, como o uso da criptografia e muito mais. Isso pode ser extremamente útil na redução do tempo necessário para determinar o que o código aberto ou outros componentes fazem, examinando a fonte diretamente, em vez de confiar em documentação ou recomendações limitadas.
A ferramenta suporta a digitalização de várias linguagens de programação, incluindo C, C ++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell e muito mais e pode digitalizar projetos com arquivos de linguagem mista. Ele suporta a geração de resultados em formatos de saída HTML, JSON e texto, com o padrão sendo um relatório HTML semelhante ao mostrado aqui.

Certifique -se de ver nossa página completa do projeto wiki https://github.com/microsoft/Applicationinspector/wiki para obter informações e ajuda adicionais.
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIVeja mais no wiki
appinspector analyze -s path/to/src .applicationinspector.cli.exe analyze -s path/to/srcO Microsoft Application Inspetor ajuda você a proteger seus aplicativos do início à implantação.
Escolhas de design - permite escolher quais componentes atendem às suas necessidades com uma pegada menor de recursos desnecessários ou desconhecidos para manter sua superfície de ataque de aplicação menor e ajudar a verificar apenas os esperados, ou seja, a criptografia padrão.
Identificar o recurso deltas - detecta alterações entre versões de componentes que podem ser críticas para detectar a injeção de backdoors.
Automatando verificações de conformidade de segurança - Use para identificar componentes com recursos que requerem escrutínio adicional de segurança, aprovação ou conformidade SDL como parte do seu pipeline de construção ou crie um repositório de metadados em relação a todo o seu aplicativo corporativo.
Temos uma forte base de regulamentos padrão padrão para detecção de recursos. Mas existem muitos padrões de identificação de recursos ainda a serem definidos e convidamos você a enviar idéias sobre o que deseja ver ou fazer uma rachadura em 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 de regras do wiki para mais.
O Inspetor de Aplicativo está no status geral de liberação do público. Seu feedback é importante para nós. Se você estiver interessado em contribuir, revise o contribuindo.md.
O Inspetor de Aplicativo está disponível como uma ferramenta de linha de comando ou pacote NUGET e é suportado no Windows, Linux ou MacOS.
Binários específicos da plataforma da CLI ApplicationInspect estão disponíveis em nossa página de lançamentos do GitHub.
A biblioteca C# está disponível no NuGet como Microsoft.Cst.ApplicationInspector.Commands.
A ferramenta .NET Global 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 posteriormente instalado. Consulte os arquivos justrunit.md ou build.md para obter mais.
> 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 run de comando específico appinspector <command> --help .
O comando Analyze é o cavalo de trabalho do inspetor de aplicativos.
Isso produzirá uma saída.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 JSON chamada Data.json da análise no diretório atual, excluindo todos os arquivos nas pastas test e .git usando os padrões globais fornecidos.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
Para obter ajuda adicional no uso da interface do console, consulte o uso da CLI.
Para obter ajuda usando o pacote Nuget, consulte o Nuget Support
Consulte Build.md