内容提要
GitLab发布了Maven依赖代理功能,减少对外部源的依赖。计划在2024年下半年推出依赖防火墙,预防恶意软件包进入软件供应链。依赖防火墙可以检查、隔离和审核软件包,并报告使用情况。GitLab还计划支持更多功能。
延伸解读
依赖防火墙的定位与核心能力
GitLab计划在2024年下半年推出的依赖防火墙,旨在作为从互联网下载软件包时的第一道防线。其核心能力包括防止恶意包进入软件供应链、根据策略检查每个新包、在包可用前进行隔离审查、管理隔离包以及报告包使用情况。这些功能共同帮助组织应对供应链攻击,如拼写攻击和依赖混淆攻击。
策略执行方式:警告与阻止
依赖防火墙策略将支持警告和失败两种动作。组织可以创建策略,在满足特定条件时发出警告或隔离包。例如,可以设置策略阻止下载具有已知严重漏洞的包,或仅对严重性较低的漏洞发出警告。在最小可行变更中,警告可能仅限于日志文件,而失败规则需通过网络请求处理,因此必须快速且可扩展。
规则处理机制与未来扩展
仅警告的规则可以利用后台作业处理,从而支持更复杂的检查,如打开包归档获取元数据。而失败规则必须在网络请求中处理,受限于速度和可扩展性。未来计划支持更低严重性的漏洞警告、在包注册表UI中显示警告、隔离包规则、审查和更新隔离状态,以及在安全漏洞报告中添加警告。
Q&A
GitLab的Maven依赖代理功能有什么作用?
Maven依赖代理功能可以缓存来自上游仓库的软件包,减少对外部源的依赖。
什么是GitLab的依赖防火墙?
依赖防火墙是防止恶意软件包进入软件供应链的第一道防线,能够检查、隔离和审核软件包。
依赖防火墙的政策可以做什么?
依赖防火墙的政策可以警告或阻止下载不符合条件的软件包,特别是具有已知严重漏洞的软件包。
GitLab计划在什么时候推出依赖防火墙?
GitLab计划在2024年下半年推出依赖防火墙。
依赖防火墙如何处理软件包的审核?
依赖防火墙会检查每个新软件包是否符合GitLab政策,并在审核前将软件包隔离。
软件供应链攻击有哪些风险?
软件供应链攻击的风险包括拼写攻击和依赖混淆攻击,攻击者试图让开发者引入恶意软件包。