Az Amazon új, nyílt forráskódú Rex projektje megszabja, mire képesek a szkriptek

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Az Amazon kiadta a Rexet, egy nyílt forráskódú runtime-ot, amely úgy javítja a szkriptek biztonságát, hogy a rendszer műveleteinek engedélyezése előtt érvényesíti az autorizációs szabályokat.

A Rex (a TRusted Remote Execution rövidítése) a szkripteket Cedar szabályokkal párosítja, és futásidőben minden műveletet ezekhez a szabályokhoz ellenőriz. A szkriptek Rhai nyelven készülnek, ami egy könnyű nyelv, beépített rendszerhozzáférés nélkül. A host elérése csak a Rex által biztosított műveleteken keresztül lehetséges, és mindegyikhez autorizáció szükséges a végrehajtás előtt.

A projekt alapötlete egyszerű: egy gyakori automatizálási problémát kezel, amikor a szkriptek sokszor öröklik a futtatási környezet jogosultságait. Például egy naplófájl ellenőrzésére szánt szkript a környezettől kapott engedélyek miatt fájlokat is módosíthat vagy törölhet. A Rex szétválasztja a szkript tervezett műveleteit a host tulajdonosa által megadott jogosultságoktól.

Az Amazon szerint ez különösen fontos az AI-ügynököknél, ahol a szkriptek dinamikusan, emberi ellenőrzés nélkül is létrejöhetnek, így nem nézi át senki az egyes rendszerhívásokat. Problémát okozhat a hallucinált kód, a prompt injection vagy a feladat túl tág értelmezése. A Rex minden olyan műveletet megtagad, amit a szabály nem engedélyez.

A háttérben a Rex a Cedarre, az Amazon szabálynyelvére támaszkodik a szkriptek hozzáféréseinek meghatározásához. A szabályok engedélyezhetik vagy tilthatják például a fájlok megnyitását, könyvtárak olvasását, adatok írását, hostnevek feloldását és más műveleteket. A szkriptek nem férnek hozzá közvetlenül a hosthoz; minden műveletet a runtime által biztosított, Rust-alapú API-kon keresztül közvetít.

A projekt GitHub tárolója szerint a Rex egy sandboxolt Rhai szkriptvégrehajtó motor, amely minden rendszer-műveletre Cedar autorizációt alkalmaz. Finomhangolt autorizációs ellenőrzésekkel szabályozza a fájl I/O-t, a hálózati hozzáférést, a folyamatkezelést és a rendszerlekérdezéseket. A Rex emellett, ahol lehet, útvonalak helyett file descriptorokat használ, hogy csökkentse a symlinkekkel és a race conditionökkel kapcsolatos kockázatokat.

Az adminisztrátorok Cedar szabályt határoznak meg, majd a Rhai szkripteket a

rex-runner

segítségével futtatják. Ha egy szkript olyan műveletet próbál végrehajtani, amit a szabály nem engedélyez, a Rex blokkolja, és autorizációs hibát ad vissza. Például ha egy szkript fájlt próbál létrehozni és írni, miközben a szabály csak olvasást enged, az írási kísérlet sikertelen lesz, amíg nem frissítik a szabályt.

A Rex Linuxra és macOS-re is elérhető, és a Rust Cargo csomagkezelőjével telepíthető a cargo install rex-runner paranccsal. A projekt Apache 2.0 licenc alatt érhető el, a fejlesztés pedig nyilvánosan zajlik a GitHub-on.

További részletekért nézd meg a projekt dokumentációját.