TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Launch HN: Fuzzbuzz (YC W19) – Fuzzing as a Service

171 pointsby evmunroover 6 years ago
Hey HN,<p>We’re Everest, Andrei and Sabera, the founders behind Fuzzbuzz (<a href="https:&#x2F;&#x2F;fuzzbuzz.io" rel="nofollow">https:&#x2F;&#x2F;fuzzbuzz.io</a>) - a fuzzing as a service platform that makes fuzzing your code as easy as writing a unit test, and pushing to GitHub.<p>Fuzzing is a type of software testing that generates &amp; runs millions of tests per day on your code, and is great at finding edge cases &amp; vulnerabilities that developers miss. It’s been used to find tens of thousands of critical bugs in open-source software (<a href="https:&#x2F;&#x2F;bugs.chromium.org&#x2F;p&#x2F;oss-fuzz&#x2F;issues&#x2F;list" rel="nofollow">https:&#x2F;&#x2F;bugs.chromium.org&#x2F;p&#x2F;oss-fuzz&#x2F;issues&#x2F;list</a>), and is a great way to generate tests that cover a lot of code, without requiring your developers to think of every possibility. It achieves such great results by applying genetic algorithms to generate new tests from some initial examples, and using code coverage to track and report interesting test cases. Combining these two techniques with a bit of randomness, and running tests thousands of times every second has proven to be an incredibly effective automated bug finding technique.<p>I was first introduced to fuzzing a couple years ago while working on the Clusterfuzz team at Google, where I built Clusterfuzz Tools v1 (<a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;clusterfuzz-tools" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;clusterfuzz-tools</a>). I later built Maxfuzz (<a href="https:&#x2F;&#x2F;github.com&#x2F;coinbase&#x2F;maxfuzz" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;coinbase&#x2F;maxfuzz</a>), a set of tools that makes it easier to fuzz code in Docker containers, while on the Coinbase security team.<p>As we learned more about fuzzing, we found ourselves wondering why very few teams outside of massive companies like Microsoft and Google were actively fuzzing their code - especially given the results (teams at Google that use fuzzing report that it finds 80% of their bugs, with the other 20% uncovered by normal tests, or in production).<p>It turns out that many teams don’t want to invest the time and money needed to set up automated fuzzing infrastructure, and using fuzzing tools in an ad-hoc way on your own computer isn’t nearly as effective as continuously fuzzing your code on multiple dedicated CPUs.<p>That’s where Fuzzbuzz comes in! We’ve built a platform that integrates with your existing GitHub workflow, and provide an open API for integrations with CI tools like Jenkins and TravisCI, so the latest version of your code is always being fuzzed. We manage the infrastructure, so you can fuzz your code on any number of CPUs with a single click. When bugs are found, we’ll notify you through Slack and create Jira tickets or GitHub Issues for you. We also solve many of the issues that crop up when fuzzing, such as bug deduplication, and elimination of false positives.<p>Fuzzbuzz currently supports C, C++, Go and Python, with more languages like Java and Javascript on the way. Anyone can sign up for Fuzzbuzz and fuzz their code on 1 dedicated CPU, for free.<p>We’ve noticed that the HN community has been increasingly interested in fuzzing, and we’re really looking forward to hearing your feedback! The entire purpose of Fuzzbuzz is to make fuzzing as easy as possible, so all criticism is welcome.

27 comments

tptacekover 6 years ago
Can you talk a bit about what you&#x27;re fuzzing for in Python programs? I feel like I have a good understanding of what cluster fuzzing is accomplishing for C&#x2F;C++ libraries, but less clarity about the goals for managed languages.
评论 #19267736 未加载
评论 #19270316 未加载
评论 #19268348 未加载
evmunroover 6 years ago
P.s. Know someone who maintains an open-source project, written in C, C++, Go or Python, that should be fuzzed? Please send an email to oss@fuzzbuzz.io. We’d love to fuzz your code for free on our platform and make the world’s open-source software more secure.
评论 #19266236 未加载
评论 #19266501 未加载
chubotover 6 years ago
FWIW I separated my Oil shell parser into a standalone stdin&#x2F;stdout filter, which is ready to be fuzzed:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;oilshell&#x2F;oil&#x2F;blob&#x2F;master&#x2F;bin&#x2F;osh_parse.py" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;oilshell&#x2F;oil&#x2F;blob&#x2F;master&#x2F;bin&#x2F;osh_parse.py</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;oilshell&#x2F;oil&#x2F;issues&#x2F;171" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;oilshell&#x2F;oil&#x2F;issues&#x2F;171</a><p>I&#x27;m already testing it by running it on more than a million lines of shell [1], which I imagine should provide a very good starting point for the AFL algorithm. I&#x27;ve only fuzzed one thing before but that&#x27;s my understanding.<p>If anyone is itching to try out Python fuzzing, this might be a nice and realistic intro.<p>I made note of Fuzzbuzz on the bug.<p>[1] <a href="http:&#x2F;&#x2F;www.oilshell.org&#x2F;blog&#x2F;2017&#x2F;11&#x2F;10.html" rel="nofollow">http:&#x2F;&#x2F;www.oilshell.org&#x2F;blog&#x2F;2017&#x2F;11&#x2F;10.html</a>
评论 #19266957 未加载
souprockover 6 years ago
I know of a company, called Security Innovation, that tried this in 2002. It went very badly at times. They added training and pen testing, and today they bring in just $20 million per year.<p>They opened an office in Seattle to fuzz for Microsoft. As soon as they proved that they could succeed, Microsoft hired away all the people, leaving the company with a lease for an empty office.<p>Generally, companies don&#x27;t trust outsiders and&#x2F;or don&#x27;t see a need. You&#x27;re up against internal politics too. People within the company don&#x27;t want to compete with you and don&#x27;t want to be embarrassed by you.
评论 #19267618 未加载
评论 #19268043 未加载
评论 #19266905 未加载
benatkinover 6 years ago
This is a great name, because at least 90% of your customers will find it funny. Some friends in Boulder made a company called RaffleCopter, and its meme-inspired name (based on ROFLcopter) seemed to help it get much more attention than it drove away. <a href="https:&#x2F;&#x2F;www.rafflecopter.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.rafflecopter.com&#x2F;</a> Another good thing about both names is they work even if you don&#x27;t get the reference. I think that could be a must.<p>I don&#x27;t know much about fuzzing but I&#x27;m inspired to give your tool a try if&#x2F;when I get a chance.
评论 #19267014 未加载
lumengxiover 6 years ago
This looks great, congrats on the launch! All enterprise software companies should take notes, having a &quot;Buy vs. Build&quot; section on the website is incredibly useful and saves time on both sides.
评论 #19266330 未加载
js2over 6 years ago
Some feedback going through the docs. For each of the languages you demonstrate a &quot;BrokenMethod&quot; but I don&#x27;t understand what&#x27;s broken about it. e.g.:<p><pre><code> func BrokenMethod(Data string) bool { return len(Data) &gt;= 3 &amp;&amp; Data[0] == &#x27;F&#x27; &amp;&amp; Data[1] == &#x27;U&#x27; &amp;&amp; Data[2] == &#x27;Z&#x27; &amp;&amp; Data[3] == &#x27;Z&#x27; } </code></pre> What&#x27;s broken about this? It returns true for strings that start with &quot;FUZZ&quot;, false otherwise, does it not? Python example:<p><pre><code> def BrokenMethod(strInput): if len(strInput) &gt;= 2: return strInput[0] == &#x27;F&#x27; and strInput[1] == &#x27;U&#x27; </code></pre> Other than not being idiomatic I don&#x27;t see what&#x27;s wrong with this method.<p>Next, it&#x27;s not clear to me how you indicate success&#x2F;failure of a test. Is success just any program than exits 0 and failure any program that exits non-zero? That would be my guess but the docs don&#x27;t say.<p>Typo: <a href="https:&#x2F;&#x2F;github.com&#x2F;fuzzbuzz&#x2F;docs&#x2F;pull&#x2F;3" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fuzzbuzz&#x2F;docs&#x2F;pull&#x2F;3</a><p>This page is missing a link to the find-your-first-bug-in-Python example:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;fuzzbuzz&#x2F;docs&#x2F;blob&#x2F;master&#x2F;getting-started&#x2F;introduction-to-fuzzbuzz.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fuzzbuzz&#x2F;docs&#x2F;blob&#x2F;master&#x2F;getting-started...</a><p>The docs site loads slowly for me on an older iPad, and there&#x27;s even a slight delay on a recent Macbook. Looks like it&#x27;s maybe a font loading issue? (Oh, it&#x27;s gitbook. How awful. I guess there&#x27;s nothing you can do about that other than use a different doc provider.)
评论 #19268721 未加载
评论 #19268724 未加载
评论 #19268742 未加载
aboutrubyover 6 years ago
That&#x27;s awesome! Would love to use it on popular ruby gems to make sure they are secure (including Rails). Also having a free plan is perfect for experimenting. I predict this company will be a huge success.
评论 #19266469 未加载
kbeckmannover 6 years ago
This is awesome! I wish you all the best and hope that this takes off.<p>I am curious about how you use AFL under the hood - how do you scale? Do you use a shared kernel and run a worker process for each physical core, or do you do some virtualization or perhaps run with a kernel patch such as <a href="https:&#x2F;&#x2F;github.com&#x2F;sslab-gatech&#x2F;perf-fuzz&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sslab-gatech&#x2F;perf-fuzz&#x2F;</a> ? My experience is that you will hit a wall pretty quickly unless you start multiple kernels by using virtualization, or simply having a very slow binary so you don&#x27;t get a high number of execs&#x2F;s to start with.
评论 #19266754 未加载
rixraxover 6 years ago
Have you thought of integrating some form of exploitability analysis[0][1] for the crashes|etc. fuzzing locates?<p>So let&#x27;s say I upload some FOSS project and end-up finding some crashes|potential vulnerabilities. Have you considered some sort of tie-in|integration to bug bounty programs so that I could get a small pay-out without having to go through the trouble of figuring out how exploitable a given crash might be, and more importantly to actually have to deal with trying to get the attention of the project?<p>[0] <a href="https:&#x2F;&#x2F;www.microsoft.com&#x2F;security&#x2F;blog&#x2F;2013&#x2F;06&#x2F;13&#x2F;exploitable-crash-analyzer-version-1-6&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.microsoft.com&#x2F;security&#x2F;blog&#x2F;2013&#x2F;06&#x2F;13&#x2F;exploitab...</a> [1] <a href="https:&#x2F;&#x2F;github.com&#x2F;jfoote&#x2F;exploitable" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jfoote&#x2F;exploitable</a>
评论 #19267012 未加载
pestsover 6 years ago
I thought someone had finally done it. Fizzbuzz as a service.<p>This is even better.
评论 #19265871 未加载
sk221over 6 years ago
This looks awesome. Wish it integrated with Ruby projects.
评论 #19265767 未加载
评论 #19266185 未加载
taninover 6 years ago
This is such an awesome service.<p>Congrats Everest (and team) for making it easier to make software more secure!
tofflosover 6 years ago
This looks very nice. I will definitely try it out once support for Java becomes available.
评论 #19266734 未加载
technics256over 6 years ago
As a somewhat newbie, how would I use this on say my javascript web app and react native apps?<p>Thanks!
评论 #19265967 未加载
rixraxover 6 years ago
Godspeed!<p>I recall there is|was a company based out Santa Cruz, CA called Fuzz Stati0n with a pretty similar concept. Might be good idea to ‘compare’ experiences.
评论 #19269375 未加载
yingw787over 6 years ago
A number of questions:<p>Do you guys support fuzzing by protocols? Syscalls, REST, or SQL? It might be faster to extend protocol fuzzing than fuzzing by language (I&#x27;m not sure though). It&#x27;d be cool to have a fuzzer for Apache Calcite; it&#x27;s a library to slap on a SQL interface to your database.<p>Any plans to extend fuzzing to property-based testing?<p>Do you guys fuzz your fuzzer (dogfood)? Probably useful, but also funny :)
评论 #19265888 未加载
drwlover 6 years ago
A small nit: the video is set with these dimensions: width: 940px; height: 529px;<p>On scaled display it shows up fairly small and so it&#x27;s hard to see what&#x27;s going on without going to full screen. As a quick fix could you enable the full screen button. And as a longer term fix consider recording another version where the windows are smaller or there&#x27;s some sort of magnification?
评论 #19266203 未加载
jawnsover 6 years ago
I started learning about this type of testing by writing Hypothesis tests for Python code: <a href="https:&#x2F;&#x2F;hypothesis.readthedocs.io&#x2F;en&#x2F;latest&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hypothesis.readthedocs.io&#x2F;en&#x2F;latest&#x2F;</a><p>One of the things that became a source of frustration is writing the specs that define the shape of the inputs.<p>Does FuzzBuzz make that any easier?
评论 #19265940 未加载
bhargav_over 6 years ago
This looks really cool! Fuzzing is something I&#x27;ve been looking into more and more as I learn about it. I&#x27;ll definitely keep this in mind for the future. Have you guys considered Rust support?
评论 #19267120 未加载
myroon5over 6 years ago
Can you add support for social login like GitHub OAuth? Thanks!
评论 #19266021 未加载
webgoatover 6 years ago
Why do this in the cloud? Wouldn&#x27;t it make more sense to make standalone software that does the fuzzing?
评论 #19270754 未加载
Kkoalaover 6 years ago
Sounds interesting! At least I learned something new, fuzzing.
kdmedevover 6 years ago
Can this be done in Rust?
评论 #19269602 未加载
jimbo1167over 6 years ago
Obligatory plug for the OG of Fuzz Testing, Barton Miller: <a href="http:&#x2F;&#x2F;pages.cs.wisc.edu&#x2F;~bart&#x2F;fuzz&#x2F;" rel="nofollow">http:&#x2F;&#x2F;pages.cs.wisc.edu&#x2F;~bart&#x2F;fuzz&#x2F;</a><p>#OnWisconsin
maybeiambatmanover 6 years ago
Fascinating!
prcobolover 6 years ago
wewlad!