Facebook 开源 Instagram 安全工具 Pysa

共 1347字,需浏览 3分钟

 ·

2020-08-14 12:03

点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

作者 | 白开水不加糖

来源 | 公众号「开源中国」


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

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

Facebook 声称,Pysa 现已通过持续改进达到了成熟;在 2020 上半年,该工具在 Instagram 服务器端的 Python 代码中检测到了 44% 的安全漏洞。

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)就会向开发者发出警示,以便其展开相应的调查。

此外,Pysa 也是为提高速度而构建的,它能够在 30 分钟到几小时内处理数百万行代码。


Pysa 的另一个特性则是具有可扩展性,Facebook 安全工程师Graham Bleaney 称,“因为我们自己的产品使用了开源的 Python 服务器框架,比如 Django 和 Tornado,所以 Pysa 可以从第一次运行就开始发现使用这些框架的项目的安全问题。


而将 Pysa 用于我们尚未涉及的框架,一般来说只需添加几行配置,告诉 Pysa 数据进入服务器的位置即可。”


往期推荐

赠书:百万畅销书《重构》再版,听Martin Fowler聊聊新版的故事

ScheduledThreadPool中的Leader-Follow模式你知道不?

视频、图片一键卡通化的开源工具!

Spring Boot 中的 RestTemplate不好用?试试 Retrofit !

十年后,这款优秀的工具终于给出了不开源的原因


离职成为自由开发者的100天

我在星球与你分享经验、交流成长

? ? ? ?


星球两大分享内容

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报