Eszközök

Mesterséges intelligenciával generált szöveg

NVIDIA OpenShell 0.1.0: futásidejű hozzáférés- és jogosultságkezelés AI-ügynökök számára

A főszereplő az NVIDIA OpenShell 0.1.0 nyílt forráskódú futtatókörnyezet, amely futásidőben határozza meg és érvényesíti, mely rendszerekhez és adatokhoz férhetnek hozzá AI-ügynökök.

NVIDIA OpenShell 0.1.0: futásidejű hozzáférés- és jogosultságkezelés AI-ügynökök számára

NVIDIA bemutatta az OpenShell 0.1.0-t, egy nyílt forráskódú futásidejű réteget, amely definiálja és érvényesíti, hogy egy AI-ügynök milyen rendszerekhez, adatokhoz és szolgáltatásokhoz férhet hozzá. A cél, hogy az ügynökök megőrizzék autonómiájukat (célok követése, kódírás, eszközhasználat, hosszú távú munkavégzés), miközben a tényleges jogosultságok kívülről, a munkaterhelten kívül vannak korlátozva és auditálva.

Miért fontos

Hosszú futamidejű AI-ügynökök képesek szoftverhibákat vizsgálni, kísérleteket futtatni, illetve üzletileg kritikus műveleteket vagy kutatást végezni több napig vagy hétig. Ehhez hozzáférés kell munkaterületekhez, számítási erőforrásokhoz, adatokhoz, hitelesítőkhöz és külső szolgáltatásokhoz. A szélesebb hozzáférés viszont nagyobb következményekkel járó hibamódokat is hozhat (pl. termelési adatok módosítása, titkos információk kiszivárgása vagy az ügynök feladatán túli cselekvés).

Mit nyújt az OpenShell 0.1.0

OpenShell ötvözi a sandboxolt végrehajtást, a szolgáltatáshozzáférés szabályozását, a hitelesítőkezelést és a formális policy-analízist. A cél, hogy a csapatok csak az adott feladathoz szükséges képességeket adják meg az ügynököknek, míg az OpenShell a jogosultságokat kívülről érvényesíti és naplózza.

OpenShell része a szélesebb NVIDIA Open Agent Safety Platformnak, amely a védelem kiterjesztését célozza az alkalmazás-, futtatási és infrastruktúra-rétegekre.

Támogatott keretrendszerek és alkalmazások

A 0.1.0 támogatja többek között a Codex-et, Claude Code-ot, Pi-t és Hermes-t, és célja a további keretrendszerek támogatása vállalati alkalmazásokban, frontier kutatásban és fizikai AI területeken (belső ügynökflották, hosszú távú kutatások, robotika, edge rendszerek).

Hogyan épül fel a vezérlés

OpenShell három fő komponense biztosítja a jogosultságok futásidejű érvényesítését:

  • OpenShell Gateway: több sandbox életciklusát és policy-ját kezeli.
  • OpenShell Supervisor: minden sandbox mellett fut, a munkaterhelten kívül hagyja jóvá és ellenőrzi a kimenő kéréseket a policy szerint.
  • OpenShell Sandbox: maga a munkaterhelés kernel-szintű kontrollokkal a fájlrendszer és folyamatok felett, hálózati út kizárólag a supervisoron keresztül.

A sandbox runtime operációs rendszer szintű kontrollokat használ, így korlátozza, milyen fájlokat tud olvasni vagy módosítani a munkaterhelés, valamint megakadályozza a további rendszerjogosultságok megszerzését. A supervisor képes HTTP, GraphQL és Model Context Protocol (MCP) forgalom inspectálására: például engedhet egy lekérdezést ugyanazon API esetén, miközben blokkolja az írást. Ezek a kontrollok akkor is érvényben maradnak, amikor az ügynök shellt indít, generált kódot futtat, gyermekfolyamatokat indít, vagy al-ügynököknek delegál.

Minden policy-döntés OCSF (Open Cybersecurity Schema Framework) audit nyomvonalba kerül; ha egy ellenőrzött kérést blokkol a rendszer, az részletes hibát ad vissza, amely segíti az ügynököt a továbblépés eldöntésében.

Gyakorlati példa: hálózati policy-k és GitHub

A dokumentált demóban a telepítés után két YAML policy fájlt használnak (no-network.yaml és github-readonly.yaml). Például sandbox létrehozása hálózat nélkül:

openshell sandbox create --name policy-demo \
  --no-auto-providers \
  --policy examples/no-network.yaml

A sandboxból egy publikus végpont olvasása (curl https://api.github.com/zen) sikertelen lesz, mert nincs kimenő hálózati jogosultság. A host gépen a naplókból látszik, melyik program próbálkozott és miért blokkolták:

openshell logs policy-demo --since 5m

Majd a policy-t kicserélve egy GitHub olvasási szabályra (github-readonly.yaml), amely például engedélyezi a /usr/bin/curl-nek, hogy a api.github.com port 443-án REST kéréseket küldjön, a rendszer HTTP-kéréseket inspectálva engedélyezi az olvasást és blokkolja az írást. A policy alkalmazása újraindítás nélkül történik:

openshell policy set policy-demo \
  --policy examples/github-readonly.yaml --wait

A sandboxon belül a read (GET) kérés megengedett, a write (POST) kérés blokkolt lesz; a host naplóiban az OpenShell blokkolásai ellenőrizhetők.

Hitelesítők védelme és szolgáltatáshoz kötés

Az OpenShell lehetővé teszi, hogy az ügynökök hitelesített szolgáltatásokat használjanak anélkül, hogy a valódi hitelesítő a munkaterhelésben lenne. Egy szolgáltató profil (provider profile) definiálja a hitelesítőket, végpontokat és az engedélyezett programokat. A rendszer helyettesítő (placeholder) hitelesítőt ad át az ügynöknek, és a valódi hitelesítőt csak a jogosult végpontoknál köti be; ha az ügynök a placeholdert nem engedett végponthoz küldené, a kérés megtagadásra kerül.

Fontos, hogy az OpenShell külön kontrollt ad arra, hogyan használhatja az ügynök a hitelesítőt (például egy politikában read-only inspectálás blokkolhatja az írást még akkor is, ha maga a hitelesítő írási joggal rendelkezik). Példa parancs sandbox indítására egy már konfigurált GitHub providerral és Codex indítására:

openshell sandbox create \
  --provider github \
  -- codex

Dinamikus jogosultság-kérések és policy advisor

Ha egy ügynöknek futás közben ismeretlen szolgáltatásra vagy adatra van szüksége, és a policy blokkolja a kérést, az OpenShell naplózza a megtagadást. Ha a sandboxban engedélyezik a policy advisor funkciót, az ügynök javasolhat egy szűkített hálózati vagy fájlrendszer policy-változtatást. Ezek a javaslatok alapértelmezés szerint emberi felülvizsgálatra várnak; az ügynök nem hagyhatja jóvá saját kéréseit. Jóváhagyás után a rendszer betölti az új szabályt a futó sandboxba, így az ügynök újra megpróbálhatja a műveletet újraindítás nélkül.

A fájlrendszer- és folyamatkorlátozások a sandbox indításakor rögzülnek; megváltoztatásuk új sandboxot igényel.

A policy advisor bekapcsolása példa:

openshell settings set <sandbox-name> \
  --key agent_policy_proposals_enabled \
  --value true

Formális policy-ellenőrzés (policy prover)

Az OpenShell policy prover formális logikai ellenőrzéseket futtat a policy-kről, beleértve a providerek által hozzájáruló hozzáféréseket is. Képes bizonyítani, hogy a modellált jogosultságok egy operátori által definiált határon belül maradnak, vagy konkrét műveletet mutatni, amely átlépi azt. Mivel a bizonyítás a policy modellből származik, egy ügynök által készített magyarázat nem módosítja az eredményt.

A dokumentáció szerint hosszú távú adversariális kísérletekben frontier ügynökök megkíséreltek engedélyeket szerezni védett GitHub repository-k módosításához; OpenShell formális policy-analízise bizonyítékot adott a felülvizsgálóknak arról, mit tennének lehetővé az engedélyek, és a kombinált felülvizsgálat és futásidejű controls mellett nem történt védett repository-írás ezen tesztekben. Folyamatban van a policy-analízis kiterjesztése több ügynökre, hogy ellenőrizhető legyen, miként kombinálódnak a hozzáférések.

Vállalati bevezetés, integrációk és közösség

OpenShell nyílt forráskódú, vállalati adoptálásra és partner-ökoszisztémára épít. Már látható alkalmazások: Cadence használja chiptervezésben a ChipStack Autonomous RTL Design Engineerhez; Slack egy on-demand ügynökplatformot épít OpenShellre; Gecko Robotics OpenShellt használ fizikai robotok döntéshozatalának szabályozására.

A rendszer csatlakoztatható harmadik fél biztonsági és kormányzási szolgáltatásokhoz, valamint identity middleware-hez. Számítási driverek révén Docker, Podman, MicroVM és Kubernetes környezetekhez kapcsolódik; a támogatottsági mátrix a részleteket tartalmazza.

Csatlakozás fejlesztői csatornákhoz és kód:

  • #openshell-dev a CNCF Slack-en kérdésekhez és visszajelzéshez.
  • A kód és hozzájárulás GitHubon érhető el.
  • OpenShell dev notes és 0.1.0 migration notes elérhetők a frissítési útmutatáshoz.

Hol kezdje el

A gyorsstarttal helyben indítható saját ügynök OpenShell-lel, és konzultálható az installation guide, workspaces and access guide, valamint a support matrix a telepítés és skálázás részleteiért.