November 3, 2019. 6 minutes read

Securely distributing and signing WebAssembly modules using OCI and TUF

Attacks on software repositories happen all the time, and any future WebAssembly repository and client tooling should be prepared to mitigate these attacks. In this article we will explore a minimum security model for WebAssembly registries and client tooling based on The Update Framework, and how to integrate this model when distributing WebAssembly modules using OCI registries.

October 13, 2019. 5 minutes read

Distributing WebAssembly modules using OCI registries

WebAssembly (WASM) is a binary instruction format for a stack-based virtual machine. In familiar terms, WASM is used as a compilation target for various programming languages (C, C++, Rust, or Golang, for example), generating a compact binary with a known format. Mozilla Developer Network describes WebAssembly as having huge implications for the web platform — it provides a way to run code written in multiple languages on the web at near native speed, with client apps running on the web that previously couldn’t have done so.

Read more

September 17, 2019. 4 minutes read

Cross platform GitHub Action for downloading, extracting, and adding tools to path

Ever since I started to use GitHub Actions, one of the tasks I copy and pasted the most contained the following steps: download a file or an archive containing a statically compiled tool extract if it is an archive copy the target tool to a directory in the path And after an embarrassing number of tries, my jobs would contain a step that would resemble the following (taken from an actual GitHub Action):

Read more

September 2, 2019. 13 minutes read

Building self-contained, single executable .NET Core 3 CLI tools

This is the .NET Core’s first iteration at self-contained binaries. It is not ideal - the resulting size of ~40M is probably way too large for simple applications. But the fact that now we can actually create a global tool with .NET and distribute it without requiring users to install .NET is extremely exciting! Not to mention the ease of packaging applications in containers, and not having to copy tens of files.

© Radu M 2019