เป€เบŸเบชเบšเบธเบเป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต Pysa, เป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ”เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ Python

เป€เบŸเบชเบšเบธเบ เปเบ™เบฐ เบ™เบณ เป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ” เบ›เบตเบŠเบฒ (Python Static Analyzer), เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบˆเบธเบ”เบญเปˆเบญเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปƒเบ™เบฅเบฐเบซเบฑเบ” Python. เป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเปƒเปเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เป€เบชเบตเบกเปƒเบชเปˆเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ” เบžเบตเป€เบฃ เปเบฅเบฐเบ›เบฐเบเบฒเบ”เป„เบงเป‰เปƒเบ™เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ‚เบญเบ‡เบฅเบฒเบง. เบฅเบฐเบซเบฑเบ” เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

Pysa เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบˆเบธเบ”เบญเปˆเบญเบ™เบ—เบตเปˆเบญเบฒเบ”เบกเบตเบซเบผเบฒเบเบขเปˆเบฒเบ‡เปเบฅเบฐเบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ•เบปเบงเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเบ„เบงเบ™เบ›เบฒเบเบปเบ”.
เบ•เบปเบงเบขเปˆเบฒเบ‡, Pysa เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเบ™เบญเบเบ”เบดเบšเปƒเบ™เบเบฒเบ™เป‚เบ—เบ—เบตเปˆเป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ„เบ‡เบเบฒเบ™เบžเบฒเบเบ™เบญเบ, เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป„เบŸเบฅเปŒ, เปเบฅเบฐเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ SQL.

เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐเบฅเบปเบ‡เบกเบฒเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบฒเบ™เป‚เบ—เบซเบฒเบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบšเปเปˆเบ„เบงเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบงเบฑเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡: เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก HttpRequest.GET เปƒเบ™ Django) เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡, เปเบฅเบฐเบเบฒเบ™เป‚เบ—เป€เบŠเบฑเปˆเบ™ eval เปเบฅเบฐ os.open เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบเบฒเบ™เปƒเบŠเป‰เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ. Pysa เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบœเปˆเบฒเบ™เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบซเบผเปˆเบ‡เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบญเบฑเบ™เบ•เบฐเบฅเบฒเบเปƒเบ™เบฅเบฐเบซเบฑเบ”. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเปƒเบŠเป‰ Pysa เปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบ›เบตเบ” (CVE-2019-19775) เปƒเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก Zulip, เป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบšเปเปˆเบชเบฐเบญเบฒเบ”เป€เบกเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบฎเบนเบšเบซเบเปเป‰.

เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡ Pysa เบชเบฒเบกเบฒเบ” เบ™เปเบฒเปƒเบŠเป‰ เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบญเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ™เบฐเป‚เบเบšเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบœเบนเป‰เปƒเบŠเป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, Pysa เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ Django เปเบฅเบฐ Tornado frameworks. Pysa เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบปเปˆเบงเป„เบ›เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบงเบฑเบš เป€เบŠเบฑเปˆเบ™: SQL injection เปเบฅเบฐ cross-site scripting (XSS).

เปƒเบ™เป€เบŸเบชเบšเบธเบ, เป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™ Instagram. เปƒเบ™เป„เบ•เบกเบฒเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ›เบต 2020, Pysa เบŠเปˆเบงเบเบเปเบฒเบ™เบปเบ” 44% เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบงเบดเบชเบฐเบงเบฐเบเบญเบ™ Facebook เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™ codebase เบ‚เป‰เบฒเบ‡เป€เบŠเบตเบŸเป€เบงเบตเบ‚เบญเบ‡ Instagram.
เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡ Pysa เป„เบ”เป‰เบเปเบฒเบ™เบปเบ” 330 เบšเบฑเบ™เบซเบฒ, เปƒเบ™เบ™เบฑเป‰เบ™ 49 (15%) เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐ 131 (40%) เปเบกเปˆเบ™เบšเปเปˆเบฎเบธเบ™เปเบฎเบ‡. เปƒเบ™ 150 เบเปเบฅเบฐเบ™เบต (45%), เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบ›เบฐเป€เบžเบ”เป€เบ›เบฑเบ™เบœเบปเบ™เบšเบงเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™