软件通常依赖于来自各种源的包,从而创建可能威胁项目安全性的依赖项关系。 例如,不良参与者可以使用恶意包来执行恶意软件攻击,从而访问代码、数据、用户和参与者。
为了帮助确保项目安全, Dependabot 可以检查依赖项是否存在已知的恶意包,然后使用建议的修正步骤创建警报。
当Dependabot发送malware alerts时
Dependabot 当存储库的默认分支中的包被标记为恶意时发送 malware alerts 。 zh-CN: 一旦新的咨询数据(每小时同步到您的实例)到达,并且包被标记,就会立即生成针对现有依赖项的警报。
当您推送提交以添加已知恶意包或将包更新到已知恶意版本时,也会生成警报。
注意
如果内部包的生态系统、名称和版本与恶意公共包的生态系统、名称和版本匹配, Dependabot 可能会生成误报警报。
预警内容
检测到恶意依赖项时,
- 指向受影响文件的链接
- 有关恶意包的详细信息,包括包名称、受影响的版本和修补的版本(如果可用)
- 修正步骤
Availability
目前, Dependabot malware alerts 可用于生态系统中的 npm 包。
警报通知
默认情况下, GitHub 向两者发送有关新警报的电子邮件通知:
- 对存储库具有写入、维护或管理员权限
- 正在监视存储库,并为安全警报或存储库上的所有活动启用通知
打开 GitHub.com时,可以通过选择要接收的通知类型来替代默认行为,或者在用户通知的设置页中完全关闭通知 https://github.com/settings/notifications。
如果担心收到过多通知,建议利用 Dependabot 自动分类规则 自动消除低风险警报。 请参阅“Dependabot 自动分类规则”。
局限性
Dependabot malware alerts 存在一些限制:
- 警报无法检测每个安全问题。 始终查看依赖项,并保持清单和锁定文件的最新状态,以便进行准确的检测。
- 新恶意软件可能需要一段时间才会出现在GitHub Advisory Database中,并触发警报。
- 只有经过GitHub审查的公告会触发警报。
- Dependabot 不会扫描存档的存储库。
- 对于 GitHub Actions,系统仅针对使用语义版本控制(而不是 SHA 版本控制)的操作生成警报。
GitHub 从不公开披露任何存储库的恶意依赖项。
后续步骤
若要开始保护项目免受恶意依赖项的侵害,请参阅 配置 Dependabot 恶意软件警报。