smolvm 1.8.3 starter hardware-isolerede VM'er på 0,6 til 1,5 sekunder
smolvm 1.8.3 kan isolere Python- og JavaScript-kode med stram kontrol over RAM, CPU og netværk.
Læs i dit tempo
Kort
Smolvm 1.8.3 er blevet testet til at køre usikker kode i små, isolerede virtuelle maskiner. Dette øger sikkerheden, da koden er adskilt fra systemet og har stramme ressourcegrænser. Testene blev gennemført via GitHub Actions, da hardwaren kræver særlig understøttelse for at fungere.
Begynder
Værktøjet smolvm 1.8.3 er designet til at håndtere kode skrevet i programmeringssprogene Python og JavaScript, som skal bruges til at ændre data fra én form til en anden. Det er interessant, at hastigheden varierer alt efter situationen. Hvis systemet allerede er i gang, tager det kun 50 millisekunder at køre koden. Hvis det skal startes helt forfra, kaldes det en kold start, og det tager mellem 0,6 og 1,5 sekunder. Man kan sammenligne det med en bil, der hurtigt kan accelerere, når motoren er varm, men som lige skal have et øjeblik til at varme op, hvis den har stået stille.
For at gøre det sikkert bruger smolvm virtuelle maskiner, hvilket er små simulerede computere. I stedet for at bruge containere, som er som lejligheder i samme ejendom med fælles fundament, fungerer virtuelle maskiner som separate huse. Det giver en langt højere sikkerhed. For at beskytte systemet er der ingen adgang til netværket. Der er også strenge grænser for brugen af Central Processing Unit (CPU), som er computerens hjerne, og Random Access Memory (RAM), som er computerens korttidshukommelse. Det sikrer, at programmer ikke ender i uendelige løkker, hvor de kører i ring uden stop.
Sikkerheden bliver yderligere styrket med faste kvoter for lagerplads og tidsgrænser for, hvor længe koden må køre. Nogle mapper er skrivebeskyttede, så man kun kan læse dem, mens andre er åbne for at skrive resultater. Værktøjet kan også køre i en tilstand, der hedder unprivileged, hvilket betyder, at det kører uden særlige administratorrettigheder. For at det hele skal fungere, kræver hardwaren understøttelse af Kernel-based Virtual Machine (KVM), som er teknologien, der gør det muligt at køre virtuelle maskiner effektivt.
Under testningen viste det sig, at web-værktøjet Claude Code ikke kunne køre smolvm. Det skyldtes mangel på såkaldt nested virtualization, som man kan forestille sig som at prøve at placere en virtuel maskine inde i en anden virtuel maskine. For at løse dette blev testene i stedet flyttet til GitHub Actions-runnere. Disse systemer har adgang til KVM-teknologien og kunne derfor eksekvere koden uden problemer.
Vil du have, at jeg uddyber forskellen på virtuelle maskiner og containere med flere eksempler?

Kolde starter tager mellem 0,6 og 1,5 sekunder, mens varme eksekveringer kører på 50 ms. Test af smolvm 1.8.3 viser, at værktøjet er velegnet til at isolere usikker Python- og JavaScript-kode til datatransformering. Det bruger hardware-isolerede VM'er i stedet for containere med delt kerne, hvilket øger sikkerheden.
Sikkerheden styres gennem stramme begrænsninger på ressourcer og adgang. Løsningen kører helt uden netværk og med faste grænser for CPU og RAM for at forhindre uendelige løkker. Derudover er der fastlagte kvoter for lagerplads, tidsgrænser i gæstesystemet samt skrivebeskyttede input-mounts og skrivbare output-mounts. Værktøjet understøtter også en `--unprivileged` tilstand.
Hardwaren skal understøtte `/dev/kvm` for at kunne køre VM'erne. Under testningen viste det sig, at Claude Code for web ikke kunne køre smolvm, da miljøet manglede understøttelse af virtuelt nested virtualization. For at løse dette blev testene i stedet gennemført via GitHub Actions-runnere, som har adgang til `/dev/kvm` og derfor kan eksekvere koden.
Kilder
- smolmachines / smolvm as a sandbox for untrusted Python & JavaScript simonwillison.net
Produktionshistorie
- Radar Signal ? af 100 · spredning 1 kilder
- Vurdering Nyheds 4/5 — Nyt værktøj til sandboxing af kode, relevant for udviklere
- Skrevet Model: mimo-v2.5-free · temperatur 0.4
- Overskrift 5 kandidater, valgt af chat.dk
- Korrektur 1 zen · 2 rettelser
- Billede Genereret af gemini-3.6-flash-medium
- Vedtagelse ainews-auto-v3 · score 0.4343