A Mozilla szakemberei bemutatták a WASI (WebAssembly System Interface) projektet, amely a böngészőn kívül futó szokásos alkalmazások létrehozására szolgáló API kifejlesztését foglalja magában. Ugyanakkor kezdetben az ilyen alkalmazások többplatformosságáról és magas szintű biztonságáról beszélünk.

Mint megjegyeztük, egy speciális „homokozóban” futnak, és hozzáférnek a fájlokhoz, a fájlrendszerhez, a hálózati aljzatokhoz, az időzítőkhöz és így tovább. Ebben az esetben a program csak olyan műveleteket tud végrehajtani, amelyekről ismert, hogy engedélyezettek.
Tekintettel arra, hogy a WebAssembly pszeudokód az Assembler nyelv platformfüggetlen változata, a JIT használatával magas kódteljesítményt érhet el a natív alkalmazások szintjén. Jelenleg az alap POSIX API-k (fájlok, socketek stb.) megvalósítása biztosított, de még nem támogatja a zárolást és az aszinkron I/O-t. A jövőben várhatóan kriptográfiai, 3D-s grafikai, szenzoros és multimédiás modulok jelennek meg.

Azt is meg kell jegyezni, hogy a Fastly projekt bemutatta a Lucet fordítót a WebAssembly alkalmazásokhoz. Lehetővé teszi harmadik féltől származó WebAssembly programok biztonságos futtatását más alkalmazásokban, például beépülő modulokban. Maga a fordító Rust nyelven íródott, és támogatja a C, Rust és TypeScript kódot.
Természetesen még mindig sok kérdés merül fel ennek a megközelítésnek a biztonságával kapcsolatban. A homokozóban a kód végrehajtása nagyon furcsán kombinálódik a fő rendszer funkcióihoz való hozzáféréssel, így ez a kérdés még tisztázásra szorul. Ezenkívül nem világos, hogy mely programoknak kell ebben a módban futniuk, és hogyan kell majd figyelni a viselkedésüket.
Forrás: 3dnews.ru
