Skip to content

GSoC 2023: Start Here #2230

Closed
Closed
@terriko

Description

@terriko

CVE Binary Tool is hoping to participate in GSoC 2023 under the Python Software Foundation umbrella. We won't know if we've been accepted until Feburary 2023. You can view the GSoC 2023 dates and deadlines on Google's page This issue will be updated with more info as we know it.

About CVE Binary Tool

The CVE Binary Tool is a free, open source tool to help you find known vulnerabilities in software, using data from the National Vulnerability Database (NVD) list of Common Vulnerabilities and Exposures (CVEs).

The tool has two main modes of operation:

  1. A binary scanner which helps you determine which packages may have been included as part of a piece of software. There are around 170 checkers which focus on common, vulnerable open source components such as openssl, libpng, libxml2 and expat.
  2. Tools for scanning known component lists in various formats, including .csv, several linux distribution package lists, and several Software Bill of Materials (SBOM) formats.

It is intended to be used as part of your continuous integration system to enable regular vulnerability scanning and give you early warning of known issues in your supply chain. We expect the SBOM use case to become a lot more popular as people who work with the US government start needing to provide SBOMs as a matter of course, starting in 2023.

Dates:

  • Organizations apply usually circa February. We won't know for sure if we're in until after applications close. We'll be listed as part of "Python Software Foundation"

Project ideas:

  1. Introduce support for EPSS (GSOC 2023) #2619
  2. GSoC 2023 Project idea: Improved product representation & meta-info about products. #2633
  3. GSoC 2023 Project Idea: Integration of new formats into triage workflow #2639
  4. GSoC 2023 Idea: add github actions with "fancy" reporting #2756

Related:

Not all ideas will be viable because of the constraints of the program and the software, but all ideas are welcome for discussion even if we can't make them into gsoc projects.

Getting started:

It can be really overwhelming figuring out how to start in a new project, so here's some steps we recommend:

Getting Started:

  1. Follow the README and make sure you can run the tool. Try running it against random things on your hard drive and see if it finds anything. On a Linux system, your /bin directory usually yields some interesting results.
  2. Run the tests. The CVE Binary tool has a number of unit tests. Make sure you know how to run them, and if you've never used pytest before, you might want to read up on it (we also have some tests still using python's unittest, but we're tending towrads pytest for new tests). Figure out how to run a single test!
  3. Read the documentation. That should help you figure out what the tool is for and how people use it in more detail.
  4. Read the new contributor guide

Some potential first contributions:

  1. File issues. You might encounter a bug or something confusing in the documentation. Let us know if you do!
  2. Update documentation. We especially appreciate documentation feedback from new users, since your "beginner mind" means you see things differently than experienced users, and will catch places where the documentation could be more detailed or improved.
  3. Write a new test. Instructions for writing tests are here. This can be your first contribution!
  4. Try fixing a bug. We have a few flagged as "good first issue". A number of those are new checkers, which although they might sound challenging are often pretty easy to write. Instructions on how to add a new checker are here.

We expect prospective GSoC students to have made at least one code contribution if they want their application to be considered, so now's a good time to get that going! You can ask for as much help as you need.

Got stuck?

  1. Ask in the GSoC tagged issues! This "start here" issue is a good place for discussions.
  2. We have a chat server on gitter. That allows for "live" chat but no one's actually sitting there 24/7 so you should expect to post your question and get an answer hours later when someone sees it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gsocTasks related to our participation in Google Summer of Code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions