Det tok sju minutter. Aayush Tyagi, som skriver for teknologinettstedet Analytics Vidhya, ville vite nøyaktig hvordan notatappen Obsidian bestemmer rekkefølgen på søketreff. Koden er ikke offentlig. Han ba en AI-agent finne ut av det ved hjelp av verktøyet Reverse Engineer Anything, og fikk tilbake en formel som stemte med alle de 24 søkene han på forhånd hadde notert for hånd. Regningen for modellbruken ble 1,83 dollar (Analytics Vidhya).
For få år siden ville den samme jobben krevd en spesialist og mye tid. Det er hele poenget med REA, som verktøyet kalles, og forklaringen på at det har spredt seg så raskt blant utviklere denne høsten.
Hva REA er
Omvendt utvikling, på engelsk reverse engineering, betyr å finne ut hvordan noe virker ved å ta det ferdige produktet fra hverandre. For programvare handler det om å lese maskinkoden som datamaskinen faktisk kjører, og forstå logikken bak. Det har alltid vært mulig, men det har vært tungt og tidkrevende arbeid.
REA er et gratis program med åpen kildekode. Det ligger på GitHub og er laget av en utvikler som kaller seg morluto, og som ikke har stått fram med navn (InfoQ). Teknisk sett er det en MCP-server, en standardisert kobling som lar AI-agenter som Claude Code, Codex, Cursor og Gemini CLI ta i bruk andre verktøy (GitHub).
Selve programmet finner ikke opp noe nytt. Det fungerer som en formidler. Når agenten skal undersøke et program, sender REA oppgaven videre til etablerte analyseverktøy. Det kan være Ghidra, som den amerikanske etterretningstjenesten NSA ga bort gratis i 2019, eller de kommersielle programmene IDA og Hopper. Android-apper tar det fra hverandre med verktøy som JADX, mens programmer skrevet i JavaScript eller .NET kan leses uten hjelp utenfra (GitHub; MindStudio).
Listen over hva det kan undersøke, er lang. Den omfatter vanlige programfiler, Android-apper, nettsider, nettverkstrafikk, spillfiler, fastvaren i elektronikk og filene til AI-modeller. All analyse skjer på brukerens egen maskin (GitHub).
Slik virker det
Arbeidsgangen er enkel. Brukeren peker agenten mot et program og spør hvordan en bestemt funksjon virker. Agenten bruker REA til å finne de relevante delene av koden, følger hvordan de henger sammen og lager en hypotese. Deretter tester den hypotesen mot programmet. REA leverer funnene sammen med bevisene, og agenten kan så forklare funksjonen eller skrive sin egen versjon av den (GitHub).
Slik jobber REA. Agenten spør, REA henter svar fra analyseverktøyene og leverer funn med bevis. Illustrasjon: Tekonom
Den originale kildekoden får man ikke tilbake. Når et program bygges, forsvinner kommentarer og navn, og strukturen stokkes om. Det man sitter igjen med, er en beskrivelse av hva programmet gjør, og ny kode som oppfører seg likt (MindStudio; InfoQ).
Hvor godt det fungerer, er omdiskutert. Tyagi oppdaget at formelen agenten leverte, inneholdt en feil som først ble synlig da han sjekket den mot agentens egen testtabell. Han advarer mot at agenten kan beskrive feil kodestier med stor selvsikkerhet og fylle hull med forklaringer som bare høres riktige ut. «Verdien av verktøyet øker med evnen din til å kontrollere svarene», skriver han (Analytics Vidhya).
På diskusjonsforumet Hacker News har flere spurt hva REA egentlig tilfører, når man like gjerne kan be en AI-agent bruke Ghidra direkte (InfoQ). En videoskaper som sammenlignet REA med en vanlig kodeagent uten ekstra verktøy, fikk omtrent like gode kopier av et bildeprogram for Mac fra begge. REA-versjonen var litt mer presis, men brukte lengre tid (MindStudio). Mye av kraften ligger altså i språkmodellene selv. REA gjør dem raskere og mer treffsikre på krevende programmer.
Interessen er det likevel ingen tvil om. Mandag 26. oktober hadde prosjektet over 390 000 stjerner på GitHub, et mål på hvor mange som har bokmerket det. Ni dager tidligere oppga InfoQ drøyt 200 000 (GitHub; InfoQ).
Når kopiering blir billig
I flere tiår har programvareselskaper kunnet regne med at produktene deres var vanskelige å kopiere. En konkurrent måtte sette sammen et utviklerteam, bruke måneder på arbeidet og ofte gjette seg fram til hvordan originalen løste de vanskeligste problemene. Den tiden og de kostnadene har fungert som en vollgrav rundt forretningen.
REA og lignende verktøy fyller igjen deler av den vollgraven. Når det koster et par dollar og noen minutter å finne ut hvordan en funksjon virker, blir funksjonen i seg selv mindre verdt som konkurransefortrinn. MindStudio, som lager verktøy for AI-agenter, oppsummerer det slik: Brukergrensesnittet og funksjonslisten bør behandles som en vare alle kan få tak i, ikke som en eiendel (MindStudio).
Utviklingen er ikke begrenset til REA. Utvikleren Brandon Thomas har brukt språkmodellen Claude til å bygge gratis etterligninger av Photoshop, Illustrator, Word, Excel og PowerPoint under samlenavnet ArtCraft. Selv anslår han at Word-kopien dekker rundt 62 prosent av funksjonene folk bruker i praksis (KDnuggets). Det er langt fra fullt, men det er nok til at mange vil spørre seg hvorfor de betaler for et dyrt abonnement.
Hvem som taper, og hvem som tjener
Mest utsatt er selskaper der produktet i hovedsak er én smart funksjon. Små apper, enkle verktøy og spill kan kopieres raskere enn før. På Reddit har uavhengige spillutviklere uttrykt bekymring for at arbeidet deres skal bli kopiert, og at betalte funksjoner skal bli omgått (InfoQ).
Store programvareselskaper står sterkere. Verdien deres ligger i langt mer enn koden: kundedata, avtaler med store kunder, sikkerhetsgodkjenninger, kundestøtte, integrasjoner med andre systemer og et merkenavn folk stoler på. Slikt kan ikke leses ut av en programfil (MindStudio). Likevel får kundene et nytt argument i prisforhandlingene når alternativet er billigere å lage.
Mange kan også tjene på verktøyet. Bedrifter som sitter med gamle systemer der dokumentasjonen er borte og utviklerne har sluttet, kan få hjelp til å forstå hva systemene faktisk gjør, før de bytter dem ut. REA oppgir selv bevaring av programvare og samspill mellom systemer som formål (GitHub). Sikkerhetsfolk kan lete etter svakheter i egne produkter raskere. Det samme kan riktignok angripere.
Mer flyttes til skyen
Den viktigste langsiktige følgen kan bli hvor programvaren kjører. REA kan bare lese det som ligger på brukerens maskin. Logikk som kjører på selskapets egne servere, er utenfor rekkevidde.
En bruker på Hacker News tror derfor verktøyet vil få store teknologiselskaper til å flytte enda mer av appene sine over i skyen, fordi det ikke finnes noen programfil å undersøke der (InfoQ). For bedrifter betyr det at prisberegning, rabattregler og annen forretningslogikk som i dag ligger i apper og nettlesere, bør flyttes dit ingen utenforstående kan lese den. Paradoksalt nok kan det styrke abonnementsmodellen for de selskapene som har serverne.
Sreekanth Pannala, direktør i brikkeprodusenten AMD, peker i samme retning. Han mener maskinvaren blir viktigere, mens programvare som ikke er åpen, blir lettere å erstatte (InfoQ).
Det juridiske
At noe er teknisk mulig, betyr ikke at det er lov. EUs direktiv om forretningshemmeligheter regner det som lovlig å undersøke og ta fra hverandre et produkt man har skaffet seg på lovlig vis, så lenge man ikke har forpliktet seg til å la være (EUR-Lex). Norge har tatt reglene inn i forretningshemmelighetsloven fra 2020 (Stortinget).
Selve koden er derimot beskyttet av opphavsretten. Etter EUs regler for dataprogrammer kan man bare dekompilere et program i snevre tilfeller, blant annet for å få det til å virke sammen med andre programmer (EUR-Lex). Mange lisensavtaler forbyr dessuten all slik analyse. REA skriver selv at verktøyet bare er ment for lovlig bruk og ikke gir noen rett til å kopiere programvare man ikke eier (GitHub).
Grensen mellom å forstå et produkt og å kopiere det blir dermed et spørsmål for advokater, ikke for ingeniører. Det spørsmålet vil trolig dukke opp oftere i årene som kommer.
Funksjoner har alltid kunnet kopieres. Det som er nytt, er at det nå er billig, raskt og tilgjengelig for nesten hvem som helst.
