Learning
Všechny články
AI3. srpna 2026 5 min

CVE je nepodložené tvrzení, ne ověřený fakt

Jak se do databází zranitelností dostaly vymyšlené SQLite díry

Zranitelnost, kterou nikdo neověřil

Do veřejných advisories se dostaly desítky kritických zranitelností SQLite, jedné z nejlépe testovaných knihoven na světě. Byly vymyšlené. Odkazovaly na funkci exprComputeOperands(), která ve verzi 3.41.0 neexistuje — přidali ji až v roce 2025. Ukazovaly na řádek 3575 v souboru, který má 2706 řádků. Proof-of-concept nespouštěl nic. A přesto to prošlo celým řetězcem až k lidem, kteří podle toho měli něco opravit.

Otázka není, jak taková slátanina vznikla. Otázka je, proč ji systém pustil dál.


Registrace nevyžaduje důkaz

Mentální model většiny vývojářů zní: CVE je ověřená zranitelnost. Někdo ji našel, potvrdil, zapsal. Ve skutečnosti je CVE jen tvrzení, které někdo podal formulářem. Přihlašovací proces přes MITRE nemá reálné ověření identity a co je horší, nevyžaduje reprodukci ani proof-of-concept. Napíšeš, že tam díra je, a je z ní záznam.

Dřív tu byla druhá pojistka: analytici národní databáze zranitelností (NVD) záznamy ručně procházeli a obohacovali. Od února 2024 to kvůli návalu přestali stíhat a manuální analýzu utlumili. Zůstal řetězec, ve kterém žádný krok nepožaduje, abys tu chybu skutečně předvedl.

Systém byl postavený na tichém předpokladu, že podat falešné CVE je pracné a společensky nákladné, takže to skoro nikdo nedělá. Ten předpoklad právě přestal platit.


LLM sráží cenu výmyslu na nulu

Jazykový model napíše dokonale formátované advisory za pár sekund. Má správnou strukturu, věrohodný slovník, čísla řádků, ukázku kódu. Vypadá jako práce zkušeného výzkumníka. Jen nic z toho neodpovídá realitě — model vygeneroval to, co bezpečnostní hlášení obvykle obsahuje, ne to, co v tom konkrétním souboru je.

Tím se láme celá ekonomika. Obrana proti falešným hlášením stála na tom, že věrohodná faleš je drahá. Když je zdarma, zaplavíš kterýkoli systém bez proof-of-work. A škoda není jen ztracený čas lidí, kteří to prošetřují. Automat, který podle CVE „opraví" kód, začne přepisovat funkce, které v projektu vůbec nejsou — jeden výmysl spustí druhý.


Co si z toho odnést

Ber záznam o zranitelnosti jako nepotvrzené tvrzení, dokud u něj neuvidíš reprodukci. Číslo CVE není důkaz, je to ukazatel na tvrzení, které možná nikdo neověřil. Ptej se po proof-of-conceptu a zkus ho spustit dřív, než podle advisory cokoli změníš.

Obecnější poučení je o návrhu systémů. Kdekoli tvoje ochrana stojí na tom, že „vyrobit věrohodnou faleš je pracné", si tu podmínku napiš nahlas — protože u textu, kódu i hlášení ji jazykové modely právě zrušily. Systém bez důkazního kroku držel jen díky ceně lži. Ta cena spadla na nulu.

Zdroje

Poslech místo čtení — 1 zdroj k načtení.