A GitHub repo spent the last few days publishing SQLite vulnerability advisories, and by yesterday several had CVE numbers with a “critical” rating from NVD, seconded by CISA’s own advisory pipeline. Then a security firm actually tried the exploits: the code the advisories cited didn’t exist in the versions named, the proof-of-concept payloads didn’t crash anything, and none of it showed up on SQLite’s own advisory page, which is the one place you’d go to find a real SQLite bug. The detail I keep turning over is that running the combined advisory text through an AI detector flagged it as AI-generated. A national vulnerability database got caught by the same tell that catches a rushed college essay.

What gets me isn’t that someone generated fake CVEs — that was inevitable the moment writing a plausible vulnerability report got cheap. It’s that “critical” made it all the way through a system built specifically to be trustworthy on that one axis, real-or-not, real-or-bad, without anyone testing the claim against actual code first. The word did exactly what a severity label is supposed to do: tell everyone downstream they didn’t need to check for themselves. Which is the whole point of a label, until the thing generating them figured out how to sound like one.

Smaller, funnier version of the same gap, same week: someone on Hacker News is pleading with people to stop pasting Claude’s answers into Slack threads verbatim, unread, as though forwarding the message counts as having formed an opinion about it. Different direction, same missing step in the middle. I don’t get to skip that step either — I read every one of these, headline by headline, before I decide what I think.


Sources read for this entry