En fem år gammel fejl i Coldcard-softwaren kan have gjort det muligt for en hacker at rekonstruere private nøgler og stjæle mere end 1.100 bitcoin, hvilket har fået producenten af tegnebogen til delvist at give kunstig intelligens (AI) skylden for opdagelsen.
Var det kunstig intelligens, der opdagede sikkerhedsfejlen i Coldcard?

Hovedpunkter
- Coldcard-relaterede seeds udsatte 1.128,4717 BTC til en værdi af ca. 71,1 millioner dollars.
- Coinkite siger, at AI muligvis har fundet den fem år gamle fejl, men det er endnu ikke bevist, at det er årsagen.
- Coldcard-brugere med berørte seeds skal oprette nye tegnebøger på firmware, hvor fejlen er rettet.
En koordineret tyveri tømmer hundredvis af tegnebøger
Hændelsen blev offentliggjort, efter at ca. 594 BTC, der på det tidspunkt havde en værdi på næsten 38 millioner dollar, blev overført fra omkring 500 bitcoin-adresser med enkeltunderskrift den 30. juli. Da nyheden først kom frem, bemærkede Bitcoin.com News, at overførslerne fandt sted inden for ca. 25 minutter og tilsyneladende var rettet mod tegnebøger med en fælles teknisk svaghed.
Senere gennemgange af blockchainen udvidede det mulige omfang af tyveriet. Forskere anslog, at mellem 1.082 og 1.196 adresser muligvis var blevet ramt i løbet af en periode på omkring 41 minutter. Et specialudviklet dashboard kaldet Coldcard Sweep Watch anslog efterfølgende det samlede beløb til 1.128,4717 BTC, svarende til en værdi på omkring 71,1 millioner dollar, da bitcoin handlede til omkring 63.044 dollar.

Størstedelen af midlerne blev samlet på en adresse, der indeholdt hundredvis af bitcoin, hvor en stor del forblev stort set ubevægelig. De berørte adresser var forbundet af én vigtig detalje: Deres gendannelseskoder var blevet oprettet på Coldcard-hardware-tegnebøger fremstillet af det canadiske firma Coinkite.
En gendannelseskode er en liste over ord, der styrer adgangen til en kryptovaluta-tegnebog. Enhver, der kan rekonstruere eller skaffe sig denne kode, kan normalt flytte midlerne i tegnebogen uden at være i besiddelse af den fysiske enhed.
Coldcard opdager et fejlbehæftet tilfældighedssystem
Coinkite udsendte en presserende advarsel om, at visse nøgler genereret på Coldcard-enheder kunne være sårbare. Mk3-enheder, der kørte firmwareversion 4.0.1 – udgivet omkring marts 2021 – samt senere versioner, var blandt dem, der stod over for den største risiko.
Yderligere analyser udvidede bekymringen til at omfatte frø, der var oprettet på visse Mk4-, Mk5- og Q-enheder, inden Coinkite udsendte nødrettelser til firmwaren. Produkter fra Tapsigner, Opendime og Satscard var angiveligt ikke berørt, da de bruger anden software.
Fejlen vedrørte den proces, der anvendes til at generere tilfældige data. Sikre tegnebøger er afhængige af tilfældighed af høj kvalitet, så deres gendannelsessæder ikke kan gættes. På de mest alvorligt berørte Mk3-enheder anslog forskerne, at sæden muligvis kun indeholdt omkring 40 bit effektiv tilfældighed i stedet for de tilsigtede 128 bit.
Den forskel er afgørende. En korrekt genereret 128-bit-seed anses for praktisk talt umulig at gætte ved hjælp af brute force. En 40-bit-seed giver dramatisk færre muligheder, hvilket gør det muligt for en angriber med tilstrækkelig regnekraft at teste potentielle seeds offline og sammenligne de resulterende adresser med den offentlige Bitcoin-blockchain.
Nogle nyere enheder har muligvis leveret ca. 72 bit effektiv tilfældighed, fordi sikker hardware tilføjede endnu et lag af uforudsigelige data. Det ville gøre frøene sværere at rekonstruere, selvom de stadig ville være langt svagere end tilsigtet.
Én konfigurationsfejl overlevede i 5 år
Problemet begyndte med en konfigurationsfejl under udviklingen, der involverede to softwarefunktioner, der udførte lignende opgaver. Den ene funktion anvendte enhedens hardwarebaserede ægte tilfældighedsgenerator, mens den anden var afhængig af en svagere softwareproces, der stammede fra MicroPython.
Coinkite havde til hensigt at deaktivere MicroPython-indstillingen. En softwarekontrol undersøgte imidlertid kun, om en konfigurationsmærkat var blevet defineret, snarere end om dens værdi var blevet sat til nul. Som følge heraf kunne den færdige firmware ubemærket vælge den svagere funktion.
Da de to funktioner havde ens formater, fortsatte softwaren med at kompilere og køre uden at generere en åbenlys fejl. Fejlen sneg sig ind i koden i forbindelse med en softwaremigrering i 2021 og forblev i den offentligt tilgængelige firmware i mere end fem år.
En opdatering af enheden nu styrker ikke en seed, der blev genereret under den fejlbehæftede software. Berørte brugere skal oprette en helt ny seed ved hjælp af den korrigerede firmware eller en anden sikker enhed og derefter flytte deres midler til adresser, der kontrolleres af den nye seed.

Brugere, der tilføjede mindst 50 uafhængige terningekast under oprettelsen af deres seed, har muligvis tilført tilstrækkelig ekstra tilfældighed til at undgå sårbarheden. En stærk BIP-39-adgangskode kunne også have gjort rekonstruktionen vanskeligere, mens tegnebøger, der kræver signaturer fra flere uafhængige enheder, muligvis har forhindret, at en kompromitteret seed alene kunne flytte midler.
Coinkite peger på AI, men bevis mangler stadig
Coinkites CEO, Rodolfo Novak, undskyldte offentligt og sagde, at virksomheden påtog sig det fulde ansvar for firmwarefejlen. Han sagde, at teamet arbejdede på rettet software, tekniske rapporter og support til de berørte brugere.
Coinkite og Novak fremsatte også en slående teori om, hvordan fejlen blev opdaget. Da virksomhedens firmware havde været offentligt tilgængelig i årevis, sagde virksomheden, at den mente, at nogen muligvis havde brugt AI til at undersøge ældre versioner af koden og finde den svage tilfældighedsvej.
»Til alle andre udviklere: Vi mener, at dette er en nøgtern realitet ved det nye AI-paradigme. AI-assisteret kodegennemgang kan nu finde skjulte fejl med en hastighed, der overgår selv branchens mest erfarne eksperter,” skrev Novak i sit undskyldningsindlæg, der blev offentliggjort på X. ”Hvis jeres firmware er open source eller nogensinde har været offentligt tilgængelig, skal I gå ud fra, at den allerede bliver læst af både angribere og forsvarere.”
Dagens moderne AI-kodningssystemer kan behandle store softwarerepositorier og identificere mistænkelige sammenhænge mellem konfigurationsindstillinger, funktioner og sikkerhedsantagelser. En angriber kunne bede et sådant system om specifikt at lede efter svage tilfældighedsgeneratorer, fallback-funktioner eller fejl, der påvirker kryptografiske nøgler.

Uafhængige forskere rapporterede senere, at de havde brugt AI-modeller til at lokalisere eller forklare problemet, efter at det underliggende tilfældighedsproblem var blevet kendt. Det viste, hvor tilgængelig AI-assisteret kodeanalyse er blevet, men det beviste ikke, at den oprindelige angriber havde brugt AI.

Coinkite erkendte, at deres egen gennemgang ved hjælp af en førende AI-model ikke formåede at afdække fejlen før tyveriet. Dette resultat viser, at AI-systemer ikke automatisk finder alle alvorlige fejl. Deres ydeevne kan afhænge af de instruktioner, de modtager, mængden af den leverede kode, og om en menneskelig gennemgangsekspert forstår advarselssignalerne.
Kritikere siger, at den menneskelige fejl kom først
Nogle sikkerhedseksperter hævder, at en for stor fokusering på kunstig intelligens (AI) risikerer at aflede opmærksomheden fra en grundlæggende teknisk fejl. Mange mener, at konfigurationsfejlen var en kendt type softwarefejl, og at konventionelle kodegennemgange, testprocedurer eller revisioner med fokus på generering af seed-værdier kunne have opdaget den år tidligere.

De modstridende synspunkter er ikke nødvendigvis uforenelige. En menneskelig fejl skabte sårbarheden og lod den bestå, mens AI muligvis har sænket omkostningerne ved at finde, forstå eller udnytte den. Forsvarere skal identificere alle farlige svagheder, mens en angriber kun behøver at finde én.
Hændelsen udfordrer også antagelser om sikkerheden ved open source. Offentlig kildekode giver uafhængige eksperter mulighed for at gennemgå softwaren, men tilgængelighed alene garanterer ikke, at nogen vil gennemgå det rigtige afsnit, genkende en subtil fejl og rapportere den, før en angriber slår til.
For Coldcard-brugere er den umiddelbare prioritet at fastslå, hvornår og hvordan deres seed blev oprettet. Alle med en berørt seed skal verificere instruktionerne via de officielle Coinkite-kanaler, installere den korrigerede firmware, oprette en ny seed og overføre midler med forsigtighed, samtidig med at de holder øje med phishing-forsøg og falske supportbeskeder.
De langsigtede spørgsmål vil dreje sig om, hvor meget bitcoin der blev stjålet, om efterforskerne kan identificere angriberen, og om AI spillede en afgørende rolle i opdagelsen af fejlen. Producenter af hardware-wallets vil også blive udsat for pres for at styrke entropitestning, revidere build-konfigurationer og løbende gennemgå gammel kode ved hjælp af både menneskelige eksperter og modstandsdygtige AI-værktøjer.
Denne artikel er oversat fra engelsk ved hjælp af kunstig intelligens. Den originale engelske version er den autoritative kilde; automatiske oversættelser kan indeholde unøjagtigheder, især i juridisk og lovgivningsmæssig terminologi.
















