Description
What's the problem this feature will solve?
PyPI currently does not associate any vulnerability information for projects hosted on it.
It would be a huge security benefit for users of PyPI if there was a way project releases can be associated with vulnerabilities.
Describe the solution you'd like
Implement an interface that can be called by vulnerability sources to POST vulnerability information for a package to PyPI. Requests can be signed in a similar way to how the existing GitHub token scanning integration does it.
The details provided would would be fairly minimal and just include:
- Package name.
- Package versions affected.
- Advisory ID.
- Link to advisory details.
This information can then be displayed in the PyPI UI and returned in the PyPI API. The pip install
command can also make use of this information to notify users of vulnerable packages they’re installing.
This will be built in a generic way that can support other vulnerability sources as well.
Additional context
Google (where I work) is working on an open source vulnerability database for open source packages. In particular we’re working on building a community owned vulnerability database for Python packages. This will be ready soon and we’d like to make this information more readily accessible.
We’d be able to contribute the necessary patches here for this web hook as well.