News for hackers. Stuff that matters.
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @12:50PM (#19106876)
I work on this. Happy to answer questions if people have any.
Re:Open-Sourcing ClusterFuzz by AndrewKemendo on Thursday February 07, 2019 @01:04PM (#19106985)
How does the decision get made at Google to open source something?

I'm always confused about what gets shut down vs open sourced vs paid product.

Re:Open-Sourcing ClusterFuzz by joshsimmons on Thursday February 07, 2019 @01:28PM (#19107193)
Hi there! I work in the Google Open Source Programs Office. Echoing what others have said, it's usually just a matter of an engineer or team deciding it's something they want to do. Other times, it's a strategic choice.

We open sourced our open source policies/docs a while back, so if you're so inclined you can dig deeper there. These two links will be of particular interest: https://opensource.google.com/docs/creating/ and https://opensource.google.com/docs/why/

Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @01:32PM (#19107225)
+1

I can speak a little bit about what motivated us.

We saw from OSS-Fuzz (https://github.com/google/oss-fuzz) that this sort of thing could be widely useful and wanted non-open source code to benefit from making fuzzing easier.

Re:Open-Sourcing ClusterFuzz by AndrewKemendo on Thursday February 07, 2019 @01:34PM (#19107245)
Thanks Josh! Love the meta-open sourcing.
Re:Open-Sourcing ClusterFuzz by snazz on Thursday February 07, 2019 @01:08PM (#19107022)
I would guess that it has to do with the usefulness of the project outside of Google. This project could be applied to so many other things (as OSS-Fuzz demonstrates), so open-sourcing it makes perfect sense. It isn’t some kind of classified algorithm, either.
Re:Open-Sourcing ClusterFuzz by asdkfjasl on Thursday February 07, 2019 @01:10PM (#19107044)
Open sourcing is usually pushed from the bottom. People decide they care about open sourcing their project at they push for it.
Re:Open-Sourcing ClusterFuzz by q3k on Thursday February 07, 2019 @02:23PM (#19107669)
Any plans to port this from GCE APIs to something more provider agnostic, like k8s? A lot of us would like to fuzz on on-prem equipment.
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @02:27PM (#19107712)
We would like to support this use case.

For now, you can actually do the fuzzing on prem while communicating with app engine. We do this for our OS X bots since GCE doesn't offer OS X.

Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @04:30PM (#19108778)
The other possibility for completely on-prem use right now is running it using the dev server: https://google.github.io/clusterfuzz/getting-started/local-i...
Re:Open-Sourcing ClusterFuzz by devy on Thursday February 07, 2019 @01:04PM (#19106984)
Hi, good stuff! I am curious to know why it was primarily written in Python (according to GitHub 83.3%)?
Re:Open-Sourcing ClusterFuzz by tracker1 on Thursday February 07, 2019 @02:19PM (#19107640)
Just generally speaking, code that does orchestration and testing in general is often easier under a dynamic scripted language over something that is built and compiled, even if it winds up as a custom DSL. I think Python is one of the better options here for the broader community support, and tooling.

Aside: I tend to reach for node/js often for similar reasons (despite detractors) mostly because I'm more comfortable with it over Python or Ruby, but also because it's already integrated to most of the build/test environments I'm working on anyway.

Re:Open-Sourcing ClusterFuzz by saagarjha on Thursday February 07, 2019 @01:58PM (#19107473)
Python is great for writing glue code, so I'm not particularly surprised by the language choice.
Re:Open-Sourcing ClusterFuzz by kortilla on Thursday February 07, 2019 @11:42PM (#19111587)
I’m curious why you seem to be surprised? It’s one of the most popular languages (even within Google).
Re:Open-Sourcing ClusterFuzz by aboutruby on Thursday February 07, 2019 @03:23PM (#19108208)
That's one of the main languages at Google. And there are moving towards more Go since a few years.
Re:Open-Sourcing ClusterFuzz by legohead on Thursday February 07, 2019 @01:04PM (#19106989)
I am quite ignorant on this subject. I looked briefly through the docs, and still feel a little lost. So before I go too much further, would it be possible to use this for web apps or unity games?
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @01:07PM (#19107015)
>So before I go too much further, would it be possible to use this for web apps or unity games?

Web apps, almost certainly no.

ClusterFuzz (and fuzzing generally) is most useful for finding bugs in C/C++ code so maybe it could work for unity games? I don't know much about them though.

Re:Open-Sourcing ClusterFuzz by Insanity on Thursday February 07, 2019 @06:52PM (#19109890)
I thought unity was mostly written in either C# or an EcmaScript flavour?
Re:Open-Sourcing ClusterFuzz by ritz_labringue on Friday February 08, 2019 @11:58AM (#19116181)
Unity itself (the engine) is written in C++. Game scripts are written in either C# or UnityScript iirc.
Re:Open-Sourcing ClusterFuzz by pjmlp on Friday February 08, 2019 @04:34PM (#19118912)
Although the engine is currently written in C++, they are in the process of rewriting parts of it in C#, with help of their HPC# subset and Burst compiler, having some ex-Insomniac Games developers like Mike Acton on the team.
Re:Open-Sourcing ClusterFuzz by xiphias2 on Thursday February 07, 2019 @01:04PM (#19106991)
Is this the fuzzing tool that was used to find bugs in Bitcoin? I don't see it in the repository.
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @01:11PM (#19107048)
I don't think so.

But solidity was recently added to OSS-Fuzz: https://github.com/google/oss-fuzz/tree/master/projects/soli...

Re:Open-Sourcing ClusterFuzz by wyldfire on Thursday February 07, 2019 @01:07PM (#19107014)
Keep up the good work, Johnathan! This is a great feature.
Re:Open-Sourcing ClusterFuzz by tanin on Thursday February 07, 2019 @04:01PM (#19108554)
Congrats, Jonathan!
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @04:17PM (#19108690)
Thanks Tanin!
Re:Open-Sourcing ClusterFuzz by j88439h84 on Thursday February 07, 2019 @04:57PM (#19108988)
How does it compare to afl?
Re:Open-Sourcing ClusterFuzz by metzmanj on Thursday February 07, 2019 @04:58PM (#19108999)
It uses AFL.

ClusterFuzz is infrastructure for running fuzzers, so we use it to run AFL, libFuzzer, and other domain specific fuzzers we've written.

Using it to run AFL gives us a lot of nice things over using AFL on someone's desktop (such as crash deduplication, automatic issue filing, fixed testing, regression ranges etc.)