FagNytt
Oktober
'25

The AI train

Oktober er i gang, og det er heller ikke uten store nyheter i AI-verdenen. Den store snakkisen er nok at Anthropic slapp Claude 4.5 Sonnet, som de selvfølgelig mener skal være den beste programmereren til nå. Jeg er personlig stor fan av de tidligere versjonene av Claude, så jeg er spent på å teste ut denne 👀. På videofronten har OpenAI også sluppet Sora 2, en ny versjon av sin videogenereringsmodell. I samme slengen planlegger de også å slippe et eget sosialt medium, på lik linje med TikTok, men med kun AI-generert innhold. Det skal ikke være mulig å laste opp videoer, kun generere dem. Høres ut som et kvalitetsmedium 🧐

Et stort problem med LLM-er er at de hallusinerer.🌌 OpenAI slapp nylig et paper om en mulig grunn til hvorfor. Det går i bunn og grunn ut på hvordan evalueringen av en AI-modell fungerer. Slik det er nå, fungerer evalueringen litt som når en student skal svare på en flervalgsoppgave: Det er mer effektivt å svare for å ha en sjanse til å få riktig, enn å ikke svare, for da får man feil uansett. Så jeg lurer personlig på når OpenAI kommer med et paper om "koking", og hvorfor LLM-er gjør dette, da det åpenbart er en likhet mellom NTNU-studenter og AI-modeller.🧃

Den utvilsomt kuleste AI-modellen som har kommet ut, må være Craft-GPT. Dette er en modell laget av Sammyuri som kjører inne i Minecraft. Den har et token-vindu på 64 tokens, og det tar flere timer å få svar, ⏰ men alt kjører i Minecraft ved hjelp av Redstone. 🛑

gpf --skip tests 🚀

12.september gikk Cloudflares dashboard ned, samt deres autentiseringsløsning, på grunn av et DDoS-angrep.♻ Dette er ganske seriøst, og noe man skulle trodd skyltes en relativt stor angriper. At angriperen er stor, er det ingen tvil om, men at det var Cloudflare selv, er kanskje enda rarere. For det var ingen ringere enn en useEffecthook som DDoS-et Cloudflare. Her hadde en utvikler laget en useEffect slik:

const { useEffect, useState } = React;

function Dashboard() {
  const [data, setData] = useState(null);
  const params = { when: 69 };

  const [stateTick, setStateTick] = useState(0);
  useEffect(() => {
    let aborted = false;
    fetch('/api/tenant')
      .then(r => r.json())
      .then(j => { if (!aborted) setData(j); })
      .catch(() => {});
    return () => { aborted = true; };
  }, [params]);
}

Problemet med denne koden er at hver gang komponenten re-rendres, lages params-objektet på nytt. Referansen blir da ny, og useEffect-hooken kjører på nytt. At ikke Cloudflare klarte å finne ut av dette i sine test- eller QA-miljøer, er et mirakel. Men de mener i hvert fall at med deres nye AI code review-agent skal ikke dette skje igjen 🧢. Hva skjer så når du tvinger en oppdatering av alles dashboard for å fikse en slik bug? Jo, alle klientene skal lage auth-token på nytt, og tjenesten går ned igjen fordi den blir DDoS-et for andre gang. 🤝 Genialt 🤝.

Sikkerhet

En forskergruppe har funnet en "zero-click"-svakhet i ChatGPTs deep research agent, kalt ShadowLeak. Med en godt utformet e-post kan du få ChatGPT til å lekke sensitiv informasjon uten at brukeren trenger å gjøre noe. Det eneste dette krever, er at brukeren har knyttet ChatGPT til e-posten sin og er aktiv i nettleseren. Sårbarheten injiserer en prompt som er gjemt i e-postens HTML, slik at den ikke er synlig for brukeren. Suksessraten til angrepet var 100 % da det ble testet.

Flere store npm-pakker, som debug og chalk, ble også hacket ved at angriperne fikk tilgang til npm-kontoen til vedlikeholderen. Dette førte til at de fikk publisert en ny versjon av pakken med skadevare. Denne skadevaren sjekket alle HTTP-requests for kryptoadresser, i håp om å få tak i litt krypto. Angriperne skal trolig ikke ha tjent så mye penger, da dette ble raskt fanget opp.

Unike ID-er

Mange bruker UUID-er istedenfor inkrementelle ID-er for primærnøkler. Dette gjør at man kan lage nøkler uavhengig av hverandre, uten å måtte vente på at databasen beregner det neste nummeret. Et problem med UUIDv4, som ofte brukes i databaser, er at de er vanskeligere å indeksere, da de kun består av 122 tilfeldige bits. I UUIDv7, derimot, er de første 48 bitsene en dateString. Dette gjør dem litt mindre unike, men de vil være enklere for databasen å indeksere og – enda bedre – lettere å sortere. Du kan faktisk se om en ID ble opprettet før en annen. Det skal dog sies at det er litt mindre sikkert, da du potensielt kan gi angripere informasjon om når ID-en ble laget, siden dette ligger lagret i selve ID-en.

Debugging

Chrome DevTools har sluppet sin egen MCP-server, slik at du kan hekte Claude Code / Windsurf / Cursor direkte på DevTools. Da slipper du å lime inn feilmeldinger og slikt; LLM-en kan bare hente det ut selv 👀.

Versjoner og slikt

  • TanStack Start har kommet med sin v1-release.
  • LangGraph har også meldt at deres v1-release kommer i oktober.
  • Valkey 9 kommer! (forken av Redis fra april i fjor).
  • PostgreSQL 18!
    • Bedre I/O-system for raskere lesing fra disk, grunnet asynkrone lesinger. Mer batching og mindre idle time.
    • Skrivinger er fortsatt synkrone, da dette er nødvendig for ACID-compliance.