Curl shuts vuln intake for July — Stenberg out of patience with AI slop

4 min read 1 source clear_take
├── "Closing intake is a necessary load-shedding measure, not a vacation"
│  ├── Daniel Stenberg (daniel.haxx.se) → read

Stenberg frames the July shutdown as deliberate load-shedding rather than time off. He emphasizes that critical issues already in flight will continue to be worked and trusted reporters retain back-channel access — what's closing is only the unauthenticated front door that LLMs have learned to flood.

│  └── @secret-noun (Hacker News, 719 pts) → view

By surfacing Stenberg's post to 719 points on HN, the submitter signals broad developer agreement that a project shipping in 20 billion installations is justified in temporarily closing intake. The high score reflects community endorsement that 31 days of no intake beats 31 more days of triaging fabrications.

├── "Generative AI has broken the cost model that made bug bounties viable"
│  └── top10.dev editorial (top10.dev) → read below

The editorial argues that bug bounty programs implicitly relied on the reporter's effort as a rate limiter — credible reports were expensive to write. LLMs collapse that cost to near-zero while leaving the disproof cost unchanged, creating a brutal asymmetry where a model emits a fabricated PoC in a minute and a human triager spends hours refuting it.

└── "The volume and sophistication of AI-generated reports has reached a tipping point"
  └── Daniel Stenberg (daniel.haxx.se) → read

Stenberg has been documenting the trend for over a year — fabricated CVEs, hallucinated function names, and invented stack traces referencing code curl never shipped. By late 2025 he estimated the majority of HackerOne traffic was machine-generated or machine-laundered, and the decision to close intake entirely shows the trend has crossed the threshold where triage is no longer sustainable.

What happened

Daniel Stenberg, the founder and lead maintainer of curl, announced on his blog today that the project will not accept any new vulnerability reports during July 2026. He's calling it a summer of bliss. HackerOne intake closes June 30; anything submitted in July gets bounced with a polite note to come back August 1.

Stenberg has been signalling this for over a year. In early 2024 he started flagging individual AI-generated reports publicly — fabricated CVEs, hallucinated function names, invented stack traces with plausible-looking line numbers that referenced code curl had never shipped. By late 2025 he was estimating that the majority of inbound HackerOne traffic on the project was either machine-generated or machine-laundered. The blog post today doesn't give a fresh percentage, but the decision speaks for itself: a project that ships in roughly twenty billion installations has decided that 31 days of no security intake is less risky than 31 more days of triage.

The framing matters: this is not a vacation, it's load-shedding. Stenberg is explicit that critical issues already in flight will continue to be worked, and that the project's existing disclosure process for trusted reporters remains open through back channels. What's closing is the front door — the unauthenticated, infinite-fan-in queue that LLMs have learned to flood.

Why it matters

Bug bounty programs were designed against an implicit cost model: writing a credible vulnerability report is expensive, so the rate-limiter is the reporter's own effort. Remove that cost and the queue explodes. Generative models didn't break the curl security process by finding new bugs; they broke it by making fake bugs free to produce and expensive to disprove.

The asymmetry is brutal. A GPT-class model can emit a 2,000-word report with code citations, a fabricated PoC, and a confident CVSS score in under a minute. A human triager — in curl's case, often Stenberg himself or one of a handful of trusted contributors — has to read the code, run the PoC, confirm the function exists, check git blame, and write a rebuttal. Call it 30 minutes minimum for a no-op. The ratio is somewhere north of 1:30, and that's before the reporter argues back, which they increasingly do, because the LLM will happily generate a rebuttal too.

Community reaction on HN (719 points and climbing) splits cleanly. One camp reads this as a canary: if curl is doing it, every solo-maintained critical library is one bad month away from the same move. The other camp wants HackerOne itself to fix it — reputation-weighted intake, proof-of-work on first submission, mandatory reproduction artifacts, a financial stake from the reporter that's refunded on a valid finding. Both are right. The platform is the obvious chokepoint, but the platforms have been slow because their incentive is throughput, not signal-to-noise.

What makes Stenberg's move sharper than the usual maintainer-burnout post is the specificity. He's not quitting, he's not paywalling, he's not asking for money. He's declaring a single month closed, with a hard date, and going back to writing code. This is the open-source equivalent of a circuit breaker: trip the queue, drain the backlog, let the upstream callers adapt.

There's also a quieter point buried in the announcement. The trusted-reporter back channel stays open. What's being killed is not vulnerability disclosure — it's the open public intake form. The implicit message to security researchers: build a reputation, talk to maintainers directly, and you keep your channel. Show up cold with an LLM-generated PDF and the door is locked. That's a reputational economy reasserting itself against an anonymous flood, and it's going to keep happening across critical infrastructure.

What this means for your stack

If you run a bug bounty program, you have about a quarter before this becomes a normal operational pattern rather than a curl-specific story. Three concrete moves are worth making now.

First, instrument your intake. You need a per-reporter signal-to-noise ratio in your dashboard yesterday. If you can't tell the difference between a reporter who's submitted 40 valid bugs and one who showed up last week with three LLM essays, you're already in the noise floor. HackerOne and Bugcrowd expose enough metadata to build this; nobody is.

Second, require reproduction artifacts as a hard gate. A working PoC against a pinned commit hash is the cheapest possible LLM filter — models can fabricate prose all day, but they still can't reliably produce a binary that crashes a specific build. Make it a 400-error on submission, not a triage-time rejection. The triage cost is the whole problem.

Third, write the playbook for *your* summer of bliss now, before you need it. Who has authority to declare intake closed? What's the comms template? Which trusted reporters get a back channel? If your answer involves a Slack thread and three VPs, you don't have a playbook, you have a fire drill.

For consumers of OSS — which is to say, all of us — the lesson is that the maintainer-capacity layer of your supply chain is now an explicit risk. The CVE pipeline you depend on for patching decisions runs on humans whose triage budget is being consumed by machine-generated noise, and curl just told you what that looks like at scale. Vendor risk assessments that score projects on "responsive maintainer" need to start asking how that responsiveness is funded and how it's protected from DoS by submission.

Looking ahead

The interesting question isn't whether other projects follow curl — they will, quietly, without blog posts. It's whether HackerOne and the other bounty platforms ship reputation-weighted intake and PoC-gating before the next high-profile maintainer publicly closes their queue. The platforms have the data and the incentive; what they've lacked so far is the embarrassment. Stenberg just provided it.

Hacker News 719 pts 294 comments

Curl will not accept vulnerability reports during July 2026

→ read on Hacker News

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.