Facebook представил Pysa, статический анализатор для языка Python

Нoвый aнaлизaтoр oфoрмлeн в видe нaдстрoйки нaд инструмeнтaриeм угоду кому) прoвeрки типoв Pyre и рaзмeщён в eгo рeпoзитoрии. Кoд опубликован по-под лицензией MIT. Pysa обеспечивает анализ потоков данных в результате выполнения заключение, что позволяет выявлять многие потенциальные уязвимости и проблемы с конфиденциальностью, связанные с использованием данных в тех местах, идеже они не должны фигурировать. (пред)положим, Pysa может отследить использование неочищенных внешних данных в вызовах, приводящих к запуску внешних программ, в файловых операциях и в конструкциях SQL. Занятие анализатора сводится к определению источников заработок данных и опасных вызовов, в которых исходные условия не должны применяться. В качестве источника рассматриваются показатели из web-запросов (например, словарь HttpRequest.GET в Django), а в качестве опасных применений вызовы в виде eval и os.open. В качестве типовой уязвимости, выявленной быть помощи Pysa, упоминается проблема с открытым редиректом (CVE-2019-19775) в платформе обмена сообщениями Zulip, вызванная передачей неочищенных внешних параметров около выводе миниатюр. Возможности Pysa вдоль отслеживанию потоков данных могут употребляться для проверки корректности использования дополнительных фреймворков и чтобы определения соответствия политики использования данных пользователя. Примерно сказать, Pysa без дополнительных настроек может использоваться для проверки проектов, использующих фреймворки Django и Tornado. Pysa да может выявлять типовые уязвимости в web-приложениях, такие равно как подстановка SQL-кода и межсайтовый скриптинг (XSS). В Facebook анализатор применяется во (избежание проверки кода сервиса Instagram. Вслед за первый квартал 2020 года Pysa помог выставить напоказ 44% из всех проблем, найденных инженерами Facebook в серверной кодовой базе Instagram. Просто-напросто в процессе автоматизированной проверки изменений около помощи Pysa было выявлено 330 проблем, 49 (15%) изо которых были оценены как значительные, а 131 (40%) неопасные. В 150 случаях (45%) проблемы были отнесены к ложным срабатываниям. Генератор: http://www.opennet.ru/opennews/art.shtml?num=53516