Los especialistas de Mozilla han presentado el proyecto WASI (Interfaz del Sistema WebAssembly), que implica el desarrollo de una API para la creación de aplicaciones convencionales que se ejecutan fuera del navegador. En este sentido, se trata inicialmente de la interoperabilidad y de un alto nivel de seguridad para tales aplicaciones.

Como se señala, se ejecutan en una 'sandbox' especial y tienen acceso a archivos, al sistema de archivos, sockets de red, temporizadores, etc. Sin embargo, el programa solo puede llevar a cabo acciones que estén explícitamente permitidas.
Dado que el pseudocódigo de WebAssembly es una variante independiente de la plataforma del lenguaje Assembler, el uso de JIT permitirá lograr un alto rendimiento de código, al nivel de las aplicaciones nativas. Actualmente se ha presentado la implementación de las API POSIX básicas (archivos, sockets, etc.), pero aún no hay soporte para bloqueos y entrada/salida asíncrona. En el futuro, se espera la aparición de módulos para criptografía, gráficos en 3D, sensores y multimedia.

También cabe destacar que el proyecto Fastly ha presentado el compilador Lucet para aplicaciones WebAssembly. Permite ejecutar de manera segura programas externos en WebAssembly dentro de otras aplicaciones, por ejemplo, es adecuado para complementos. El propio compilador está escrito en el lenguaje Rust y soporta código en C, Rust y TypeScript.
Por supuesto, aún quedan muchas preguntas sobre la seguridad de este enfoque. La ejecución de código en una 'sandbox' combina de manera extraña el acceso a funciones del sistema principal, por lo que esta cuestión aún necesita aclaración. Además, no está claro qué programas específicos deberían operarse en dicho modo y cómo se deberá monitorear su comportamiento.
Fuente: 3dnews.ru
