You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We do not use the --hash option for all of our pip requirements files. In the cases where we do, if the hashes change, we have no way of verifying that the hashes are correct.
For example, in admin/requirements.txt, the package crypt has 30 (!!!) possible hashes that are acceptable.
Ideally there would be exactly one hash for the package. Regardless, we have no way of checking that all 30 of these version are the real bcrypt.
In #3269, a new hash for pluggy appeared, and we also have no way of checking that this new hash isn't malware.
Note: When I say "no way", I mean no procedure. Though it might be technically infeasible because there may be more hashes than content on PyPI, so we may not be able to actually fetch every version for every hash.
I was under the impression that PyPI used TUF for package verification, so command line options should not have any effect on whether or not a package is verified or not. This needs additional investigation.
User Stories
As a security conscious dev, I want to know that the dependencies I'm pushing to SD instances are authentic.
The text was updated successfully, but these errors were encountered:
So...this is mostly solved through the diff review process where we document the sha256sum of the package we reviewed, which shows up in the requirements.txt file. The other hashes are ignored because we don't download any binaries at build time, as we build from source.
Assuming pip can't be tricked into using a binary when we said not to, then we're safe I think.
But this will be properly solved by reproducible wheels (#5901) as those will be wheels we fully trust, and only the sha256sum of those wheels will be in the build-requirements.txt.
Feature request
Description
Related to #3269.
We do not use the
--hash
option for all of ourpip
requirements files. In the cases where we do, if the hashes change, we have no way of verifying that the hashes are correct.For example, in
admin/requirements.txt
, the packagecrypt
has 30 (!!!) possible hashes that are acceptable.Ideally there would be exactly one hash for the package. Regardless, we have no way of checking that all 30 of these version are the real
bcrypt
.In #3269, a new hash for
pluggy
appeared, and we also have no way of checking that this new hash isn't malware.I was under the impression that PyPI used TUF for package verification, so command line options should not have any effect on whether or not a package is verified or not. This needs additional investigation.
User Stories
As a security conscious dev, I want to know that the dependencies I'm pushing to SD instances are authentic.
The text was updated successfully, but these errors were encountered: