Microsoft har meddelat lanseringen av källkoden för sitt källkodsanalysverktyg, Microsoft Application Inspector , för att hjälpa utvecklare som förlitar sig på programvarukomponenter från tredje part. Microsoft Application Inspector är en källkodsanalysator utformad för att avslöja viktiga och andra egenskaper hos programvarukomponenter med hjälp av statisk analys med en JSON-baserad regelmotor.
Denna kodanalysator skiljer sig från andra verktyg av samma typ eftersom den inte är begränsad till att endast upptäcka programmeringsmetoder , eftersom den är utformad på ett sådant sätt att den under kodkontroll identifierar och framhäver de egenskaper som generellt kräver noggrann manuell analys.
Enligt förklaringarna från Microsoft om verktyget:
Microsoft Application Inspector försöker inte identifiera "bra" eller "dåliga" modeller. Du är nöjd med att rapportera vad du hittar genom att hänvisa till en uppsättning med mer än 400 regelmallar för funktionsdetektering. Enligt Microsoft inkluderar detta också funktioner som har en säkerhetspåverkan, såsom användning av kryptering och mer.
Verktyget fungerar från kommandoraden och är plattformsoberoende . Det är utformat för att skanna komponenter före användning för att hjälpa till att avgöra vilken programvara det är eller vad den gör.
De uppgifter du tillhandahåller kan vara till hjälp för att minska den tid det tar att avgöra vad programvarukomponenter gör genom att undersöka källkoden direkt, snarare än att förlita sig på mestadels begränsad dokumentation eller rekommendationer.
Microsoft Application Inspector stöder analys av olika programmeringsspråk , inklusive: C, C++, C#, Java, JavaScript, HTML, Go, PowerShell, etc., samt inkludering av utdataformat i HTML, JSON och text.
Utvecklare av Microsoft Application Inspector säger att den är utformad för individuell eller storskalig användning och kan analysera miljontals rader källkod från komponenter byggda med många olika programmeringsspråk.
Microsoft använder Application Inspector för att identifiera viktiga ändringar av en komponents funktionsuppsättning över tid (version efter version), eftersom de kan indikera allt från en ökad attackyta till en skadlig bakdörr.
De använder också verktyget för att identifiera högriskkomponenter och de med oväntade egenskaper som kräver ytterligare granskning. Högriskkomponenter inkluderar de som är involverade i områden som kryptografi, autentisering eller avserialisering, där en sårbarhet sannolikt kommer att orsaka fler problem.
Målet är att snabbt identifiera riskfyllda tredjepartsprogramvarukomponenter baserat på deras specifika egenskaper, men verktyget är också användbart i många osäkra sammanhang.
I grund och botten är dessa de viktigaste funktionerna i Microsoft Application Inspector:
- En JSON-baserad regelmotor som utför statisk analys.
- Möjligheten att analysera miljontals rader med källkod från komponenter som skapats med många språk.
- Förmågan att identifiera komponenter med hög risk och de med oväntade egenskaper.
- Möjligheten att identifiera ändringar av en komponents funktionsuppsättning, version för version, som kan indikera allt från en skadlig bakdörr till en större attackyta.
- Möjligheten att generera resultat i flera format, inklusive JSON och HTML.
- Möjligheten att upptäcka funktioner som täcker Microsoft Azure, Amazon Web Services och Google Cloud Platform-tjänst-API: er och operativsystemfunktioner, såsom filsystem, säkerhetsfunktioner och applikationsramar.
Som förväntat är plattformen och kryptografin väl täckta , med stöd för symmetrisk, asymmetrisk, hash och TLS.
Typerna av data kan kontrolleras för risker, inklusive känslig och personligt identifierbar information.
Andra kontroller inkluderar operativsystemfunktioner som plattformsidentifiering, filsystem, register- och användarkonton och säkerhetsfunktioner som autentisering och auktorisering.
Slutligen, för de som är intresserade av att prova Microsoft Application Inspector, finns det nu tillgängligt på GitHub.