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,Python,Objective-C,GO,Ruby,Powershell等,並且可以使用混合語言文件掃描項目。它支持在HTML,JSON和文本輸出格式中生成的結果,默認值為HTML報告類似於此處顯示的報告。

請務必查看我們完整的項目Wiki頁面https://github.com/microsoft/applicationinspector/wiki,以獲取更多信息和幫助。
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLI在Wiki中看到更多
appinspector analyze -s path/to/src 。applicationinspector.cli.exe analyze -s path/to/srcMicrosoft Application Inspector可以幫助您從開始到部署。
設計選擇- 使您可以選擇哪些組件滿足您的需求,並具有較小的不必要或未知功能的佔地面積,以使應用程序攻擊面積較小,並有助於驗證預期的攻擊,即僅行業標準加密貨幣。
識別特徵三角洲- 檢測組件版本之間的變化,這對於檢測後門注入至關重要。
自動化安全性合規性檢查- 用於識別具有需要對所有企業應用程序的元數據存儲庫的一部分,需要進行其他安全審查,批准或SDL合規性的功能。
我們有一個強大的默認起始基礎來檢測功能檢測。但是,有許多功能識別模式尚待定義,我們邀請您提交有關您想要看到的內容或在定義幾種方面進行破解的想法。這是一個從字面上影響開源生態系統的機會,幫助提供每個人都可以使用的工具。有關更多信息,請參見Wiki的規則部分。
應用程序檢查員處於一般受眾發布狀態。您的反饋對我們很重要。如果您有興趣貢獻,請查看貢獻。 md。
應用程序Inspector可作為命令行工具或Nuget軟件包可用,並且在Windows,Linux或MacOS上支持。
我們的GitHub版本頁面上可以找到ApplicationSpector CLI的平台特定二進製文件。
C#庫可在Nuget上以Microsoft.cst.applicationinspector.commands提供。
.NET全局工具可在Nuget上使用Microsoft.cst.applicationinspector.cli。
如果使用.NET Core版本,則需要安裝.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幫助。
分析命令是應用程序檢查員的主力。
這將使用默認參數和規則在當前目錄中產生輸出。
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
這將創建一個名為data的JSON輸出。當前目錄中的分析的JSON,不包括test和.git文件夾中的所有文件。
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
有關使用控制台接口的其他幫助,請參閱CLI使用情況。
有關使用Nuget軟件包的幫助,請參閱Nuget支持
請參閱build.md