WebAssembly and Back Again: Fine-Grained Sandboxing in Firefox 95

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. fennecbuild

    Firefox appears to utilize a custom clang toolchain to enable this without documenting how to make such toolchain (wasi sysroot). And expects you to just download the precompiled version from their servers.

    Fedora and Fennec F-Droid have since disabled this feature.

    https://src.fedoraproject.org/rpms/firefox/c/4cb1381d80a94c9...

    https://gitlab.com/relan/fennecbuild/-/commit/12cdb51bb045c3...

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. wasi-libc

    WASI libc implementation for WebAssembly

    Pretty sure you can build it yourself from https://github.com/WebAssembly/wasi-libc given that https://github.com/WebAssembly/wasi-libc/commit/ad5133410f66... is a contribution from a MoCo employee doing a lot of work around toolchains.

  4. rlbox

    RLBox sandboxing framework

    https://github.com/PLSysSec/rlbox_sandboxing_api/blob/master...

    Seems like it could get a bit verbose when used all over the place but I’m not really used to the C++ world. Regardless I’m happy to see the effort being made beyond process isolation and OS capabilities.

  5. wasi-sdk

    WASI-enabled WebAssembly C/C++ toolchain

    There's also the https://github.com/WebAssembly/wasi-sdk repo which is kind of a meta-build-system for all this.

    But in FreeBSD we build all the pieces directly, here's our build recipes (with some hacks due to llvm's cmake code being stupid sometimes):

    compiler-rt (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc (from what you linked): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc++ (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

  6. freebsd-ports

    FreeBSD ports tree (read-only mirror)

    There's also the https://github.com/WebAssembly/wasi-sdk repo which is kind of a meta-build-system for all this.

    But in FreeBSD we build all the pieces directly, here's our build recipes (with some hacks due to llvm's cmake code being stupid sometimes):

    compiler-rt (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc (from what you linked): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc++ (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

  7. nightly-crimes

    Please do not use this.

    More specifically, unsafe blocks may violate the compiler's security guarantees and procedural macros actually run inside the compiler process at build time. Declarative macros do this too, but they're far too restricted to allow shenanigans. Procmacros can disable Rust's stability guarantees[0].

    [0] https://github.com/m-ou-se/nightly-crimes

  8. svntogit-packages

    Discontinued Automatic import of svn 'packages' repo (read-only mirror)

    Looks like Arch Linux is building it themselves with --with-wasi-sysroot. The changes they made to the build script for the 95.0 release are pretty instructive: https://github.com/archlinux/svntogit-packages/commit/532ac4...

    Hopefully Fedora manage to implement this to their satisfaction in the near future, although requiring extremely recent releases of build tools might be a blocker for some distros.

  9. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Stop Hiding the Sharp Knives: The WebAssembly Linux Interface

    4 projects | news.ycombinator.com | 13 Dec 2023
  • WASI: WebAssembly System Interface

    6 projects | news.ycombinator.com | 5 Aug 2023
  • A First Look at Wasm and Docker

    2 projects | dev.to | 6 Nov 2022
  • whats all the fuzz about wasi-libc?

    3 projects | /r/Gentoo | 17 Jun 2022
  • Use CC++ code in DENO using WASM: In VSCODE, using WASI SDK

    3 projects | dev.to | 6 Apr 2021

Did you know that Shell is
the 11th most popular programming language
based on number of references?