-
Notifications
You must be signed in to change notification settings - Fork 464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GSoC 2020 Project Idea: Add new checkers to the CVE Binary Tool #266
Comments
Hi, I am interested to work on this @terriko Can I take this as my GSoC 2020 project? |
@SinghHrmn The way gsoc works is that we give you some ideas, like this one, then you submit a project proposal through Google's system. We choose students once we've seen all the proposals submitted through Google. So yes, you're most defeinitely welcome and encouraged to use this as the basis for your proposal, but so is everyone else up until the point where the submission system closes. |
@terriko Is there a possibility that this project is not selected for gsoc this year in a situation where proposals with other ideas are submitted? |
@k-udupa2000 All of GSoC decision making is based on the distribution of our best applicants. If one of our best applicants wants to do this project, it'll get selected. |
In more detail: What happens behind the scenes is that after applications close, we read all of the submissions and decide how many slots to request based on which proposals and students we want to work with. Since we're a sub-org of Python, our numbers get compiled together with numbers from other sub-orgs, and then Google gives Python a number to distrubute as the Python org admins see fit. Basically what I'm trying to say is that slots aren't really tied to projects, they're tied to students. If we get an amazing student who wants to do this project, we'll almost certainly get a slot and it'll happen. If we get a good but not outstanding student, we might get a slot (or it might go to an amazing student in another sub-org). If we get no viable students, then the project doesn't happen. This is true of basically any project in GSoC -- the projects only happen if there's a student people want to work with. If we get two amazing students for a single project, sometimes we can split it up into multiple projects and sometimes we can only take one. Incidentally: "amazing" doesn't mean technical ability alone. There have definitely been cases across GSoC where a project wasn't filled because the top student was technically adept enough but so unpleasant to work with that none of the mentors was willing to commit time to work with him. And vice versa, there have been cases where the "amazing" student still had plenty to learn but were such a good community member that the mentors argued that they'd be happy to spend extra time with them. |
@terriko That was a excellent explanation. It really helped me to get a overall picture about the selection process. I was really struggling to get started. |
@terriko, could you like give an idea as to how many checkers have to be added as part of the project? |
We're done with gsoc 2020 and we have a lot of new checkers thanks to @SaurabhK122 now. There's always room for more, but I'm going to close this project idea as complete for 2020. |
The CVE Binary tool team is hoping to participate in Google Summer of Code (GSoC) under the Python Software Foundation umbrella. You can read all about what this means at http://python-gsoc.org/. This issue, and any others tagged 'gsoc' are not generally available bugs, but related to project ideas for GSoC.
Project Idea : Add new checkers to the CVE Binary Tool
Project description: The CVE Binary Tool, at launch, only had checkers for 10 different open source libraries. But if you look through our issues (search for new checkers) you can see that there are lots of others we'd like to have. For this project, you'll implement as many of those as you can, including producing tests. (This was also a project idea last year but there are always new checkers!)
(Don't worry that we're going to run out of checkers -- if we exhaust the current list, we can definitely find more to add.)
Skills: Python, git, experience reading source code for other languages a bonus
Difficulty level: Easy
Related Readings/Links: How to add new checkers
Potential mentors: @terriko @pdxjohnny
Getting Started: Python requires that all students submit a code sample as part of your application. For your first pull request, we recommend you write a new test case for an existing checker. The easiest one to do as a first pull request is a scanner test for a new version of a library we can already detect, but there are there are two types of easy tests you might want to try: CVE mapping test and CVE file test. Note: the way we add tests has changed recently, so please make sure to read the instructions!
Here's the instructions for the easier mapping test:
test/
@pytest.mark.parametrize
decorator of test_binaries test::cve-bin-tool/checkers/
test/binaries/
Extra credit: Got your test working and want to try something more? You can also try adding a checker before the project starts. See the related readings above for instructions.
The text was updated successfully, but these errors were encountered: