Cyflwynodd Facebook Pysa, dadansoddwr statig ar gyfer yr iaith Python

Facebook cyflwyno dadansoddwr statig agored pysa (Dadansoddwr Statig Python), wedi'i gynllunio i nodi gwendidau posibl yng nghod Python. Mae'r dadansoddwr newydd wedi'i gynllunio fel ychwanegiad i'r pecyn cymorth gwirio math goelcerth a'i bostio yn ei gadwrfa. Côd cyhoeddi dan drwydded MIT.

Mae Pysa yn darparu dadansoddiad o lif data o ganlyniad i weithredu cod, sy'n eich galluogi i nodi llawer o wendidau posibl a materion preifatrwydd sy'n gysylltiedig â defnyddio data mewn mannau lle na ddylai ymddangos.
Er enghraifft, gall Pysa olrhain y defnydd o ddata allanol amrwd mewn galwadau sy'n lansio rhaglenni allanol, mewn gweithrediadau ffeiliau, ac mewn lluniadau SQL.

Mae gwaith y dadansoddwr yn ymwneud â nodi ffynonellau data a galwadau peryglus lle na ddylid defnyddio'r data gwreiddiol. Ystyrir data o geisiadau gwe (er enghraifft, geiriadur HttpRequest.GET yn Django) fel ffynhonnell, ac mae galwadau fel eval ac os.open yn cael eu hystyried yn ddefnydd peryglus. Mae Pysa yn olrhain llif data trwy'r gadwyn o alwadau swyddogaeth ac yn cysylltu'r data ffynhonnell â lleoedd a allai fod yn beryglus yn y cod. Mae bregusrwydd nodweddiadol a nodwyd gan ddefnyddio Pysa yn broblem ailgyfeirio agored (CVE-2019-19775) yn y llwyfan negeseuon Zulip, a achosir gan basio paramedrau allanol heb eu glanhau wrth rendro mân-luniau.

Gall galluoedd olrhain llif data Pysa gwneud cais i wirio'r defnydd cywir o fframweithiau ychwanegol ac i benderfynu ar gydymffurfiaeth â'r polisi defnyddio data defnyddwyr. Er enghraifft, gellir defnyddio Pysa heb osodiadau ychwanegol i wirio prosiectau gan ddefnyddio fframweithiau Django a Tornado. Gall Pysa hefyd ganfod gwendidau cyffredin mewn cymwysiadau gwe, megis chwistrelliad SQL a sgriptio traws-safle (XSS).

Ar Facebook, defnyddir y dadansoddwr i wirio cod y gwasanaeth Instagram. Yn chwarter cyntaf 2020, helpodd Pysa i nodi 44% o'r holl broblemau a ddarganfuwyd gan beirianwyr Facebook yng nghronfa godau ochr gweinydd Instagram.
Yn gyfan gwbl, nododd proses adolygu newid awtomataidd Pysa 330 o faterion, gyda 49 (15%) wedi'u graddio'n rhai mawr a 131 (40%) heb fod yn ddifrifol. Mewn 150 o achosion (45%) dosbarthwyd y problemau fel rhai positif ffug.

Ffynhonnell: opennet.ru

Ychwanegu sylw