A language that mutates its own bytecode
Built for practical security work
Mutant is a programming language built for practical security work, forensic automation, and cross-platform analysis tooling.
What is Mutant
It is not just a scripting language with a few security helpers bolted on. The language, compiler, virtual machine, runtime security layer, and example corpus are designed together so you can write small programs that do real investigations, produce reusable artifacts, and run under a security model that includes encryption, signing, anti-tamper checks, anti-debugging, anti-sandbox checks, and bytecode polymorphism.
- It automates security and forensic workflows.
- It can compile .mut source into encrypted bytecode and standalone binaries.
- It has a large standard library (409 builtins across 33 categories): strings, math, hashing,…
Pipeline
The parser builds an AST and the compiler walks it, emitting a flat byte stream directly — nothing sits in between. The VM then runs those bytes on an expression stack, with the polymorphic engine free to mutate them on the way through.
Bytecode IR reference ↗Why Mutant · four value props
Tool carousel · drag to scroll
All docs ↗- What Is Mutant?
- Detailed Security Explanations (Current Behavior)
- Mutant Capability Reference
- Mutant Language Reference
- Mutant WASM REPL Definitive Guide
- Mutant IR / ByteCode Reference
- Polymorphic Bytecode LLD (Current + Roadmap)
- Binary Artifact Security Deep Dive
- Security Low-Level Design (LLD)
- Security Architecture Diagrams (Code-Synced)
- Security Runbook
- Security Implementation Guide (Current + Next Steps)
- Mutant LSP + VS Code Extension Onboarding in 60 Minutes
- Mutant LSP + VS Code Extension Low-Level Design (LLD)
VSCode extension
Mutant for VSCode
Diagnostics, hover, completion, rename, formatting and semantic tokens for .mut files, served over LSP by the mlsp process.
from docs/LSP_EXTENSION_LLD.md