Microsoft Application Inspectorは、有名なライブラリ/API呼び出しに基づいて、第一党またはサードパーティのソフトウェアコンポーネントのコーディング機能を特定するのに役立つソフトウェアソースコード特性化ツールであり、セキュリティおよび非セキュリティユースケースに役立ちます。 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.
アプリケーションインスペクターは、「良い」または「悪い」パターンを特定しようとしないという点で、従来の静的分析ツールとは異なります。それは、暗号化などのセキュリティに影響を与える機能を含む、機能検出のために400を超えるルールパターンのセットに対して見られるものを単に報告します。これは、限られたドキュメントや推奨事項を信頼するのではなく、ソースを直接調べることにより、オープンソースや他のコンポーネントが何をするかを判断するために必要な時間を短縮するのに非常に役立ちます。
このツールは、C、C ++、C#、Java、JavaScript、HTML、Python、Objective-C、Go、Ruby、PowerShellなどを含むさまざまなプログラミング言語のスキャンをサポートし、ミックス言語ファイルでプロジェクトをスキャンできます。 HTML、JSON、およびテキスト出力形式での結果の生成をサポートし、デフォルトはここに示されているものと同様のHTMLレポートです。

詳細とヘルプについては、プロジェクトの完全なプロジェクトWikiページhttps://github.com/microsoft/applicationspector/wikiをご覧ください。
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIWikiで詳細をご覧ください
appinspector analyze -s path/to/src 。applicationinspector.cli.exe analyze -s path/to/srcMicrosoft Application Inspectorは、アプリケーションを開始から展開まで保護するのに役立ちます。
設計の選択- アプリケーション攻撃を小さく保つための不要または不明の機能の小さなフットプリントでニーズを満たすコンポーネントを選択できます。
識別機能デルタ- バックドアの注入を検出するために重要なコンポーネントバージョン間の変化を検出します。
セキュリティコンプライアンスチェックの自動- ビルドパイプラインの一部として追加のセキュリティの精査、承認、またはSDLコンプライアンスを必要とする機能を備えたコンポーネントを特定するか、すべてのエンタープライズアプリケーションに関するメタデータのリポジトリを作成します。
機能検出のためのルールの強力なデフォルトの開始ベースがあります。しかし、まだ定義されている多くの機能識別パターンがあり、あなたが見たいものに関するアイデアを提出したり、いくつかを定義することで亀裂を取ったりすることを勧めます。これは、誰もが使用できるツールを提供するのに役立つオープンソースのエコシステムに文字通り影響を与えるチャンスです。詳細については、Wikiのルールセクションを参照してください。
アプリケーションインスペクターは、一般的なオーディエンスリリースステータスです。あなたのフィードバックは私たちにとって重要です。貢献に興味がある場合は、Convinting.mdを確認してください。
アプリケーションインスペクターは、コマンドラインツールまたはNUGETパッケージとして利用でき、Windows、Linux、またはMacOSでサポートされています。
ApplicationSpector CLIのプラットフォーム固有のバイナリは、GitHubリリースページで入手できます。
C#ライブラリは、Microsoft.cst.applicationinspector.commandsとしてNugetで入手できます。
.NETグローバルツールは、NugetでMicrosoft.cst.applicationinspector.cliとして入手できます。
.NETコアバージョンを使用する場合、.NET 6.0以降がインストールされる必要があります。詳細については、justrunit.mdまたはbuild.mdファイルを参照してください。
> 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を実行します。
分析コマンドは、アプリケーションインスペクターの主力です。
これにより、デフォルトの引数とルールを使用して、現在のディレクトリに分析のoutput.htmlが生成されます。
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
これにより、現在のディレクトリの分析のdata.jsonという名前のJSON出力が作成されます。これは、提供されたGLOBパターンを使用してtest中のすべてのファイルと.gitフォルダーを除外します。
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
コンソールインターフェイスの使用に関する追加ヘルプについては、CLIの使用法を参照してください。
Nugetパッケージの使用については、Nuget Supportを参照してください
build.mdを参照してください