乐趣区

关于开源项目介绍:Facebook-开源-Instagram-安全工具-Pysa可用于大型代码库


技术编辑:徐九丨发自:思否编辑部

近日,Facebook 发表开源动态剖析工具 Pysa。这是 Instagram 上用于检测和修复应用程序宏大 Python 代码库中谬误的一个外部工具,能够自动识别 Facebook 工程师编写的易受攻击的代码段,而后再将其集成到社交网络的零碎中。

其工作原理是在代码运行 / 编译之前,以动态的模式扫描代码、查找潜在已知的错误模式、而后帮忙开发者标注出潜在的问题。

Facebook 示意该工具是外部开发,通过不断完善当初曾经成熟。Facebook 示意在 2020 年上半年,Pysa 在 Instagram 的服务器端 Python 代码中检测到了所有安全漏洞中的 44%。

Pysa 是什么?

Pysa 是 Python Static Analyzer 的首字母缩写,其基于 Pyre 我的项目的开源代码构建,能够对 Python 应用程序中的数据流进行剖析。此外,Pysa 还能够检测常见的 Web 利用平安问题,例如 XSS 和 SQL 注入。

其实 Pysa 的概念并不陈腐,该工具的开发也借鉴来 Zoncolan。Zoncolan 是 Facebook 于 2019 年 8 月公布的用于 Hack 的动态分析器,次要面向 PHP。

Pysa 和 Zoncolan 都在寻找“源”(输出代码库的数据)和“接收器”(数据完结)。两种工具都能够跟踪数据在代码库中的挪动形式,并找到危险的“接收器”,例如能够执行代码或检索敏感用户数据的函数。

此外,Pysa 也是为进步速度而构建的,它可能在 30 分钟到几小时内解决数百万行代码。Pysa 的另一个个性则是具备可扩展性,Facebook 平安工程师 Graham Bleaney 称,“因为咱们本人的产品应用了开源的 Python 服务器框架,比方 Django 和 Tornado,所以 Pysa 能够从第一次运行就开始发现应用这些框架的我的项目的平安问题。而将 Pysa 用于咱们尚未波及的框架,一般来说只需增加几行配置,通知 Pysa 数据进入服务器的地位即可。”

专为平安团队开发

该工具的背地是 Facebook 平安团队。该工具是围绕平安团队的需要而构建的。

只管大多数动态剖析工具都在寻找各种各样的谬误,但 Pysa 是专门为寻找与平安相干的问题而开发的。更具体地说,Pysa 跟踪“通过程序的数据流”。

数据如何通过程序代码流动十分重要。现在,大多数安全漏洞利用都利用了未经过滤或不受管制的数据流。例如,近程代码执行(RCE)是当今最重大的谬误类型之一。

专为速度和大型代码库而设计

对于这类工具,如果要花费数天工夫才可能扫描整个代码库,那么对于平安的防护能力就会大打折扣。

因而,Pysa 的构建过程中也思考来速度的因素,可能在 30 分钟到几小时之内遍历数百万行代码。这样,Pysa 能够近乎实时地发现错误,并使开发团队能够释怀地将该工具集成到其惯例工作流程和例程中,而不用放心应用它可能会提早其代码的公布或未达到严格的期限。

GitHub 地址:https://github.com/facebook/p…

退出移动版