ApplicationInspector

microsoftMIT活跃维护

基于 JSON 规则引擎的静态代码分析器,快速识别代码中的功能特征与安全风险,适合在引入第三方组件前做扫描或检测功能级变更。

A source code analyzer built for surfacing features of interest and other characteristics to answer the question 'What's in the code?' quickly using static analysis with a json based rules engine. Ideal for scanning components before use or detecting feature level changes.

v1.10.2发布于 2026-09-10 18:46 UTC4,402star365fork同步于 2026-11-10 05:37 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v1.10.2
  1. v1.10.2Release v1.10.2最新正式版2026-09-10 · 2026-09-10 18:46 UTC

    Changes:

    • 331cf113a729755b393623aa773e21468e03b396 Make rule self-tests agree with the analyzer for expression rules (#656)

    This list of changes was auto generated.

  2. v1.10.1Release v1.10.12026-08-26 · 2026-08-26 17:00 UTC
    查看更新说明

    Changes:

    • b1bbf91373488fb8e42573a417baad11de8d3890 Boolean expression support in the rules engine (#654) [ #652, microsoft/OAT#393, #650 ]
    • 24713186d722a2f7a8dea3455a1677e3b0dfcba2 Fix typo in Report - tagreportgroups.json (#643)
    • da476d0a88cf82d8220d307c8af2eb4e7138f571 Fix JSON serialization for Result-derived classes (#648) [ #1 ]
    • 5ce863b1472966444724568db1aa6a8719cd6bc3 Fix build-file rule tag filtering (#653)
    • 3b8911693859cda9f46aeadda5ac43d5ab49bc4d Add detection for AWS credential-returning API calls (#637)
    • 48da27bf384c8439c4eaf54d6bf494c51cd18c21 Add Copilot instructions for repository context (#640)
    • 803b13cf94cd4e06c799a132caad88016dbe3cab Add .NET 10 as a build target and update test matrix (#632)
    • d174577c27d730dd683767871baed9402e09a64f Fix JSON validation errors and add comprehensive rule samples (#633)
    • fdad01d3f61d5c9e6a6381cb9031713977023d1f Add markdown output format for CI environments with key features summary (#630)

    This list of changes was auto generated.

  3. v1.9.55Release v1.9.552026-01-22 · 2026-01-22 21:16 UTC
    查看更新说明

    Changes:

    • 0b8c96ee0b5498c1738b834b3e6472053c4f01ea move pipelines to new org (#631)
    • ac027714a53be0e881874bf9cfa96ca3f1d51395 Add Mechanism to construct from a string representation of JSON Schema (#629)

    This list of changes was auto generated.

  4. v1.9.53Release v1.9.532025-10-07 · 2025-10-07 17:12 UTC
    查看更新说明

    Changes:

    • a6e3e7e74d62c0706c8c864d4240651378cd82d9 Update Dependencies (#628)

    This list of changes was auto generated.

  5. v1.9.52Release v1.9.522025-09-24 · 2025-09-24 18:25 UTC
    查看更新说明

    Changes:

    • 44d7fd4eb49d3fdc9c871f46574dc2a0c9414c7d Add JSON schema validation for rules and tests (#626)
    • e33c40ac7bc392da2933991c77ed536b34000574 Add YamlPath support and tests to RulesEngine (#627)

    This list of changes was auto generated.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Introduction

    CodeQL Nuget Nuget

    Microsoft Application Inspector is a software source code characterization tool that helps identify coding features of first or third party software components based on well-known library/API calls and is helpful in security and non-security use cases. 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.

    Application Inspector is different from traditional static analysis tools in that it doesn't attempt to identify "good" or "bad" patterns; it simply reports what it finds against a set of over 400 rule patterns for feature detection including features that impact security such as the use of cryptography and more. This can be extremely helpful in reducing the time needed to determine what Open Source or other components do by examining the source directly rather than trusting to limited documentation or recommendations.

    The tool supports scanning various programming languages including C, C++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell and more and can scan projects with mixed language files. It supports generating results in HTML, JSON and text output formats with the default being an HTML report similar to the one shown here.

    appinspector-Features

    Be sure to see our complete project wiki page https://Github.com/Microsoft/ApplicationInspector/wiki for additional information and help.

    Quick Start

    Obtain Application Inspector

    .NET Tool (recommended)

    • Download and install the .NET 6 SDK
    • Run dotnet tool install --global Microsoft.CST.ApplicationInspector.CLI

    See more in the wiki

    Platform Dependent Binary

    • Download Application Inspector by selecting the pre-built package for the operating system of choice shown under the Assets section of the Releases.

    Run Application Inspector

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

    Goals

    Microsoft Application Inspector helps you in securing your applications from start to deployment.

    Design Choices - Enables you to choose which components meet your needs with a smaller footprint of unnecessary or unknowns features for keeping your application attack surface smaller as well as help to verify expected ones i.e. industry standard crypto only.

    Identifying Feature Deltas - Detects changes between component versions which can be critical for detecting injection of backdoors.

    Automating Security Compliance Checks - Use to identify components with features that require additional security scrutiny, approval or SDL compliance as part of your build pipeline or create a repository of metadata regarding all of your enterprise application.

    Contribute

    We have a strong default starting base of Rules for feature detection. But there are many feature identification patterns yet to be defined and we invite you to submit ideas on what you want to see or take a crack at defining a few. This is a chance to literally impact the open source ecosystem helping provide a tool that everyone can use. See the Rules section of the wiki for more.

    Official Releases

    Application Inspector is in GENERAL AUDIENCE release status. Your feedback is important to us. If you're interested in contributing, please review the CONTRIBUTING.md.

    Application Inspector is available as a command line tool or NuGet package and is supported on Windows, Linux, or MacOS.

    Platform specific binaries of the ApplicationInspector CLI are available on our GitHub releases page.

    The C# library is available on NuGet as Microsoft.CST.ApplicationInspector.Commands .

    The .NET Global Tool is available on NuGet as Microsoft.CST.ApplicationInspector.CLI.

    If you use the .NET Core version, you will need to have .NET 6.0 or later installed. See the JustRunIt.md or Build.md files for more.

    CLI Usage Information

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

    Examples:

    Command Help

    To get help for a specific command run appinspector <command> --help.

    Analyze Command

    The Analyze Command is the workhorse of Application Inspector.

    Simple Default Analyze

    This will produce an output.html of the analysis in the current directory using default arguments and rules.

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

    This will create a markdown output suitable for CI environments with a summary of key features.

    appinspector analyze -s path/to/files -f markdown -o report.md
    
    Excluding Files using Globs

    This will create a json output named data.json of the analysis in the current directory, excluding all files in test and .git folders using the provided glob patterns.

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

    Additional Usage Information

    For additional help on use of the console interface see CLI Usage.

    For help using the NuGet package see NuGet Support

    Build Instructions

    See build.md

    Privacy

    Usage of this application is governed by the Microsoft Privacy Statement.