Skip to content

Generic interface for associating package releases with vulnerabilities #9407

Open
@oliverchang

Description

@oliverchang

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestmalware-detectionIssues related to automated malware detection.securitySecurity-related issues and pull requests

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions