Python代码静态分析是一个标准化工程必不可少的一个环节,工程在上线之前需要对代码规范、语法问题进行详细的检查,防止问题随着代码发布到生产环境,避免酿成更大的故障。
这一点,在很多大型公司是非常重视的。因此,Python方面的静态检查工具层出不穷,处理经常使用的pylint,还有除此知名公司的一些工具:
- Google的pytype
- Microsoft的pyright
- Facebook的Pyre
虽然这些静态检查工具出自不同公司,但是核心功能如出一辙。都是基于PEP规范,去检查Python代码中的语言风格,判断是否符合编程规范,是否满足Python语法的要求,而对于更深层次的安全问题却从未涉足。
而Facebook最新开源的Pysa则是一款专注于检测和预防Python代码中安全性问题的静态检查工具,本文就来介绍一下这款出自Facebook的Python静态检查工具。
Pysa
Pysa是一个专注于安全性的工具,它是在Facebook之前开源的静态检查工具Pyre的基础上进行开发的。
它主要用于检查代码中的数据流问题,这一点至关重要,因为,许多安全和隐私问题都可以归结为数据流入和流出过程中产生的。
Pysa使用了一些Facebook内部框架进行开发而成,这些框架主要基于隐私策略相关技术来防止用户数据的访问和泄露,这对于一家以社交为主的公司,可以说是非常擅长。
除此之外,Pysa还可以检查常见的web应用安全问题,例如,XSS和SQL注入。
Pys