Microsoft Application Inspector는 잘 알려진 라이브러리/API 통화를 기반으로 제 1 또는 타사 소프트웨어 구성 요소의 코딩 기능을 식별 하고 보안 및 비 보안 사용 사례에 도움이되는 소프트웨어 소스 코드 특성화 도구입니다. 소스 코드의 흥미로운 특성을 표현하기 위해 수백 가지 규칙과 정규 패턴을 사용하여 소프트웨어가 무엇인지 또는 파일 운영, 암호화, 클라우드 API, 프레임 워크 등에서 무엇을하는지 또는 ZDNet, SecurityWeek, CSOONLINE, Linux.com/NEWS, 트위터 및 트위터에 대한 OSS에 대한 새롭고 귀중한 기여로 업계의 관심을 받았습니다. microsoft.com.
애플리케이션 검사관은 "좋은"또는 "나쁜"패턴을 식별하려고 시도하지 않는다는 점에서 기존 정적 분석 도구와 다릅니다. 그것은 단순히 암호화 및 기타 사용과 같은 보안에 영향을 미치는 기능을 포함하여 기능 감지를위한 400 개가 넘는 규칙 패턴 세트에 대해 찾는 것을보고합니다. 이는 제한된 문서 나 권장 사항을 신뢰하기보다는 소스를 직접 검사하여 오픈 소스 또는 기타 구성 요소가 수행하는 작업을 결정하는 데 필요한 시간을 줄이는 데 매우 도움이 될 수 있습니다.
이 도구는 C, C ++, C#, Java, JavaScript, HTML, Python, Objective-C, Go, Ruby, PowerShell 등을 포함한 다양한 프로그래밍 언어를 스캔하고 혼합 언어 파일로 프로젝트를 스캔 할 수 있습니다. HTML, JSON 및 텍스트 출력 형식에서 결과를 생성하는 것을 지원하며 기본값은 여기에 표시된 것과 유사한 HTML 보고서입니다 .

추가 정보와 도움을 받으려면 전체 프로젝트 Wiki Page https://github.com/microsoft/applicationinspector/wiki를 확인하십시오.
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLI 실행하십시오위키에서 더 많이보십시오
appinspector analyze -s path/to/src .applicationinspector.cli.exe analyze -s path/to/srcMicrosoft Application Inspector를 사용하면 처음부터 배포까지 응용 프로그램을 보호 할 수 있습니다.
디자인 선택 - 응용 프로그램 공격 표면을 더 작게 유지하기위한 불필요한 또는 미지의 기능의 더 작은 발자국으로 요구 사항을 충족하는 구성 요소를 선택할 수 있으며 예상 업계 IE IE IE IN IN IN IE IE를 확인하는 데 도움이됩니다.
기능 델타 기능 식별 - 백도어 주입에 중요한 구성 요소 버전 간의 변화를 감지합니다.
보안 규정 준수 확인 - 빌드 파이프 라인의 일부로 추가 보안 조사, 승인 또는 SDL 준수가 필요한 기능이있는 구성 요소를 식별하거나 모든 엔터프라이즈 애플리케이션에 관한 메타 데이터 저장소를 작성하는 데 사용합니다.
기능 감지를위한 기본 기본 시작 규칙이 강력합니다. 그러나 아직 정의되지 않은 많은 기능 식별 패턴이 있으며, 우리는 몇 가지 정의에보고 싶은 것에 대한 아이디어를 제출하도록 초대합니다. 이것은 문자 그대로 모든 사람이 사용할 수있는 도구를 제공하는 데 도움이되는 오픈 소스 생태계에 영향을 줄 수있는 기회입니다. 자세한 내용은 위키의 규칙 섹션을 참조하십시오.
응용 프로그램 검사관은 일반적으로 청중 릴리스 상태입니다. 귀하의 의견은 우리에게 중요합니다. 기여에 관심이 있으시면 Contributing.md를 검토하십시오.
애플리케이션 검사관은 명령 줄 도구 또는 NUGET 패키지로 제공되며 Windows, Linux 또는 MACOS에서 지원됩니다.
ApplicationInspector CLI의 플랫폼 특정 바이너리는 GitHub 릴리스 페이지에서 제공됩니다.
C# 라이브러리는 Nuget에서 Microsoft.cst.applicationInspector.commands로 사용할 수 있습니다.
.NET Global 도구는 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
이렇게하면 현재 디렉토리의 분석의 JSON 출력이 현재 디렉토리의 test 의 모든 파일을 제외하고 제공된 글로벌 패턴을 사용하여 .git 폴더를 제외합니다.
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
콘솔 인터페이스 사용에 대한 추가 도움은 CLI 사용을 참조하십시오.
NUGET 패키지를 사용하는 데 도움은 NUGET 지원을 참조하십시오
build.md를 참조하십시오