Facebook ti ṣafihan itupalẹ aimi orisun orisun ti a pe ni «Pysa»(Python Static Analyzer) eyiti o jẹ ti a ṣe apẹrẹ lati ṣe idanimọ awọn ailagbara ti o pọju ninu koodu Python.
pya pese onínọmbà ṣiṣan data bi abajade ti ipaniyan koodu, eyiti gba ọ laaye lati ṣe idanimọ ọpọlọpọ awọn ailagbara ati awọn iṣoro ti o lagbara ti aṣiri ti o ni ibatan si lilo data ni awọn aaye ibiti ko yẹ ki o han.
Fun apẹẹrẹ, Pysa le tọpinpin lilo data ita aise ninu awọn ipe ti o ṣe awọn eto ita, ni awọn iṣẹ faili, ati ni awọn itumọ SQL.
Loni, a pin awọn alaye nipa Pysa, orisun ṣiṣi orisun ohun elo onínọmbà ti a ti kọ lati wa ati yago fun awọn ọran aabo ati aṣiri ni koodu Python. Ni ọdun to kọja, a pin bi a ṣe ṣẹda Zoncolan, ohun elo onínọmbà aimi ti o ṣe iranlọwọ fun wa itupalẹ diẹ sii ju awọn ila ila 100 ti koodu gige ati ti ṣe iranlọwọ fun awọn onise-ẹrọ ṣe idiwọ ẹgbẹẹgbẹrun awọn iṣoro aabo to lagbara. Aṣeyọri yẹn ṣe atilẹyin fun wa lati dagbasoke Pysa, eyiti o jẹ adape fun Itupalẹ Aimi Python.
Pysa nlo awọn alugoridimu kanna lati ṣe onínọmbà aimi ati paapaa pin koodu pẹlu zoncolan. Bii Zoncolan, Pysa tọpasẹ awọn ṣiṣan data nipasẹ eto kan.
Olumulo n ṣalaye awọn orisun (awọn aaye nibiti data pataki ti bẹrẹ) bakanna bi awọn iwẹ (awọn ibiti ibiti orisun orisun ko yẹ ki o pari).
Fun awọn ohun elo aabo, awọn oriṣi ti o wọpọ julọ ti awọn orisun ni awọn aye nibiti data ti iṣakoso olumulo ti nwọle si ohun elo, gẹgẹbi iwe-itumọ Django.
Awọn olugba maa n jẹ oniruru pupọ diẹ sii, ṣugbọn o le pẹlu awọn API ti n ṣiṣẹ koodu, bii eval
, tabi awọn API ti o wọle si eto faili, biios.open
.
Pysa ṣe awọn iyipo iyipo ti onínọmbà lati kọ awọn afoyemọ lati pinnu iru awọn iṣẹ ti o da data pada lati orisun kan ati awọn iṣẹ wo ni awọn aye-aye ti o kọlu iwẹ kan nikẹhin. Ti Pysa ba rii pe orisun kan ni asopọ nikẹhin si rii, o ṣe ijabọ iṣoro kan.
Iṣẹ Itupalẹ o ṣan silẹ lati ṣe idanimọ awọn orisun data ti nwọle ati awọn ipe ti o lewu, ninu eyiti ko yẹ ki o lo data atilẹba.
Pysa n ṣakiyesi aye data nipasẹ pq ti awọn ipe iṣẹ ati ṣepọ data atilẹba pẹlu awọn aaye eewu ti o le ninu koodu.
Nitori a lo awọn ipilẹ olupin Python orisun bi Django ati Tornado fun awọn ọja ti ara wa, Pysa le bẹrẹ lati ba awọn ọrọ aabo ni awọn iṣẹ akanṣe ti o lo awọn ilana wọnyi lati ṣiṣe akọkọ. Lilo Pysa fun awọn fireemu a ko ni agbegbe fun sibẹsibẹ o rọrun bi fifikun awọn ila iṣeto diẹ lati sọ fun Pysa ibiti data n bọ sinu olupin naa.
Ipalara ti o wọpọ ti a mọ nipasẹ Pysa jẹ ọrọ ṣiṣii ṣiṣi silẹ (CVE-2019-19775) ninu pẹpẹ fifiranṣẹ Zulip, ti o ṣẹlẹ nipasẹ gbigbe awọn eeyan ita ti ko mọ nigbati o ṣe afihan awọn eekanna-kekere.
Awọn agbara ipasẹ ṣiṣan ṣiṣan data Pysa le ṣee lo lati fidiṣẹ lilo awọn afikun awọn fireemu ati lati pinnu ibamu pẹlu awọn ilana lilo data olumulo.
Fun apẹẹrẹ, Pysa laisi awọn atunto afikun ni a le lo lati jẹrisi awọn iṣẹ akanṣe nipa lilo awọn ilana Django ati efufu nla. Pysa tun le ṣe idanimọ awọn ailagbara ti o wọpọ ni awọn ohun elo wẹẹbu, gẹgẹ bi rirọpo SQL ati iwe afọwọkọ agbelebu (XSS).
Lori Facebook, oluyanju naa lo lati jẹrisi koodu ti iṣẹ Instagram. Lakoko mẹẹdogun akọkọ ti 2020, Pysa ṣe iranlọwọ idanimọ 44% ti gbogbo awọn iṣoro ti a rii nipasẹ awọn ẹlẹrọ Facebook ni ipilẹ koodu olupin ẹgbẹ ti Instagram.
Lapapọ awọn iṣoro 330 ni a damọ ninu ilana naa ti ijẹrisi iyipada adaṣe nipa lilo Pysa, 49 (15%) eyiti a ṣe iṣiro bi pataki ati 131 (40%) ko lewu. Ni awọn iṣẹlẹ 150 (45%) awọn iṣoro ni a sọ si awọn igbekele eke.
A ṣe apẹrẹ parser tuntun bi afikun si ohun elo irinṣẹ ijẹrisi iru Pyre ati pe a gbe sinu ibi ipamọ rẹ. Koodu ti wa ni idasilẹ labẹ iwe-aṣẹ MIT.
Níkẹyìn ti o ba fẹ lati mọ diẹ sii nipa rẹ, o le ṣayẹwo awọn alaye ni ipolowo atilẹba. Ọna asopọ jẹ eyi.
Jẹ akọkọ lati sọ ọrọ