Continuous fuzzing finds real bugs, but it still needs someone to write harnesses, watch coverage, and triage every crash. The GitHub Security Lab built the Fuzzing Taskflow to give that loop to an agent. You point it at a C or C++ repository, and it identifies entrypoints, analyzes the build, crafts harnesses, runs the AFL++ fuzzer, reads coverage, and creates a vulnerability report for each unique bug. Check out how the pipeline works end to end 🔍 https://lnkd.in/gfGYpkhh
GitHub Security Lab had already open-sourced its Taskflow Agent framework for LLM-driven logic-bug auditing, uncovering flaws across major open-source projects. Now it extends that same agent-taskflow approach into continuous fuzzing.
What's really interesting here is that the AI agent isn't just identifying vulnerabilities, it's handling the entire testing workflow. Being able to automate crash analysis, coverage tracking, and reporting could make a huge difference in how quickly developers find and address security issues. Curious to see how this evolves!
Can maintainers review the generated harness before the fuzzing run starts?
The harness_bug vs vulnerability verdict makes the call whether triage saves time, since a fuzzer that reports its own harness crashes just moves the noise. Any numbers yet on how many reports end up being real bugs?
Automating the entire fuzzing loop from harness creation to crash triage removes the manual bottlenecks that traditionally limit continuous security testing. Embedding autonomous agents directly into vulnerability discovery pipelines transforms reactive patching into proactive architectural hardening. Incredible systems-level application of AI agents!
AI is extremely prone to code monoculture, similar prompts produce exactly the same code AST(Ai changes only the names of the variable usually from the templates it has in the training data) and for example in the country were ai is free - Korea, all banks had the same vulnerabilities and were hacked at the same time. Back in the day companies could not even hire developers with same experience because those developers would produce exactly same code with same vulnerabilities and by cracking that one developers application you could check where he worked before and then you would be able to crack multiple companies. considering this information I think using AI is extremely dangerous unless you want to be hacked. and if your AI factory has incident resolution agents connected those can then be by steered the attacker to change the codebase as he wishes. This would take just hours not days to compromise any fully autonomus system during the period from 24th of dec till 3rd of jan.
One thing worth doing after a run like this: commit the harnesses that found something, along with the crashing inputs, into the repo. A one-off agent run finds the bugs that exist today. The same harness running in CI on every change catches the ones introduced next month, and each crashing input becomes a regression test for its fix. The harness keeps paying off long after the report is closed, so it deserves the same code review as the rest of the codebase.
Reports written by an agent need a check that isn't the same agent. A reproducer that passes or fails on its own is worth more than a well-written finding. How is triage handled on your side?
The interesting part is that the agent owns the whole loop, not just one step: entrypoints, harnesses, running the fuzzer, reading coverage, writing the report. That is where agents stop being assistants and start being operators. One question we keep asking in our own lab: once the agent runs the loop end to end, what is the record a human can review afterwards? Not the final report, but which steps ran, on which targets, and what the agent decided to skip. For code that is mostly a nice-to-have. For an agent acting on infrastructure, it is the whole product.
Noise concentrates at the edges. The real cost isn't the fuzz throughput. It's the ownership gap after the agent closes the bulk-noise batch. In practice the hard part is durable triage metadata and review routing, not the crash volume.