Специалистите от Mozilla представиха проект WASI (WebAssembly System Interface), който предполагава разработването на API за създаване на обикновени приложения, изпълнявани извън браузъра. Темата включва кросплатформеност и високото ниво на сигурност на тези приложения.

Както се отбелязва, те се стартират в специална "пясъчна кула" и имат достъп до файлове, файловата система, мрежови сокети, таймери и други. При това програмата може да изпълнява само предварително разрешени действия.
Като се има предвид, че псевдокодът на WebAssembly е платформа-независим вариант на езика Assembler, използването на JIT позволява постигане на висока производителност на кода, на ниво на местни приложения. В момента е представена реализация на основни POSIX API (файлове, сокети и т.н.), но все още не поддържа блокировки и асинхронен вход/изход. В бъдеще се очаква появата на модули за криптография, работа с 3D графика, сензори и мултимедия.

Следва да се отбележи, че проектът Fastly представи компилатора Lucet за WebAssembly приложения. Той позволява безопасно изпълнение на странични програми на WebAssembly в рамките на други приложения, например, подхожда за плъгини. Самият компилатор е написан на Rust и поддържа код на C, Rust и TypeScript.
Разбира се, остават още много въпроси относно сигурността на този подход. Изпълнението на кода в "пясъчната кула" е странно в комбинация с достъпа до функции на основната система, така че този въпрос все още изисква изясняване. Освен това не е ясно кои точно програми трябва да работят в този режим и как ще се следи тяхното поведение.
Източник: 3dnews.ru
