Att hitta har blivit billigt. Resten av livscykeln inte. En livscykel för sårbarhetshantering har samma steg oavsett vilket ramverk man ritar den från: identifiera kandidater, bedöma vilka som är verkliga och hur allvarliga de är, besluta vad som ska ske med var och en, åtgärda, kontrollera rättningen, rapportera till var och en som har rätt till en rapport, och bevara akten. Enligt vår läsning var det första steget förr det dyra. I dag levererar en skanner, en fuzzer, en granskningsplattform eller en assistent kandidater snabbare än något team hinner bedöma dem, och livscykeln brister i stegen därefter, där en välformulerad kandidat måste bli ett beslut som någon senare ska försvara.
Den här anteckningen går igenom stegen, säger vad EU:s Cyber Resilience Act, förordning (EU) 2024/2847, kräver i varje steg, och säger var en oberoende adversariell granskning sitter. Dess tyngd ligger i stegen efter det första.
Identifiera: där vi inte säljer
Kandidater kommer från alla håll: statisk analys, verktyg för beroenden och programvaruförteckningar, fuzzers, granskningsplattformar, assistenter, era egna ingenjörer och utomstående rapportörer. En adversariell granskning producerar också kandidater (våra har innehållit defekter som senare rättats uppströms), men att hitta är det ett uppdrag ger på vägen, inte det som prissätts. En praktik som placerar sig här skulle konkurrera med er skanner om volym.
Vad CRA kräver här. Tillverkaren ska identifiera och dokumentera sårbarheter och komponenter i produkten, bland annat genom att upprätta en programvaruförteckning (bilaga I del II punkt 1), och ska ange en kontaktadress för rapportering samt underlätta utbyte av information om potentiella sårbarheter (bilaga I del II punkt 6). Det är tillverkarens skyldigheter; en utomstående granskares fynd matar dem men fullgör dem inte.
Bedöma: från den välformulerade åsikten till bevisnivån
Här brister livscykeln första gången, eftersom alla verktyg ovan avger åsikter om kod med samma flyt oavsett om vägen är nåbar eller inte. Bedömningen är det steg där dessa åsikter antingen avgörs eller graderas. Vår regel är: oraklet först. Ett avgörbart påstående (körs den här vägen, tillåter specifikationen det här värdet) går till det som kan besvara det, en körning, en kompilator eller specifikationen, innan någon ombeds tycka något om det. Det som överlever graderas efter den bevisnivå det faktiskt nådde (spår i källkoden, kompileringsbevis, test, reproduktion i drift, och för varje sannolikhetspåstående en andel med intervall och loggarna från varje enskilt försök), eller märks som endast plausibelt. Allvarlighetsgraden följer då beviset, inte en modells tillförsikt. Ett fynd är ingen dom är den utförliga behandlingen.
Vad CRA kräver här. Tillämpa effektiva och regelbundna provningar och granskningar av produktens säkerhet (bilaga I del II punkt 3), och, i den tekniska dokumentationen, rapporter om de provningar som utförts för att kontrollera att produkten och processerna för sårbarhetshantering överensstämmer med kraven (bilaga VII punkt 6). En rapport om utförda provningar är en rapport om vad som undersöktes, hur, och vad som fastställdes, vilket en akt graderad efter bevis är och en lista sorterad efter allvarlighetsgrad inte är. Och ett tag till kommer de rapporterna att skrivas innan den harmoniserade standard som definierar ”effektiva och regelbundna” går att hänvisa till; de måste alltså bära av egen kraft: Standarderna kan glida, rapporteringsdatumet inte.
Besluta: när verktyget och teamet är oense
Det andra brottet. Ett verktyg flaggar något kritiskt; utvecklingen säger att ramverket mildrar det; säkerhetsteamet har varken tid att bevisa motsatsen eller ställning att köra över en deadline, och ärendet stängs av utmattning. Våra avslutsregler är de på sidan adversariell kodgranskning: en rösträkning fastställer aldrig något; där granskare är oense om vad koden gör avgör källkoden; där ett avslag vilar på ”ovisst” går påståendet till en bevarad kö med en ansvarig, ett utgångsdatum och ett återupptagandekriterium, och exponeras på nytt för en färsk modellinje. Kön finns för att ovisst inte tyst ska kunna omvandlas till accepterad risk. Vad som avgör ett fynd behandlar den första av dessa regler, inklusive fallet där det granskade var vårt eget verktyg.
Vad CRA kräver här. Tillverkaren ska utan dröjsmål åtgärda och avhjälpa sårbarheter, bland annat genom att tillhandahålla säkerhetsuppdateringar (bilaga I del II punkt 2), och ska införa och verkställa en policy för samordnad delgivning av information om sårbarheter (bilaga I del II punkt 5). Ett beslut att inte rätta är ett beslut som den tekniska akten kommer att behöva förklara; en post i den bevarade kön, med ansvarig och återupptagandekriterium, är den förklaringen, skriven när beslutet fattades.
Åtgärda och kontrollera
Här är vår roll att stödja, inte att äga: vi kan följa med genom rättningarna och kontrollera varje rättning mot det fynd den siktar på, vid den commit som stängde det, noterad som ett eget resultat. En rättning kontrollerad genom omläsning är inte en rättning kontrollerad genom omkörning; akten namnger den nivå som kontrollen själv nådde.
Vad CRA kräver här. Säker distribution av uppdateringar, och säkerhetsrättningar som sprids utan dröjsmål och kostnadsfritt, tillsammans med råd och relevant information (bilaga I del II punkterna 7 och 8); offentligt redovisande av åtgärdade sårbarheter när en uppdatering finns tillgänglig (bilaga I del II punkt 4).
Rapportera: där tredje part förtjänar sitt arvode
Det tredje brottet, och det som köpare vanligen kommer för. En intern körning (hur många modeller som helst, hur isolerade som helst) ger ert eget ord om er egen kod. Enligt vår erfarenhet godtar tre av de fyra parter som kommer att läsa er akt inte det: en förvärvares jurister i en due diligence, en cyberförsäkrares underwriter, en företagskunds säkerhetsteam. Det de köper är organisatoriskt oberoende: en akt bedömd och undertecknad av en namngiven person utanför er organisation, som kan åberopas och som skriftligen drar tillbaka om ett fynd inte håller. Det är den egenskap inget team kan leverera om sitt eget arbete, och den är hela det vi säljer.
Den fjärde parten, tillsynsmyndigheten, är undantaget, och den skär åt andra hållet: den godtar ofta er självbedömning, och håller er sedan till varje handling som ligger bakom den.
Vad CRA kräver här. Två rapporteringsvägar, båda via den gemensamma rapporteringsplattformen och båda i kraft sedan den 11 september 2026 (artikel 14). För en aktivt utnyttjad sårbarhet: en tidig varning inom 24 timmar från kännedom, en anmälan inom 72 timmar, och en slutrapport senast 14 dagar efter att en korrigerande eller begränsande åtgärd finns tillgänglig. För en allvarlig incident: samma steg vid 24 och 72 timmar, och en slutrapport inom en månad från anmälan. En extern granskning är ingen anmälan och träder inte i dess ställe; vad den kan göra är att förvandla ”vad vi visste, när, och hur vi fastställde det” bakom en anmälan till en handling i stället för en rekonstruktion. Därutöver omfattas produkter som klassats som viktiga (bilaga III) eller kritiska (bilaga IV) av förfaranden för bedömning av överensstämmelse enligt artikel 32 som kan involvera ett anmält organ, vilket vi inte är, och som inget på den här sidan ersätter.
Bevara
Den tekniska dokumentationen och EU-försäkran om överensstämmelse hålls tillgängliga i minst tio år efter det att produkten har släppts ut på marknaden, eller under stödperioden, beroende på vilken period som är längst (artikel 13.13). En akt som bevaras i ett decennium kommer att läsas av någon som inte var i rummet, med mer tid och mindre välvilja än någon som skrev den. Varje påstående i vår namnger den bevisnivå det nådde, varje undersökt yta som befunnits sund namnger metoden och kontrollen, varje tillbakadragande skrivs, för det är den läsaren den är byggd för.
En mening
Verktyg genererar kandidater. Det vi genererar är den undertecknade, bevisgraderade akt som säger till er förvärvare, er försäkringsgivare och er tillsynsmyndighet vad som fastställdes om er kod, på vilken nivå, vad som förblir ovisst och vem som svarar för att säga det. Inte vad som är sant (det kan ingen granskare lova) utan vad som visades, och hur.
Gränserna som hör hemma här: vi har inte visat att en panel hittar fler verkliga defekter än en enda god granskare och påstår det inte; våra instansers oberoende är avgränsat av förfarandet och inte uppmätt; vår granskande bänk är två personer; vi ingår i en koncern som bygger betal- och förvaringsinfrastruktur och redovisar det skriftligt före varje uppdrag; vi är inget anmält organ och inget här är juridisk rådgivning. Hänvisningarna till förordningen avser förordning (EU) 2024/2847 och har stämts av mot den officiella svenska texten innan den här anteckningen publicerades; läsningen av livscykeln och påståendet om vilket steg som förr var det dyra är våra. Är en hänvisning fel rättar vi den här, skriftligt.