intel / cve-bin-tool

The CVE Binary Tool helps you determine if your system includes known vulnerabilities. You can scan binaries for over 200 common, vulnerable components (openssl, libpng, libxml2, expat and others), or if you know the components used, you can get a list of known vulnerabilities associated with an SBOM or a list of components and versions.
https://cve-bin-tool.readthedocs.io/en/latest/
GNU General Public License v3.0
1.25k stars 466 forks source link

GSoC 2023: Start Here #2230

Closed terriko closed 1 year ago

terriko commented 2 years ago

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.
    1. 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:

Project ideas:

  1. https://github.com/intel/cve-bin-tool/issues/2619
  2. 2633

  3. https://github.com/intel/cve-bin-tool/issues/2639
  4. https://github.com/intel/cve-bin-tool/issues/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.
vivekatleap commented 2 years ago

I was going through open source repos to find a repo where I could contribute. Came across this repo on goodfirstissue.dev

This is the most extensively documented repo that I have come across as of now. Repos which are clearly documented help by reducing the "being overwhelmed" feeling that every newbie has. Kudos to you @terriko your replies on issues shows how welcoming and warm the open source community is. Keep up the good work!

Will surely try to contribute towards the repo and send some newbies here! :))

alexanderritik commented 1 year ago

It's look nice project to start I am starting my path a open source developer . I hope I will make valuable contribution as open source developer.

rootxrishabh commented 1 year ago

Hey @terriko the link to new contributor guide in the guide above is not working.

metabiswadeep commented 1 year ago

You can view the contributor guide by clicking here

terriko commented 1 year ago

Thanks @rootxrishabh and @metabiswadeep -- I'd forgotten that we changed to match the expectations of github so the doc link would have changed since last year! It's fixed in the main post now.

m4ckk commented 1 year ago

GSOC 2023 Project Idea: Add support for looking up on Snyk since a plethora of dependency introduced vulnerabilities are tracked in Snyk with appropriate CVE rating and additional parameters.

terriko commented 1 year ago

@m4ckk Does Snyk have a license for their data that would allow this usage? I'd be sort of surprised if this was allowed since their improved data is part of the value they bring to encourage people to pay them and buy enterprise license.

terriko commented 1 year ago

Some notes for folk who weren't in yesterday's meeting:

GSoC mentors: if you're up for doing proposal review this week and next, please post here so people know your usernames and can ping you.

XDRAGON2002 commented 1 year ago

For anyone wanting to get a review regarding their GSoC proposals, feel free to ping me up, I go by the same name on Gitter as well.

rhythmrx9 commented 1 year ago

Same goes for me, If anyone wants a review, you can contact me on Gitter.

terriko commented 1 year ago

Closing this one and I'll open a new issue for GSoC 2024.