Facebook-ek Pysa aurkeztu zuen, Python hizkuntzarako analizatzaile estatikoa

Facebook aurkeztu analizatzaile estatiko irekia pisa (Python Static Analyzer), Python kodean ahultasun potentzialak identifikatzeko diseinatua. Analizatzaile berria motak egiaztatzeko tresna-tresnaren gehigarri gisa diseinatuta dago pyre eta bere biltegian argitaratua. Kodea argitaratuko MIT lizentziapean.

Pysa-k datu-fluxuen analisia eskaintzen du kodearen exekuzioaren ondorioz, eta horri esker, datuak agertu behar ez diren lekuetan erabiltzearekin lotutako ahultasun potentzial eta pribatutasun-arazo asko identifikatu ditzakezu.
Adibidez, Pysa-k kanpoko datu gordinaren erabileraren jarraipena egin dezake kanpoko programak abiarazten dituzten deietan, fitxategi-eragiketetan eta SQL eraikuntzan.

Analizatzailearen lana jatorrizko datuak erabili behar ez diren datu-iturriak eta dei arriskutsuak identifikatzea da. Web-eskaeren datuak (adibidez, Django-ko HttpRequest.GET hiztegia) iturritzat hartzen dira, eta eval eta os.open bezalako deiak erabilera arriskutsutzat hartzen dira. Pysa-k datu-fluxuaren jarraipena egiten du funtzio-deien katearen bidez eta iturriko datuak kodean arriskutsuak izan daitezkeen tokiekin lotzen ditu. Pysa erabiliz identifikatutako ahultasun tipiko bat birbideratzeko arazo ireki bat da (CVE-2019-19775) Zulip mezularitza plataforman, koadro txikiak errendatzean garbitu gabeko kanpoko parametroak pasatzeak eragindakoa.

Pysa-ren datu-fluxuaren jarraipena egiteko gaitasunek egin dezakete aplikatu esparru osagarrien erabilera zuzena egiaztatzeko eta erabiltzailearen datuen erabilera-politika betetzen dela zehazteko. Adibidez, ezarpen gehigarririk gabeko Pysa erabil daiteke Django eta Tornado esparruak erabiliz proiektuak egiaztatzeko. Pysa-k web aplikazioetan ahultasun arruntak ere hauteman ditzake, hala nola SQL injekzioa eta cross-site scripting (XSS).

Facebook-en, analizatzailea Instagram zerbitzuaren kodea egiaztatzeko erabiltzen da. 2020ko lehen hiruhilekoan, Pysa-k Facebook-eko ingeniariek Instagram-en zerbitzariaren kode-basean aurkitutako arazo guztien % 44 identifikatzen lagundu zuen.
Guztira, Pysa-ren aldaketak berrikusteko prozesu automatizatuak 330 arazo identifikatu zituen, horietatik 49 (%15) nagusitzat eta 131 (%40) ez-larri gisa baloratu ziren. 150 kasutan (%45) arazoak positibo faltsu gisa sailkatu ziren.

Iturria: opennet.ru

Gehitu iruzkin berria