Anthropic utvecklar tekniker för formell verifiering av befintlig programvara med hjÀlp av AI

Företaget Anthropic har presenterat resultaten av experiment med AI-modeller för formell verifiering av tillförlitlighet och sÀkerhet hos redan existerande projekt. Under experimentet genererades matematiska bevis för avsaknad av minnesfel med hjÀlp av AI-modeller för 123 öppna bibliotek som testades i OSS Fuzz-infrastrukturen.

Verifikationen utfördes pÄ nivÄn av den kompilerade assemblerkoden för RISC-V-arkitekturen. Den totala volymen av genererade bevis uppgick till cirka 180 miljoner kodrader för verifieringssystemet Rocq Prover (cirka 600 000 rader för en binÀrfil med 18 000 RISC-V-instruktioner). Bevisen bildades genom automatisk omvandling av befintliga fuzzing-tester till formella specifikationer, varefter AI-modellen Claude bevisade att programmet inte kraschar med alla ingÄngar upp till 64 MB.

Under processen för att bygga upp bevis kunde AI-modellen identifiera och förbereda korrigeringar för hundratals fel som tidigare inte upptÀckts vid fuzzing-testning. Bland annat identifierades sÄrbarheter som ledde till buffertöverflöd vid bearbetning av vissa indata (t.ex. CVE-2026-56132 i libexpat), samt logiska fel. Dessutom anvÀndes AI-modellen för att bevisa att implementeringen av zlib-algoritmen i Linux-kÀrnan överensstÀmmer med specifikationen RFC 1950.

Dessutom har en tolk för en delmÀngd av Python-sprÄket genererats i Rust, för vilken ett formellt bevis har förberetts med hjÀlp av verktyget Verus för att överensstÀmma med CPython-semantiken. För att jÀmföra beteendet med CPython kördes mer Àn 1,7 miljoner slumpmÀssigt genererade Python-program. I 99,95% av fallen stÀmde resultaten frÄn dessa program i den nya implementeringen och i CPython överens, och de identifierade avvikelserna visade sig vara kÀnda grÀnsfall.

Genomförd formell verifiering garanterar överensstÀmmelse med specifikationen, men utesluter inte helt uppkomsten av sÀkerhetsproblem, eftersom risker orsakade av flertrÄdighet, dynamisk lÀnkning och avvikande beteende hos den verkliga hÄrdvaran förblir oformulerade. En betydande fördel med den föreslagna metoden Àr att den arbetar direkt med binÀrfiler, vilket gör det möjligt att undvika behovet av att skriva om befintlig kod i formellt verifierbara sprÄk.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster