Engineering a WebAssembly-Based Shell
ISEF · 2024 Systems Software
Overview
This project creates a POSIX-style shell that runs WebAssembly, allowing programs to be shared between developers without safety issues, platform incompatibilities, determinism problems, or complex build processes, while also innovating a whole new way to interact with such programs. The core of the project is the virtual machine, which can execute programs compiled to WebAssembly, a binary instruction format that is targetable by all major compilers. The shell provides standard features, such as pipes, redirections, and programmability, but more importantly, acts as an environment for the virtual machine. Because the shell can configure the machine, the user of the shell can control the execution of programs on their system to a greater degree. To eliminate the risk of an unreproducible binary from destroying important data, programs are isolated from the file system by default, unless allowed by the programmer on a per-directory basis. Furthermore, specific functions can be dynamically loaded from the program into the shell environment, as regular shell commands. This allows certain functions to be tested, benchmarked, or used ad-hoc, from the command line. The shell also comes equipped with an in-memory file system, in which the side effects of an executable can be incrementally viewed and applied via a file system that does not exist on disk. In summary, this project innovates a new way for developers to run programs in deterministic, reproducible environments in which they may have full control over the side effects of a program.
Awards (1)
- National Security Agency Research Directorate : Second Place Award “Cybersecurity”
Competition history
- ISEF 2024
Resources
Related projects
ISEF · 2025
Gate OS: A Secure Rust Exokernel Based on Preventive Static Code Analysis With Process Domain Isolation
ISEF · 2023
Engineering a Component-Based Programming Language
ISEF · 2019
An Interactive Tool for Self-Studying or Teaching the Inner Workings of a Simple 8-Bit Central Processing Unit
ISEF · 2014
A Multi-Architectural Approach to the Development of Embedded Hardware
Closest projects by meaning, across every fair and year in the corpus.
Source: Regeneron International Science and Engineering Fair