-
|
Thanks for the summary, it's appreciated!
I understand, and communicating in discussions or issues will work for me.
Learning your motivation will be interesting :). My motivation to even take this on is to improve the correctness of the library, knowing that it will never be perfectly correct due to its sometimes hacky nature.
Please feel free to add yourself there and I shall try to approve such PR. Generally, since I won't fix security issues, it's best to have them in the open glaringly so the community steps up to fix it. While at it, I'd appreciate if you could add @EliahKagan to the CC list as well as he is definitely more competent in all of this, particularly in spotting security relevant issues.
Yes, please do. Putting it into a top-level fuzzing seems like a good idea, feel free to use any structure you like within it.
It's 60m per month? Oh my, last time I checked it was 30m and that was like a year ago! Thus, you will probably find the answer silly as there is no threat-model to speak of. Issues are raised, advisories are created, sometimes they are fixed, and that's already it. Generally, I don't think that GitPython ever has a chance to be correct enough not to be exploitable by merit of being written in Python and relying on command invocation a lot. Further, some code does read local files and it's definitely not en-par with similar code in Git, so could fall pray to all kinds of issues. But that's how it is, and I think the only real solution is to eventually get people to migrate to gitoxide, but that's quite long way out, both to become feature-complete, stable, and available from Python. So maybe the threat-model is: Don't use GitPython? Use gitoxide, and write everything in Rust 😅. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the summary, it's appreciated! Right back at you! communicating in discussions or issues will work for me. 👍 Learning your motivation will be interesting :). I can't promise "interesting" but if I'm able to provide enough context to dispel the possibility of unintentionally misrepresenting myself through unspoken assumptions, I'd consider that a success lol. Basically I just wanted to say: Beyond the obvious last point, that context is also relevant to how I ended up in this repo:
So when I came across OSS-Fuzz about two months ago, I figured working through the list of projects with broken builds would be a great way to make an impact in the OSS world and learn about fuzzing. So here I am 🙂 Please feel free to add yourself there and I shall try to approve such PR. Generally, since I won't fix security issues, it's best to have them in the open glaringly so the community steps up to fix it. Heard. We can figure out the specifics of how best to cross that bridge if and when we get to it. While at it, I'd appreciate if you could add @EliahKagan to the CC list as well as he is definitely more competent in all of this, particularly in spotting security relevant issues. Absolutely. @EliahKagan, is that ok with you and does the email address on your profile work? (The issue tracker requires a Gmail address/Google account added to the OSS-Fuzz project config to allow authentication.) Yes, please do. Putting it into a top-level fuzzing seems like a good idea, feel free to use any structure you like within it. Sounds good. A simple directory with a flat layout should be enough. Regarding the licensing of the existing files, maybe you can add to the 'licensing' section of the README that parts in fuzzing are under the apache-2 license, which shouldn't be relevant to any release that's made. It's probably worth validating that fuzzing doesn't get picked up by the publishing process though (which I expect it won't as it's include-list based). 👍 you will probably find the answer silly as there is no threat-model to speak of. [...] As far as identifying interesting fuzz targets is concerned, that sounds like a pretty solid foundation to me! So maybe the threat-model is: Don't use GitPython? Use gitoxide, and write everything in Rust 😅. |
Beta Was this translation helpful? Give feedback.
-
|
Initial migration PRs are ready for review: |
Beta Was this translation helpful? Give feedback.
-
|
Thanks again for all your support on this, @Byron, it's been quite fun! Now that we're (hopefully) close to the finish line with the migration I wanted to ask for your thoughts on the optional CIFuzz GitHub action. I see that gitoxide already has it so I'd imagine you're familiar with it to some degree. I think it could be a helpful addition to the PR checks, but I also recognize that it adds another moving part that may not be desired in this project. Do you have any interest in getting it set up? If you think it's worthwhile, I'm happy to get a PR up. |
Beta Was this translation helpful? Give feedback.
-
|
I'm going to close this discussion as resolved now that the fuzzers have been migrated and the build issues have been resolved. New discussions can be opened as needed if anything else comes up. Thanks for all the support on this! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
{{title}}
Uh oh!
There was an error while loading. Please reload this page.
-
Hey @Byron 👋
Continuing on from #1887 (comment):
A problem I see is that reproductions are usually hidden behind a login, so it requires extra work to make these available here so the community has a chance to fix them. However, I am open to give it a shot and see how it goes.
Considering the project's maintenance mode status and the issue backlog's community-driven nature, I can appreciate that. Those are important factors to consider when deciding what APIs are worth fuzzing; there's no sense in burying human user issues in a sea of weird fuzzer-generated edge cases. I'd like to get your perspective on that down the road.
I definitely welcome you to help with maintaining the fuzzer integration, and would appreciate if that would also entail the maintenance of the issues it finds such that all information for reproduction would be contained within them so it's not only maintainers who can fix them.
Sure thing. I'd be happy to help with all things fuzz-related, including OSS-Fuzz issue triage and surfacing the available information to reproduce bugs in the GH issue tracker when appropriate.
That said, in the interest of setting expectations:
Finally (for now), I have a few questions for you regarding next steps:
I'm happy to get started on that, but the one thing I'm unsure of is how to handle the licensing of those files. As you can see, they are licensed under Apache 2 and have header comments stating as much. I'm happy to raise the question to maintainers in the OSS-Fuzz repo, but if you don't mind the licence header (at least initially) an alternate approach would be to bring them over as is for now and just replace them with new, from scratch tests in a follow-up (my open PR got the existing tests running again but there is definitely improvements to be had so we could just replace them instead.)
Is there a specific directory layout in the repo you'd prefer to place them or does a toplevel fuzzing directory work?
Beta Was this translation helpful? Give feedback.