Open|Facebook 开源 Instagram 安全工具 Pysa

Facebook 宣布开源静态分析工具 Pysa 。这是 Instagram 上用于检测和修复应用程序庞大 Python 代码库中错误的一个内部工具 , 可以自动识别 Facebook 工程师编写的易受攻击的代码段 , 然后再将其集成到社交网络的系统中 。

其工作原理是在代码运行/编译之前 , 以静态的形式扫描代码、查找潜在已知的错误模式、然后帮助开发者标注出潜在的问题 。Facebook 声称 , Pysa 现已通过持续改进达到了成熟;在 2020 上半年 , 该工具在 Instagram 服务器端的 Python 代码中检测到了 44% 的安全漏洞 。
Open|Facebook 开源 Instagram 安全工具 Pysa
文章图片

Pysa 是 Python Static Analyzer 的首字母缩写 , 其基于 Pyre 项目的开源代码构建 , 可以对 Python 应用程序中的数据流进行分析 。此外 , Pysa 还可以检测常见的 Web 应用安全问题 , 例如 XSS 和 SQL 注入 。
Pysa 的开发汲取了 Zoncolan 的经验 , 其使用了与 Zoncolan 相同的算法执行静态分析 , 甚至与 Zoncolan 共享了一些代码 。像 Zoncolan 一样 , Pysa 可追踪程序中的数据流 。Zoncolan 是 Facebook 于 2019 年 8 月发布的用于 Hack 的静态分析器 , 主要面向类似于 PHP 的编程语言 。
Pysa 和 Zoncolan 都可对输入代码库的数据“源”和“接收器”进行查找 , 且都可以跟踪数据在代码库中的移动方式 , 并找到危险的“接收器”部分 , 例如可以执行代码或检索敏感用户数据的函数 。当在输入源和危险的接收器之间发现连接时 , Pysa(和 Zoncolan)就会向开发者发出警示 , 以便其展开相应的调查 。
Open|Facebook 开源 Instagram 安全工具 Pysa
文章图片

【Open|Facebook 开源 Instagram 安全工具 Pysa】此外 , Pysa 也是为提高速度而构建的 , 它能够在 30 分钟到几小时内处理数百万行代码 。Pysa 的另一个特性则是具有可扩展性 , Facebook 安全工程师Graham Bleaney 称 , “因为我们自己的产品使用了开源的 Python 服务器框架 , 比如 Django 和 Tornado , 所以 Pysa 可以从第一次运行就开始发现使用这些框架的项目的安全问题 。而将 Pysa 用于我们尚未涉及的框架 , 一般来说只需添加几行配置 , 告诉 Pysa 数据进入服务器的位置即可 。”


    推荐阅读