Documentos de lista de materiais de software (SBOM) seriam usados ​​em pacotes Python como um meio de melhorar sua “mensurabilidade” e para resolver o problema de “dependências fantasmas” em pacotes Python, sob uma Proposta de Melhoria Python (PEP) agora sendo lançada em python.org.

Ao explicar a motivação por trás da proposta, criada em 2 de janeiro, os autores afirmam que os pacotes Python são particularmente afetados por um problema de dependência fantasma, o que significa que muitas vezes incluem componentes de software não escritos em Python por razões como compatibilidade com padrões, facilidade de instalação ou casos de uso como aprendizado de máquina que usam bibliotecas compiladas de C, C++, Rust, Fortran e outras linguagens. A proposta observa que o formato roda Python é preferido pelos usuários devido à sua facilidade de instalação, mas esse formato requer o agrupamento de bibliotecas compiladas compartilhadas sem um método para codificar metadados sobre elas. Além disso, os pacotes relacionados ao empacotamento do Python às vezes precisam resolver o problema de inicialização, portanto, inclua projetos Python puros dentro do código-fonte, mas esses componentes de software também não podem ser descritos usando metadados do pacote Python e, portanto, provavelmente serão perdidos pelas ferramentas SCA, o que pode significar componentes de software vulneráveis ​​não são relatados com precisão. A inclusão de um documento SBOM anotando todas as bibliotecas incluídas permitiria que as ferramentas SCA identificassem de forma confiável o software incluído.

Como o SBOM é um método independente de tecnologia e ecossistema para descrever a composição, procedência, herança de software e muito mais, e como os SBOMs são usados ​​como insumos para ferramentas de análise de composição de software (SCA), como scanners de vulnerabilidades e licenças, os SBOMs poderiam ser usado para melhorar a mensurabilidade dos pacotes Python, afirma a proposta. Além disso, os SBOMs são exigidos por regulamentações de segurança recentes, como o Secure Software Development Framework (SSDF). Devido a essas regulamentações, espera-se que a demanda por documentos SBOM de projetos de código aberto permaneça alta, afirma a proposta. Assim, o PEP propõe o uso de documentos SBOM em pacotes Python. A proposta delega metadados específicos do SBOM para documentos SBOM incluídos em pacotes Python e adiciona um campo central de metadados para descoberta de documentos SBOM incluídos.