Microsoft Application Inspector เป็นเครื่องมือการจำแนกลักษณะซอร์สโค้ดซอฟต์แวร์ที่ช่วย ระบุคุณสมบัติการเข้ารหัสของส่วนประกอบซอฟต์แวร์ของบุคคลที่หนึ่งหรือบุคคลที่สาม โดยใช้การโทร Library/API ที่รู้จักกันดีและมีประโยชน์ในกรณีการรักษาความปลอดภัยและการใช้งานที่ไม่ปลอดภัย มันใช้กฎหลายร้อยและรูปแบบ regex เพื่อสร้างลักษณะที่น่าสนใจของซอร์สโค้ดเพื่อช่วยในการพิจารณาว่า ซอฟต์แวร์คืออะไร หรือ ทำอะไรได้บ้าง จากการดำเนินการไฟล์การเข้ารหัสการดำเนินงานของเชลล์ API ของคลาวด์เฟรมเวิร์กและอื่น ๆ และได้รับความสนใจจากอุตสาหกรรม microsoft.com
ผู้ตรวจการแอปพลิเคชันนั้นแตกต่างจากเครื่องมือการวิเคราะห์แบบคงที่แบบดั้งเดิมซึ่งไม่ได้พยายามระบุรูปแบบ "ดี" หรือ "ไม่ดี"; เพียงแค่รายงานสิ่งที่พบกับชุดของรูปแบบกฎมากกว่า 400 รูปแบบสำหรับการตรวจจับคุณสมบัติรวมถึงคุณสมบัติที่ส่งผลกระทบต่อความปลอดภัยเช่นการใช้การเข้ารหัสและอื่น ๆ สิ่งนี้มีประโยชน์อย่างมากในการลดเวลาที่จำเป็นในการพิจารณาว่าโอเพ่นซอร์สหรือส่วนประกอบอื่น ๆ ทำอะไรโดยการตรวจสอบแหล่งข้อมูลโดยตรงแทนที่จะไว้วางใจเอกสารหรือคำแนะนำที่ จำกัด
เครื่องมือสนับสนุนการสแกนภาษาการเขียนโปรแกรมต่างๆรวมถึง C, C ++, C#, Java, JavaScript, HTML, Python, Objective-C, GO, Ruby, PowerShell และอื่น ๆ และสามารถสแกนโครงการด้วยไฟล์ภาษาผสม รองรับการสร้างผลลัพธ์ในรูปแบบ HTML, JSON และรูปแบบเอาท์พุทข้อความที่ มีค่าเริ่มต้นเป็นรายงาน HTML คล้ายกับที่แสดงไว้ที่นี่

อย่าลืมเห็นหน้าโครงการ Wiki ที่สมบูรณ์ของเรา https://github.com/microsoft/applicationInspector/wiki สำหรับข้อมูลเพิ่มเติมและความช่วยเหลือ
dotnet tool install --global Microsoft.CST.ApplicationInspector.CLIดูเพิ่มเติมในวิกิ
appinspector analyze -s path/to/srcapplicationinspector.cli.exe analyze -s path/to/srcMicrosoft Application Inspector ช่วยคุณในการรักษาความปลอดภัยแอปพลิเคชันของคุณตั้งแต่เริ่มต้นจนถึงการปรับใช้
ตัวเลือกการออกแบบ - ช่วยให้คุณสามารถเลือกส่วนประกอบที่ตรงกับความต้องการของคุณด้วยรอยเท้าที่เล็กกว่าของคุณสมบัติที่ไม่จำเป็นหรือไม่ทราบสำหรับการทำให้พื้นผิวการโจมตีแอปพลิเคชันของคุณเล็กลงรวมถึงช่วยในการตรวจสอบสิ่งที่คาดหวังเช่น crypto มาตรฐานอุตสาหกรรมเท่านั้น
การระบุคุณสมบัติ Deltas - ตรวจจับการเปลี่ยนแปลงระหว่างรุ่นส่วนประกอบซึ่งอาจมีความสำคัญต่อการตรวจจับการฉีดแบ็คดอร์
การตรวจสอบการปฏิบัติตามกฎระเบียบด้านความปลอดภัยอัตโนมัติ - ใช้เพื่อระบุส่วนประกอบที่มีคุณสมบัติที่ต้องมีการตรวจสอบความปลอดภัยเพิ่มเติมการอนุมัติหรือการปฏิบัติตาม SDL ซึ่งเป็นส่วนหนึ่งของท่อส่งของคุณหรือสร้างที่เก็บข้อมูลเมตาเกี่ยวกับแอปพลิเคชันองค์กรทั้งหมดของคุณ
เรามีฐานเริ่มต้นเริ่มต้นที่แข็งแกร่งสำหรับการตรวจจับคุณสมบัติ แต่มีรูปแบบการระบุคุณสมบัติมากมายที่ยังไม่ได้กำหนดไว้และเราขอเชิญชวนให้คุณ ส่งแนวคิด เกี่ยวกับสิ่งที่คุณต้องการเห็นหรือแตกหักในการกำหนดไม่กี่ นี่เป็นโอกาสที่จะส่งผลกระทบอย่างแท้จริงต่อระบบนิเวศโอเพนซอร์สที่ช่วยจัดหาเครื่องมือที่ทุกคนสามารถใช้ได้ ดูส่วนกฎของวิกิสำหรับข้อมูลเพิ่มเติม
ผู้ตรวจการแอปพลิเคชันอยู่ในสถานะการเปิดตัวผู้ชมทั่วไป ความคิดเห็นของคุณเป็นสิ่งสำคัญสำหรับเรา หากคุณสนใจที่จะมีส่วนร่วมโปรดตรวจสอบการสนับสนุน
แอปพลิเคชันผู้ตรวจสอบมีให้บริการเป็นเครื่องมือบรรทัดคำสั่งหรือแพ็คเกจ NUGET และรองรับบน Windows, Linux หรือ MacOS
แพลตฟอร์มไบนารีเฉพาะของ ApplicationInspector CLI มีอยู่ในหน้า GitHub Reasees ของเรา
ไลบรารี C# มีอยู่ใน NUGET เป็น microsoft.cst.applicationInspector.Commands
เครื่องมือ. NET Global มีให้บริการบน 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
คำสั่งวิเคราะห์คือการทำงานของผู้ตรวจการแอปพลิเคชัน
สิ่งนี้จะสร้างเอาต์พุต html ของการวิเคราะห์ในไดเรกทอรีปัจจุบันโดยใช้อาร์กิวเมนต์และกฎเริ่มต้น
appinspector analyze -s path/to/files
appinspector analyze -s path/to/files -f sarif -o output.sarif
สิ่งนี้จะสร้างเอาต์พุต JSON ชื่อ data.json ของการวิเคราะห์ในไดเรกทอรีปัจจุบันไม่รวมไฟล์ทั้งหมดในโฟลเดอร์ test และ .git โดยใช้รูปแบบ GLOB ที่ให้ไว้
appinspector analyze -s path/to/files -o data.json -f json -g **/tests/**,**/.git/**
สำหรับความช่วยเหลือเพิ่มเติมเกี่ยวกับการใช้อินเตอร์เฟสคอนโซลโปรดดูการใช้ CLI
สำหรับความช่วยเหลือในการใช้แพ็คเกจ NUGET โปรดดู NUGET Support
ดู build.md