Open davidben opened 6 months ago
Hey @davidben
Could you describe what your current user journey looks like, and what an appropriately lightweight one could look like?
What happened here was:
As for what would be better, basically every step in this process went wrong.
Apparently one needs to manually make YAML timestamps and also manually fill in the last modified time
Timestamps alone make this process quite off-putting: https://github.com/google/osv.dev/issues/857#issuecomment-1354503866. I'm still not sure how to get them right :-)
Brilliant, thanks for all this detail, it's very helpful.
4. When OSV gets it wrong
So based on https://github.com/google/oss-fuzz-vulns/pull/37 being how to correct things, I think it's fair to say that this should read "When OSS-Fuzz gets it wrong"?
Based on your fourth point above, a wee bit of tooling to aid with manipulating that YAML sounds like it would go a long way to addressing the "lightweight" part of things, plus a modicum of documentation?
I would imagine some sort of GitHub Action could allow PRs from users identifiable as affiliated with the project the PR is the subject of to be automatically merged, thus removing the human component...
So, at a high level, perhaps:
I'm still on the fence about whether this issue belongs in the OSV.dev repo or the OSS-Fuzz repo...
When OSS-Fuzz gets it wrong
I wouldn't say OSS-Fuzz gets it wrong. It works as expected in the sense that it reports issues fuzz targets hit (regardless of whether they have anything to do with security or not). I think the wrong part here is that everything gets automatically imported into the OSV database with no vetting.
better documentation better signposting to that documentation from the OSS-Fuzz issues
That would have certainly helped in https://github.com/google/oss-fuzz/issues/7434.
I would imagine some sort of GitHub Action could allow PRs from users identifiable as affiliated with the project the PR is the subject of to be automatically merged, thus removing the human component
It should help but I'm not sure it can be (fully) automated. For example in https://github.com/google/oss-fuzz/pull/11883 the OSS-Fuzz bot (which tries to do that) didn't recognize the maintainers. Other than that some maintainers aren't on GitHub so they can't open PRs. Some maintainers don't have access to Monorail because they don't have gmail accounts and bug reports just get sent to their mailing lists.
I have to admit I don't know how to fix that. It seems to me that one option would be turn off this import by default and let projects opt-in. If they decide to do that it should probably be safe to assume that they read the documentation, know what OSV is and are ready to vet bug reports. Another option would be to separate the OSS-Fuzz feed from OSV where it wouldn't be automatically implied that they are vulnerabilities.
Given that OSV reports from OSS-Fuzz are currently false-positive-laden (see https://github.com/google/osv.dev/issues/2176 and https://github.com/google/oss-fuzz/issues/11925), the withdrawal process needs to be much smoother. Manually making a PR and trying to keep to some YAML spec (I'm still not sure if I got the timestamps right) is too heavyweight.