Curl vs. AI with Daniel Stenberg

1 day ago 3

Daniel Stenberg, the maintainer of Curl, discusses the increase in AI security reports that are wasting the time of maintainers. We discuss Curl’s new policy of banning the bad actors while establishing some pretty sane AI usage guidelines. We chat about how this low-effort, high-impact abuse pattern is a denial-of-service attack on the curl project (and other open source projects too).

This episode is also available as a podcast, search for “Open Source Security” on your favorite podcast player.

The irony isn’t lost on anyone familiar with open source development. Curl, the tool most tech bros could write in a weekend, has been dealing with a barrage of AI-generated security reports. These reports consume a ton of time, as all security reports do. As large language models have become more accessible, the barrier to generating security reports that seem valid has dropped to zero. Curl has taken some steps to deal with this. They are banning anyone who tries to pawn off an AI report as human generated, and they are establishing guidelines for AI usage in the Curl project.

The Anatomy of AI-Generated Bug Reports

After processing a bunch of AI security reports Daniel is certain he can spot them now. The telltale signs are always the same: reports that arrive as walls of perfectly formatted text, complete with extensive bullet point lists and flawless English that no human would naturally produce on their first attempt (most bad human security reports are a few lines lacking reasonable explanations or context). Because the reports are so long, they take a long time to validate (or un-validate in this instance). One example included debugging information for functions that do not exist and had made up memory addresses and register states.

The Resource Drain on Open Source Maintainers

It should be noted, the Curl bug bounty is legit. Over six years the bug bounty has distributed $86,000 across 78 confirmed security vulnerabilities. Bug bounty bugs are often treated as special things. Bug bounty reports often result in everything else gets dropped while the team investigates what could be a critical vulnerability. An AI security report could consume hours of investigation, debugging, and verification. Open source projects generally have more work to do than time to do it. Fake bug reports are a ridiculous waste of resources.

Curl’s New Policy

Daniel’s initial response was quite direct: immediate bans for anyone submitting AI-generated security reports without proper disclosure. However, Daniel also recognizes that outright AI hostility could be counterproductive, the Curl team developed a more nuanced three part contribution policy addressing different aspects of AI usage. For security reports, the requirements are straightforward: disclose AI usage upfront and ensure complete accuracy before submission. Daniel suspects that AI tools might eventually prove useful for security research.

The second section covers pull requests. Focusing on code quality regardless of the tools used to produce it. This acknowledges the reality that developers are already using various AI coding assistants like GitHub Copilot.

The third section is about language translations. Daniel recognizes legitimate use cases for AI in helping non-native English speakers communicate effectively. The policy notes that AI-translated text can sometimes sound robotic. They just want to know AI was used.

Maybe It’ll Be Useful Someday

During the discussion about if AI will be useful someday, we drew some parallels to the early days of fuzzing. Fuzzing used to suck rocks, but it’s pretty good now.

Today, fuzzing has evolved into one of the most valuable security testing methodologies available. Tools like OSS-Fuzz are really impressive now. Hopefully AI becomes this useful, but we also have to acknowledge it might not. It’s always wise to take a pragmatic view about these things, so wait and see.

The Curl experience offers a framework that other open source projects could adapt to their own circumstances. The thing about open source though, is the maintainers get to do whatever they want. While Curl is giving us a nice example, if another projects doesn’t want to have a similar AI policy, that’s completely understandable and OK.

Open source maintainers don’t have unlimited time or patience. The Curl policy sets expectations for anyone contributing to Curl. We can expect some other projects to adopt very similar policies and some that will create their own unique policy.

It’s going to be an interesting next couple of years I suspect.

Read Entire Article