Facebook introducerede Pysa, en statisk analysator til Python-sproget

Facebook indsendt åben statisk analysator pysa (Python Static Analyzer), designet til at identificere potentielle sårbarheder i Python-kode. Den nye analysator er designet som en tilføjelse til typekontrolværktøjssættet pyre og lagt op i sit lager. Kode offentliggjort under MIT-licensen.

Pysa leverer analyse af datastrømme som et resultat af kodeeksekvering, hvilket giver dig mulighed for at identificere mange potentielle sårbarheder og privatlivsproblemer forbundet med at bruge data på steder, hvor de ikke burde vises.
For eksempel kan Pysa spore brugen af ​​rå eksterne data i kald, der starter eksterne programmer, i filoperationer og i SQL-konstruktioner.

Analysatorens arbejde kommer ned til at identificere datakilder og farlige opkald, hvor de originale data ikke skal bruges. Data fra webanmodninger (for eksempel HttpRequest.GET-ordbogen i Django) betragtes som en kilde, og opkald som eval og os.open betragtes som farlige anvendelser. Pysa sporer datastrømmen gennem kæden af ​​funktionskald og forbinder kildedataene med potentielt farlige steder i koden. En typisk sårbarhed identificeret ved hjælp af Pysa er et åbent omdirigeringsproblem (CVE-2019-19775) i Zulip-meddelelsesplatformen, forårsaget af videregivelse af urensede eksterne parametre ved gengivelse af miniaturebilleder.

Pysas datastrømssporingsfunktioner kan ansøge at verificere den korrekte brug af yderligere rammer og for at bestemme overholdelse af brugerdatabrugspolitikken. For eksempel kan Pysa uden yderligere indstillinger bruges til at kontrollere projekter ved hjælp af Django- og Tornado-rammerne. Pysa kan også opdage almindelige sårbarheder i webapplikationer, såsom SQL-injektion og cross-site scripting (XSS).

På Facebook bruges analysatoren til at tjekke Instagram-tjenestens kode. I første kvartal af 2020 hjalp Pysa med at identificere 44 % af alle de problemer, Facebook-ingeniører fandt i Instagrams serverside-kodebase.
I alt identificerede Pysas automatiserede ændringsgennemgang 330 problemer, hvoraf 49 (15%) blev vurderet som større og 131 (40%) som ikke-alvorlige. I 150 tilfælde (45%) blev problemerne klassificeret som falske positive.

Kilde: opennet.ru

Tilføj en kommentar