GitHub宣布了Python安全警告,使Python用户可以访问依赖图,并在他们的库所依赖的包存在安全漏洞时收到警告。
安全警告首次发布是在2017年10月,为了跟踪Ruby和JavaScript程序包中的安全漏洞。据GitHub介绍,从那时起,数以百万计的漏洞被发现,推动了许多补丁的发布。
GitHub会根据MITRE的公共漏洞列表(CVE)来跟踪Ruby gems、NPM和Python程序包中的公共安全漏洞。CVE是一个条目列表;每个条目都包含一个标识号、一段描述以及至少一项公共参考。这非常有助于促使管理员快速响应、通过移除易受攻击的依赖或迁移到安全版本来修复漏洞。
当GitHub收到新发布的漏洞通知,它就会扫描公共库(已经选择加入的私有库也会被扫描)。当发现漏洞时,就会向受影响的库的所有者和有管理员权限的用户发送安全警告。在默认情况下,用户每周都会收到一封邮件,其中包含多达10个库的安全警告。用户也可以自己选择通过电子邮件、每日摘要电子邮件、Web通知或GitHub用户界面来接收安全警告。用户可以在通知设置页面调整通知频率。
在某些情况下,对于发现的每个漏洞,GitHub会尝试使用机器学习提供修复建议。针对易受攻击的依赖的安全警告包含一个安全级别和一个指向项目受影响文件的链接,如果有的话,它还会提供CVE记录的链接和修复建议。通用漏洞评分系统(CVSS)定义了四种可能的等级,分别是低、中、高和严重。
据GitHub介绍,开始的时候,安全警告只会涵盖最新的漏洞,并在接下来的数周内添加更多Python历史漏洞。此外,GitHub永远不会公开披露任何库中发现的漏洞。
依赖图列出了项目的所有依赖,用户可以从中看出安全警告影响的项目。要查看依赖图,在项目中点击Insights,然后点击Dependency graph。
要在Python项目中使用依赖图,需要在requirements.txt或pipfile.lock文件中定义项目依赖。GitHub强烈建议用户在requirements.txt文件中定义依赖。