Koden din avslører sårbarheter – men det er en hake

Koden din avslører sårbarheter – men det er en hake

Mai 05, 2026 vulnerability detection machine learning security code analysis secure coding static analysis developer tools ai-assisted development cybersecurity research

Kodingstilen din kan avsløre sårbarheter – men det er et stort men

Utviklere har hver sin måte å kode på. Noen liker braces på linje ett. Andre bruker korte navn på variabler. Den ene stabler løkker i dybden, mens naboen deler alt opp i små funksjoner. Disse vanene bygger seg opp over tusenvis av linjer. De er like unike som håndskrift.

Forskere ved UMass Dartmouth stiller et spennende spørsmål: Kan vi bruke kodingstilen til å fange sårbarheter før koden slippes løs?

Risikoen gjemmer seg i vanene

Ideen er smart. Dårlige vaner som slurvete bufferhåndtering eller ujevne pekere gjentar seg. De dukker ikke opp én gang og forsvinner. De former hele koden, som en dialekt du ikke kvitter deg med.

VulStyle er en ML-modell som ser på stilen som et sikkerhetstegn. Den går utover kjente farer som dårlige API-kall. I stedet plukker den ut stylometriske trekk: Hvordan du erklærer variabler, bygger uttrykk, setter opp if-setninger og løkker. Dette mikses med vanlig syntaks og strukturanalyse.

Testene ga håp. På flere benchmarks slo VulStyle modeller som bare så på tokens og syntaks. Struktur viser hva koden gjør. Stil avslører hvordan du pleier å skrive. Sammen gir de klarere risikobilde.

Benchmarks som lurer deg

Så kommer problemet.

VulStyle skinner på noen datasett, men kræsjer på andre. På DiverseVul – et nytt benchmark som fikser feil i gamle sett – faller resultatene bratt. Forskerne innrømmer det: Mange benchmarks har støyete labels som blåser opp tallene.

Dette gjelder ikke bare VulStyle. I ML-sikkerhetsforskning ser vi det hele tiden: Modeller funker i labben på datasett A, men svikter på B i virkeligheten. Skylden ligger hos datasettene – ikke modellen. De speiler sjelden ekte produksjonskode.

For sikkerhetsteam: Nøyaktighetstall i overskrifter betyr lite.

AI-kode ødelegger fingeravtrykket

Problemet treffer oss hardest i 2024.

VulStyle forutsetter unik developerstil. Men stadig mer kode kommer fra LLMs som GitHub Copilot, ChatGPT eller Claude. Denne koden er:

  • Jevnt formatert (ingen personlige vrangheter)
  • Syntaktisk trygg (unngår rare mønstre)
  • Uten vaner (det er poenget)

Stil-signalet forsvinner. Fingeravtrykket var aldri der.

Forskerne nevner begrensningen, men det blir verre: Med AI-hjelp krymper vinduet for stilbasert sikkerhet.

Hva med angripere som jukser?

Et åpent spørsmål: Er stilanalyse vanskelig å lure? Forskerne sier ja – angripere må endre flere signaler samtidig. Lyder bra, men de testet det ikke.

Hva om en ondsinnet utvikler kjører koden gjennom en formatter, bytter navn og omstrukturerer? Overlever stil-signalet? Vi vet ikke. Mer forskning trengs.

Hva det betyr for deg

VulStyle er fortsatt research. Ikke noe du laster ned i dag. Men ideen holder: Bland stil, struktur og innhold for bedre bug-jakt.

Praktiske råd er mer nedtur:

  1. Stol ikke på ett benchmark – Spør hvilket datasett 95 % nøyaktighet kommer fra. Test på din egen kode.

  2. Kjenn biasen – Populære benchmarks matcher ikke virkelige kodebaser eller sårbarheter.

  3. Forbered for AI-kode – Copilot flater ut stiler. Finn andre metoder.

  4. Regn med signal-svinn – Alt som baseres på developer-vaner svikter med AI.

Veien videre

Sikkerhetsforskning modnes raskt, men det tvinger fram harde sannheter. Enkelt-signaler generaliserer dårlig. Benchmarks bedrar. Og kodingen endres under føttene våre.

Beste forsvar er lag på lag: Statisk analyse, dynamisk test, code review, supply chain-sjekk og runtime-overvåking. Ingen enkelt-signaler – verken stil, syntaks eller struktur – holder alene.

Å forstå hvor de svikter og spiller sammen? Det bygger robust sikkerhet.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NL HU IT FR ES DE DA ZH-HANS EN