فیس بوک Pysa را معرفی کرد، یک تحلیلگر استاتیک برای زبان پایتون

فیس بوک معرفی شده آنالایزر استاتیک باز پیسا (Python Static Analyzer)، طراحی شده برای شناسایی آسیب پذیری های احتمالی در کد پایتون. آنالایزر جدید به عنوان یک افزودنی به جعبه ابزار بررسی نوع طراحی شده است توده هیزم مخصوص اتش زدن جسد مرده و در مخزن خود قرار داده است. کد منتشر شد تحت مجوز MIT

Pysa تجزیه و تحلیل جریان های داده را در نتیجه اجرای کد ارائه می دهد که به شما امکان می دهد بسیاری از آسیب پذیری های احتمالی و مسائل مربوط به حریم خصوصی مرتبط با استفاده از داده ها را در مکان هایی که نباید ظاهر شوند شناسایی کنید.
برای مثال، Pysa می‌تواند استفاده از داده‌های خارجی خام را در تماس‌هایی که برنامه‌های خارجی راه‌اندازی می‌کنند، در عملیات فایل‌ها و در ساختارهای SQL ردیابی کند.

کار آنالیزگر به شناسایی منابع داده و تماس های خطرناکی می رسد که در آن داده های اصلی نباید استفاده شود. داده های درخواست های وب (به عنوان مثال، فرهنگ لغت HttpRequest.GET در جنگو) به عنوان یک منبع در نظر گرفته می شوند و تماس هایی مانند eval و os.open به عنوان استفاده های خطرناک در نظر گرفته می شوند. Pysa جریان داده ها را از طریق زنجیره فراخوانی تابع ردیابی می کند و داده های منبع را با مکان های بالقوه خطرناک در کد مرتبط می کند. یک آسیب پذیری معمولی شناسایی شده با استفاده از Pysa به یک مشکل تغییر مسیر باز اشاره می کند (CVE-2019-19775) در پلت فرم پیام رسان Zulip، ناشی از عبور پارامترهای خارجی تمیز نشده هنگام رندر کردن تصاویر کوچک است.

قابلیت ردیابی جریان داده Pysa می تواند درخواست دادن برای تأیید استفاده صحیح از چارچوب های اضافی و تعیین انطباق با خط مشی استفاده از داده های کاربر. به عنوان مثال، Pysa بدون تنظیمات اضافی می تواند برای بررسی پروژه ها با استفاده از چارچوب های جنگو و تورنادو استفاده شود. Pysa همچنین می تواند آسیب پذیری های رایج در برنامه های کاربردی وب مانند تزریق SQL و اسکریپت بین سایتی (XSS) را شناسایی کند.

در فیس بوک، از تحلیلگر برای بررسی کد سرویس اینستاگرام استفاده می شود. در سه ماهه اول سال 2020، Pysa به شناسایی 44 درصد از تمام مشکلاتی که مهندسان فیس بوک در پایگاه کد سمت سرور اینستاگرام پیدا کردند، کمک کرد.
در مجموع، فرآیند بررسی خودکار تغییرات Pysa 330 مشکل را شناسایی کرد که 49 مورد (15٪) به عنوان عمده و 131 (40٪) به عنوان غیر شدید رتبه بندی شدند. در 150 مورد (45%) مشکلات به عنوان مثبت کاذب طبقه بندی شدند.

منبع: opennet.ru

اضافه کردن نظر