apache / apache/arrow

[C++][Python] Potential improvements around supply chain security

Open
#44,688 7 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: Python Status: needs champion Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

For now this is more of a wishlist/discussion issue, but could grow into a more precise meta-task if we want to move forward.

There have been growing concerns over the years over the fragility of software supply chains, particularly when open source software is concerned. Some standards and practices have been proposed to help prevent such attacks:
* [SLSA](https://slsa.dev/spec/v1.0/) (apparently pronounced "salsa") is, AFAIU, a specification that help projects evaluate and improve their build and test practices
* Software bills of materials (SBOM) are a type of artifact that precisely describe the provenance of code shipped within a package (related link: announcement of a ["SBOM for Python packages" project](https://discuss.python.org/t/sboms-for-python-packages-project/70261); also: [Accelerating SBOM success with the help of SLSA](https://slsa.dev/blog/2022/05/slsa-sbom))
* [OpenSSF scorecards](https://securityscorecards.dev/) provide a standard vocabulary to evaluate a software projects' security practices
* [Reproducible builds](https://reproducible-builds.org/) help ensure that binary artifacts have not been compromised, by allowing independent verification of build outputs

Arrow C++ in particular has a non-trivial set of dependencies that are incorporated in the build process in various ways. For example, for Python wheels we use vcpkg on a specific changeset, potentially with home-grown patches. This of course applies to other bindings of Arrow C++ where we may produce binary packages (such as R).

We should evaluate whether any of these could help us improve our intrinsic quality, or would merely amount to additional bureaucracy (related link: [concerns by a prominent member of the Python packaging community](https://discuss.python.org/t/sboms-for-python-packages-project/70261/8)).

Note: if desirable, this could, and should, typically be funded by interested companies.

### Component(s)

C++, Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.