Назад к обновлениям
New releaseAug 27, 2026

ApplicationInspector v1.10.1

Инструмент анализа исходного кода, предназначенный для выявления интересующих функций и других характеристик, чтобы быстро ответить на вопрос «Что в коде?» с помощью статического анализа на основе механизма правил, работающего с JSON. Идеально подходит для сканирования компонентов перед использованием или обнаружения изменений на уровне функций.

Поделиться

Введение

CodeQL Nuget Nuget

Microsoft Application Inspector — это инструмент для характеризации исходного кода программного обеспечения, который помогает определить особенности кода компонентов, созданных вами или сторонними разработчиками, на основе известных вызовов библиотек/API. Он полезен в сценариях, связанных с безопасностью и не только. Инструмент использует сотни правил и регулярных выражений для выявления интересных характеристик исходного кода, помогая определить что это за ПО или что оно делает на основе используемых файловых операций, шифрования, оболочек, облачных API, фреймворков и многого другого. Он привлёк внимание индустрии как новый и ценный вклад в мир OSS на ZDNet, SecurityWeek , CSOOnline , Linux.com/news , HelpNetSecurity, Twitter и других, и впервые был представлен на Microsoft.com.

Application Inspector отличается от традиционных инструментов статического анализа тем, что не пытается определить «хорошие» или «плохие» практики; он просто сообщает о том, что находит, используя набор из более чем 400 правил для обнаружения функций, включая функции, влияющие на безопасность, такие как использование криптографии и другое. Это может значительно сократить время, необходимое для определения того, что делает открытый исходный код или другие компоненты, путём непосредственного изучения исходного кода, а не полагаясь на ограниченную документацию или рекомендации.

Инструмент поддерживает сканирование различных языков программирования, включая C, C++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell и другие, и может сканировать проекты с файлами на смешанных языках. Он поддерживает формирование результатов в форматах HTML, JSON и текстовом, при этом по умолчанию создаётся HTML-отчёт, похожий на показанный ниже.

appinspector-Features

Обязательно посетите нашу полную страницу вики проекта по адресу https://Github.com/Microsoft/ApplicationInspector/wiki для получения дополнительной информации и помощи.

Быстрый старт

Получить Application Inspector

.NET Tool (рекомендуется)

  • Загрузите и установите .NET 6 SDK
  • Выполните dotnet tool install --global Microsoft.CST.ApplicationInspector.CLI

Подробнее в вики

Платформозависимый двоичный файл

  • Загрузите Application Inspector, выбрав предварительно собранный пакет для нужной операционной системы из раздела Assets на странице релизов.

Запускать Application Inspector

  • Nuget Tool: appinspector analyze -s path/to/src.
  • Platform Specific: applicationinspector.cli.exe analyze -s path/to/src

Цели

Microsoft Application Inspector помогает вам защищать ваши приложения от начала разработки до развёртывания.

Проектные решения — Позволяет выбирать компоненты, соответствующие вашим потребностям, с меньшим количеством ненужных или неизвестных функций, что уменьшает поверхность атаки вашего приложения, а также помогает проверить ожидаемые функции, например, использование только отраслевых стандартов криптографии.

Выявление различий в функциях — Обнаруживает изменения между версиями компонентов, что может быть критически важным для выявления внедрения бэкдоров.

Автоматизация проверок соответствия требованиям безопасности — Используйте для идентификации компонентов с функциями, требующими дополнительного контроля безопасности, одобрения или соблюдения SDL в рамках вашего конвейера сборки, или создайте репозиторий метаданных обо всех ваших корпоративных приложениях.

Участие

У нас есть надёжная база правил для обнаружения функций. Но многие шаблоны идентификации функций ещё не определены, и мы приглашаем вас предлагать идеи о том, что вы хотели бы видеть, или попробовать определить некоторые из них. Это возможность буквально повлиять на экосистему открытого исходного кода, предоставив инструмент, которым сможет пользоваться каждый. Смотрите раздел Правила вики для получения дополнительной информации.

Официальные релизы

Application Inspector находится в статусе GENERAL AUDIENCE. Ваши отзывы важны для нас. Если вы заинтересованы в участии, ознакомьтесь с CONTRIBUTING.md.

Application Inspector доступен в виде инструмента командной строки или пакета NuGet и поддерживается на Windows, Linux или MacOS.

Платформозависимые бинарные файлы CLI ApplicationInspector доступны на нашей странице релизов GitHub.

Библиотека C# доступна на NuGet как Microsoft.CST.ApplicationInspector.Commands .

Глобальный инструмент .NET доступен на NuGet как Microsoft.CST.ApplicationInspector.CLI.

Если вы используете версию .NET Core, вам потребуется установить .NET 6.0 или новее. Смотрите файлы JustRunIt.md или Build.md для получения дополнительной информации.

Информация об использовании CLI

> 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.

Примеры:

Справка по командам

Чтобы получить справку по конкретной команде, выполните appinspector <command> --help.

Команда Analyze

Команда Analyze — это основная рабочая лошадка Application Inspector.

Простой анализ по умолчанию

Это создаст файл output.html с результатами анализа в текущем каталоге, используя аргументы и правила по умолчанию.

appinspector analyze -s path/to/files

Вывод в Sarif

appinspector analyze -s path/to/files -f sarif -o output.sarif

Вывод в Markdown

Это создаст вывод в формате markdown, подходящий для сред CI, с кратким обзором ключевых функций.

appinspector analyze -s path/to/files -f markdown -o report.md

Исключение файлов с помощью glob-шаблонов

Это создаст вывод в формате json с именем data.json в текущем каталоге, исключая все файлы в папках test и .git с помощью указанных glob-шаблонов.

appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**

Дополнительная информация об использовании

Для дополнительной помощи по использованию консольного интерфейса см. Использование CLI.

Для помощи по использованию пакета NuGet см. Поддержка NuGet

Инструкции по сборке

См. build.md

Конфиденциальность

Использование данного приложения регулируется Заявлением о конфиденциальности Microsoft.

Категории