Compile an existing Go network tool into a single Windows or macOS binary for a red team engagement.
Port a .NET Framework C# tool to run through the WASI/WebAssembly pipeline instead of natively.
Apply a ghost profile to change a compiled binary's internal symbols to reduce static detection rates.
| praetorian-inc/wasmforge | aymanhs/nanotdb | 0xmassi/pocketdev | |
|---|---|---|---|
| Stars | 102 | 102 | 101 |
| Language | Go | Go | Go |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 3/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
C# builds need a Docker image bundling the .NET SDK, NativeAOT-LLVM, and WASI SDK toolchains.
WasmForge is a command line tool that takes programs written in Go, or existing C# projects, and compiles them into a single native binary that runs on Windows or macOS. Instead of running directly on the operating system, the guest program is compiled to WebAssembly and executed inside a sandboxed runtime built on a modified version of the wazero project. Even though the code runs inside this sandbox, it still gets access to networking, raw sockets, Windows APIs, and macOS framework APIs, so a normal Go program using net.Dial or net/http can be built without changing its source code. The project is built primarily for security researchers doing red team work. Its README is candid about what still does not work: a meaningful portion of the Windows Win32 API is unsupported, especially APIs that rely on callback thunks, and some operations will simply crash. The author gives the well known Sliver command and control framework as an example: many of its commands run through WasmForge, but the port is not complete, and small quirks remain, like file paths still showing forward slashes instead of the usual Windows backslash format. Support for compiling C# to this same format is described as more experimental than the Go path, often requiring parts of the program to be rewritten to work at all. WasmForge is aimed mainly at getting past static detection methods that scan a binary's contents, it is less effective against tools that inspect a running program's memory, and the README notes that obvious strings inside a binary can still trigger simple in-memory scans. You can get started by downloading a prebuilt release binary, using a bundled Docker image that includes the full .NET and WebAssembly toolchain needed for C# builds, or building from source with a single make command. A build command lets you target Windows or macOS, choose a raw sockets option, and pick a ghost profile that changes how the compiled binary's internal symbols look to reduce detection rates. The project openly acknowledges it was built with heavy use of AI coding tools, and the codebase is described by its own author as still somewhat disorganized in places.
WasmForge compiles Go or C# programs into a single native Windows or macOS binary that runs the code inside a WebAssembly sandbox, aimed at red team security testing.
Mainly Go. The stack also includes Go, C#, WebAssembly.
No license information stated in the README.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.