Brett Cannon: PyPI에서 재현 가능한 빌드를 갖추기 위해 무엇이 빠졌는가
저자는 파이썬 패키징에서 재현 가능한 빌드를 위한 정의된 방법론의 부재를 강조합니다. 재현 가능한 빌드는 공급망 보안에 매우 중요하며, 제3자가 배포 콘텐츠가 소스 코드와 일치하는지 확인할 수 있도록 합니다. 이 과정은 빌드 중 변조를 감지하고 손상된 도구의 사용을 식별할 수 있습니다. 순수 파이썬 휠조차도 빌드 백엔드가 손상되면 취약합니다.재현 가능한 빌드를 달성하기 위해서는 소스 코드 위치와 빌드 프로세스에 사용된 소프트웨어라는 두 가지 핵심 정보가 필요합니다. 현재 소스 코드 위치는 sdists나 휠에 명시적으로 기록되지 않지만, 설치 프로그램이 때때로 이를 기록합니다. 배포 메타데이터에 소스 위치 정보를 포함하는 메커니즘이 제안됩니다.빌드 소프트웨어를 기록하기 위해 휠은 소프트웨어 자재 명세서(SBOM)를 활용할 수 있지만, sdists는 유사한 구조화된 형식이 없어 새로운 sdist 버전이 필요할 수 있습니다. 저자는 빌드 백엔드가 실행 환경을 기록할 수 있으며, pip 유지보수자가 배포 생산자에게 부담을 주지 않고 이 정보를 기록하는 데 도움을 줄 수 있다고 제안합니다.재현 가능성을 가시화하고 이점을 제공하기 위해, 신뢰할 수 있는 검증자가 독립적으로 배포를 재현하고 PyPI에 성공을 보고하는 아이디어가 제안됩니다. 이를 통해 사용자는 검증된 배포를 식별하고 더 안전한 공급망의 이점을 누릴 수 있습니다. 이 기능은 사용자를 낙담시키지 않도록 의무 요구 사항이 아닌 선택적 혜택으로 제시되어야 합니다.