Nono sandkasser kodeagenter i kjernen og gir hvert verktøykall en engangsnøkkel
Nono sperrer KI-agenter inne i operativsystemkjernen med Landlock på Linux og Seatbelt på macOS, og gir hvert verktøykall en engangsnøkkel som utløper når kallet er ferdig.
3 145 stjerner og 215 forker på snaut seks måneder: Nono ble startet 31. januar i år og angriper et problem alle som kjører kodeagenter lokalt har. Agenten arver rettighetene til den som startet den. Hver fil du kan lese og hver nøkkel i miljøet ditt er tilgjengelig for den. Help Net Security omtalte prosjektet 27. juli.
Bak Nono står Luke Hinds, som bygget Sigstore i Red Hat, signeringsprosjektet PyPI, npm og Homebrew bruker til å verifisere pakkers opphav. Selskapet hans, nolabs, har skrevet Nono i Rust under Apache 2.0. Håndhevingen ligger i kjernen, under agenten og under enhver guardrail som deler prosess med den: agenten ber om å åpne en fil eller nå et nettverksendepunkt, og kjernen svarer. Landlock og Seatbelt fratar prosessen privilegier og holder dem fratatt så lenge prosessen lever. Windows dekkes via WSL2, mens native Windows-håndheving fortsatt er på forskningsstadiet, ifølge Hinds.
Det nye er Agent Tool Sandboxing. Containere og microVM-er krymper skadeomfanget, men en agent med for vide rettigheter inne i en container sitter fortsatt på alle nøklene den fikk. Nono gir i stedet hvert enkelt verktøykall sin egen avgrensede fullmakt: en fantom-nøkkel i stedet for den ekte hemmeligheten, filtilgang som dekker akkurat oppgaven, og nettverkstilgang som stopper ved endepunktene kallet må treffe.
«Nono er den eneste sandkassen som gir oss både finmaskede regler per kommando og avansert håndtering av legitimasjon som passer inn i eksisterende, komplekse verktøykjeder» — James Carnegie, staff security engineer i Datadog
Den ekte hemmeligheten finnes fortsatt et sted. Nono ruter forespørselen gjennom en betrodd proxy utenfor sandkassen, som henter nøkkelen fra operativsystemets nøkkelring, 1Password eller Kubernetes Secrets og injiserer den bare i kallet mot det godkjente API-et. Tilliten flyttes fra agenten til proxyen, en mindre og lettere reviderbar angrepsflate.
Hva bør du gjøre?
- Installer med
brew install nonoog start agenten mednono run --profile nolabs-ai/opencode -- opencode. Da ser den katalogen du står i, og verken SSH-nøkler eller skylegitimasjon. - Flytt profilene dine fra det gamle
always-further-navnerommet tilnolabs-ai. Registeret har flyttet, og det gamle navnerommet pensjoneres. - Hold av produksjonsavhengighet til 1.0. Prosjektet varsler selv at API-ene fortsatt kan endre seg fram mot den utgivelsen.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.