Python软件基金会自2023年以来设有专职安全开发者,在Open Source Security Foundation资助下,近日发布了一份11页的白皮书,聚焦开源软件“幽灵依赖”带来的安全隐患,并提出解决方案。所谓“幽灵依赖”,指的是那些未被打包元数据、清单或锁文件明确记录的间接依赖,致使漏洞扫描等工具无法识别这些风险点。
为此,Python安全开发者Seth Larson提出并推动了PEP 770,一项增强性提案,使项目可通过Software Bill-of-Materials(SBOMs)便捷生成依赖元数据。该方案兼容现有生态,绝大多数Python项目无需额外配置即可自动生成合规的SBOM文件,从而提升包的可追溯性。
据了解,Python生态因与C语言、Rust、Fortran等多语言高频互操作,以及轮子包(wheel)的分发方式,更容易出现幽灵依赖问题。本次PEP 770的SBOM目录设计,有效减轻了社区志愿者和维护者的负担。
白皮书还号召其他开源生态借鉴Python的SBOM实践,共同推进软件供应链安全。相关问题已逐步反馈给开源SBOM及漏洞扫描工具厂商,未来幽灵依赖的风险有望进一步降低。