Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vmsan — Firecracker einfach gemacht. Sichere MicroVMs in Millisekunden hochfahren – von der Installation bis zur interaktiven Shell mit einem Befehl. | Kitploit
Tools/GitHubGitHub/angelorc/vmsan
Cloud-Infrastruktur-SicherheitContainer-SicherheitDynamische Analyse (Sandboxing)Scripting & AutomatisierungSicherheitsvirtualisierungDevSecOps
GitHubangelorc/vmsan

vmsan

Firecracker einfach gemacht. Sichere MicroVMs in Millisekunden hochfahren – von der Installation bis zur interaktiven Shell mit einem Befehl.

Repository anzeigen
828vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

vmsan

🔥 Firecracker microVM Sandbox Toolkit

npm version npm downloads bundle size install size license

Erstellen, verwalten und verbinden Sie isolierte Firecracker‑microVMs von der Kommandozeile. Starten Sie eine sandboxierte VM in Millisekunden, führen Sie Befehle aus, übertragen Sie Dateien — kein SSH erforderlich.

📚 Lesen Sie die vollständige Dokumentation auf vmsan.dev

vmsan demo

✨ Funktionen

  • ⚡ Millisekunden‑Start — Firecracker‑microVMs starten in < 200ms
  • 🔒 Sicherheitsisolierung — jailer, seccomp, cgroups und Netzwerknamespaces pro VM
  • 🖥️ Interaktive Shell — WebSocket‑PTY mit vollständiger Terminalunterstützung
  • 📂 Dateiübertragung — hochladen und herunterladen ohne SSH
  • 🐳 Docker‑Images — rootfs aus jedem OCI‑Image erstellen mit --from-image
  • 🏃 Befehlsausführung — Befehle mit Streaming‑Ausgabe, Umgebungsvariablen‑Injektion und sudo
  • 🧩 Mehrere Laufzeiten — base, node22, node24, python3.13
  • 📸 VM‑Snapshots — VM‑Zustand speichern und wiederherstellen
  • 📊 JSON‑Ausgabe — --json‑Flag für Skripterstellung und Automatisierung

📋 Voraussetzungen

  • Linux (x86_64 oder aarch64) mit KVM‑Unterstützung
  • Root‑/sudo‑Zugriff (erforderlich für TAP‑Geräte‑Netzwerk und jailer)
  • Docker (für Quellinstallationen, lokale Neuerstellungen der Laufzeiten und --from-image)

🚀 Install

root@kitploit:~
curl -fsSL https://vmsan.dev/install | bash

Dies lädt alles herunter und installiert es in ~/.vmsan/:

  • Firecracker + Jailer (neueste Version)
  • Linux‑Kernel (vmlinux 6.1)
  • Ubuntu 24.04 rootfs (von squashfs zu ext4 konvertiert)
  • vmsan CLI + In‑VM‑Agent
  • Laufzeit‑Images (node22, node24, python3.13) als vorgefertigte Artefakte heruntergeladen

Standard‑Releases laden integrierte Laufzeiten von https://artifacts.vmsan.dev/ herunter und benötigen kein Docker. Quellinstallationen bauen Laufzeiten weiterhin lokal.

Deinstallation
root@kitploit:~
curl -fsSL https://vmsan.dev/install | bash -s -- --uninstall
Entwicklungseinrichtung
root@kitploit:~
# Install dependencies
bun install

# Build the in-VM agent
cd agent && make install && cd ..

# Build the CLI
bun run build

# Link local build
mkdir -p ~/.vmsan/bin
ln -sf "$(pwd)/dist/bin/cli.mjs" ~/.vmsan/bin/vmsan

📖 Verwendung

root@kitploit:~
# Create and start a VM
vmsan create --runtime node22 --memory 512 --cpus 2

# Create a VM from a Docker image
vmsan create --from-image node:22-alpine

# List all VMs
vmsan list

# Execute a command inside a VM
vmsan exec <vm-id> ls -la

# Interactive exec with PTY
vmsan exec -i <vm-id> bash

# Connect to a running VM shell
vmsan connect <vm-id>

# Upload a file to a VM
vmsan upload <vm-id> ./local-file.txt /remote/path/file.txt

# Download a file from a VM
vmsan download <vm-id> /remote/path/file.txt ./local-file.txt

# Snapshot a running VM
vmsan snapshot create <vm-id>

# List snapshots
vmsan snapshot list

# Restore a VM from a snapshot
vmsan create --snapshot <snapshot-id>

# Stop a VM
vmsan stop <vm-id>

# Remove a VM
vmsan remove <vm-id>

Globale Flags

FlagBeschreibung
--jsonStrukturierte JSON‑Ausgabe
--verboseDetaillierte Debug‑Ausgabe anzeigen

Befehle

⚠️ Bekannte Einschränkungen

  • Kein Netzwerk zwischen VMs (geplant für 0.4.0)
  • Keine deklarative Konfiguration / vmsan.toml (geplant für 0.5.0)
  • Keine Multi‑Host‑Unterstützung (geplant für 0.7.0)
  • Verwendet nftables mit atomarer Regelanwendung für Netzwerkisolierung (seit 0.2.0)
  • Kein DNS‑ oder SNI‑Filter (geplant für 0.3.0)
  • ICMP standardmäßig von VMs blockiert (verhindert ICMP‑Tunneling)
  • UDP standardmäßig blockiert außer DNS (verhindert UDP‑Exfiltration; QUIC/HTTP3 funktioniert nicht)
  • NTP (UDP 123) blockiert — kvm‑clock für Zeitsynchronisierung verwendet, langlaufende VMs können abweichen
  • Host‑Firewall (ufw/firewalld) benötigt möglicherweise explizite Allow‑Regeln für vmsan‑Datenverkehr
  • Nur Linux — erfordert KVM‑Unterstützung
  • Primäre Plattform: Ubuntu 24.04 LTS

🛠️ Entwicklung

root@kitploit:~
# Build
bun run build

# Link local build
ln -sf "$(pwd)/dist/bin/cli.mjs" ~/.vmsan/bin/vmsan

# Dev mode (watch)
bun run dev

# Run tests
bun run test

# Type check
bun run typecheck

# Lint & format
bun run lint
bun run fmt

🏗️ Architektur

root@kitploit:~
bin/            CLI entry point
src/
  commands/     CLI subcommands
  services/     Firecracker client, agent client, VM service
  lib/          Utilities (jailer, networking, shell, logging)
  errors/       Typed error system
  generated/    Firecracker API type definitions
agent/          Go agent that runs inside the VM
docs/           Documentation site (vmsan.dev)

Funktionsweise

  1. vmsan verwendet Firecracker, um leichte microVMs mit einem Jailer für Sicherheitsisolierung zu erstellen
  2. Jede VM erhält ein TAP‑Netzwerkgerät mit eigenem /30‑Subnetz (198.19.{slot}.0/30)
  3. Ein auf Go basierender Agent läuft in der VM und stellt eine HTTP‑API für Befehlsausführung, Dateioperationen und Shell‑Zugriff bereit
  4. Die CLI kommuniziert mit dem Agenten über das Host‑Gast‑Netzwerk

Der Zustand wird in ~/.vmsan/ gespeichert:

root@kitploit:~
~/.vmsan/
  vms/          VM state files (JSON)
  jailer/       Chroot directories
  bin/          Agent binary
  kernels/      VM kernel images
  rootfs/       Base root filesystems
  registry/     Docker image rootfs cache
  snapshots/    VM snapshots

⚖️ Wie vmsan im Vergleich abschneidet

Warum vmsan? Docker teilt den Host‑Kernel — ein Container‑Escape bedeutet Spiel vorbei. gVisor fängt Syscalls im Benutzerraum ab, reduziert die Angriffsfläche, beseitigt sie aber nicht. Kata Containers bietet echte VM‑Isolierung, erfordert jedoch komplexe Orchestrierung (containerd, shimv2, K8s). Vagrant startet vollständige VMs, die 30+ Sekunden und Hunderte MB benötigen.

vmsan bietet Ihnen Hardware‑Isolierung mit Firecrackers minimaler Angriffsfläche (< 50k Codezeilen), startet in Millisekunden und erfordert keine Konfiguration — installieren und loslegen.

📄 Lizenz

Apache‑2.0

Veröffentlicht unter der APACHE‑2.0 Lizenz. Erstellt von @angelorc und der Community 💛


🤖 automatisch aktualisiert mit automd

Tool herunterladen
BefehlAliasBeschreibung
createErstelle und starte eine neue microVM
listlsListe alle VMs auf
startStarte eine gestoppte VM
stopStoppe eine laufende VM
removermEntferne eine VM
execFühre einen Befehl in einer laufenden VM aus
connectÖffne eine interaktive Shell zu einer VM
uploadLade Dateien auf eine VM hoch
downloadLade Dateien von einer VM herunter
networkAktualisiere die Netzwerkrichtlinie auf einer laufenden VM
snapshotVerwalte VM‑Snapshots (erstellen, auflisten, löschen)
doctorÜberprüfe Systemvoraussetzungen und Installationsintegrität
vmsanDockergVisorKata ContainersVagrant
Isolationsstufe✅ Hardware (KVM)❌ Gemeinsamer Kernel⚠️ Benutzerraum‑Kernel✅ Hardware (QEMU/CH)✅ Hardware (VBox/VMware)
Startzeit✅ ~125ms✅ ~50ms✅ ~5ms⚠️ ~200ms+❌ 30‑60s
Einrichtungskomplexität✅ Ein Befehl✅ Niedrig⚠️ Mittel❌ Hoch⚠️ Mittel
Sicherheitsmodell✅ Jailer + seccomp + cgroups + dedizierter Kernel⚠️ Namespaces + cgroups⚠️ Syscall‑Filterung✅ Vollständige VM + verschachtelte Container✅ Vollständige VM
Netzwerkisolierung✅ Integrierte Richtlinien (allow/deny/custom)❌ Manuell (iptables)⚠️ Erbt von Docker❌ Manuell⚠️ NAT/Brücke
Docker‑Image‑Unterstützung✅ --from-image✅ Nativ✅ Via runsc✅ Via containerd❌
Interaktive Shell✅ WebSocket PTY✅ exec✅ exec✅ exec✅ SSH
Dateiübertragung✅ Integriertes Hochladen/Herunterladen✅ cp✅ cp✅ cp⚠️ Gemeinsame Ordner / SCP
JSON‑Ausgabe✅ Alle Befehle⚠️ Teilweise❌⚠️ Teilweise❌
Speicher‑Overhead✅ ~5 MiB pro VM✅ ~1 MiB⚠️ ~15 MiB❌ ~30 MiB+❌ 512 MiB+
Am besten geeignet für🏆 KI‑Sandboxing, nicht vertrauenswürdiger Code, Multi‑TenantAllgemeine WorkloadsK8s‑HärtungK8s‑ComplianceEntwicklungsumgebungen