Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
vmsan — Firecracker reso semplice. Avvia microVM sicuri in millisecondi, dall'installazione alla shell interattiva con un unico comando. | Kitploit
Strumenti/GitHubGitHub/angelorc/vmsan
Sicurezza dell'Infrastruttura CloudSicurezza dei ContenitoriAnalisi Dinamica (Sandboxing)Scripting e AutomazioneVirtualizzazione per la SicurezzaDevSecOps
GitHubangelorc/vmsan

vmsan

Firecracker reso semplice. Avvia microVM sicuri in millisecondi, dall'installazione alla shell interattiva con un unico comando.

Vedi Repository
8285 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

vmsan

🔥 Kit di strumenti sandbox per microVM Firecracker

npm version npm downloads bundle size install size license

Crea, gestisci e connettiti a microVM Firecracker isolate dalla riga di comando. Avvia una VM sandbox in millisecondi, esegui comandi, trasferisci file — nessun SSH necessario.

📚 Leggi la documentazione completa su vmsan.dev

vmsan demo

✨ Funzionalità

  • ⚡ Avvio in millisecondi — Le microVM Firecracker si avviano in < 200ms
  • 🔒 Isolamento di sicurezza — jailer, seccomp, cgroups e namespace di rete per VM
  • 🖥️ Shell interattiva — WebSocket PTY con supporto terminale completo
  • 📂 Trasferimento file — carica e scarica senza SSH
  • 🐳 Immagini Docker — costruisci rootfs da qualsiasi immagine OCI con --from-image
  • 🏃 Esecuzione comandi — esegui comandi con output in streaming, iniezione di env e sudo
  • 🧩 Runtime multipli — base, node22, node24, python3.13
  • 📸 Snapshot VM — salva e ripristina lo stato della VM
  • 📊 Output JSON — flag --json per scripting e automazione

📋 Prerequisiti

  • Linux (x86_64 o aarch64) con supporto KVM
  • Accesso root/sudo (richiesto per networking dispositivo TAP e jailer)
  • Docker (per installazioni da sorgente, ricostruzioni runtime locali e --from-image)

🚀 Installa

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

Questo scarica e installa tutto in ~/.vmsan/:

  • Firecracker + Jailer (ultima release)
  • Kernel Linux (vmlinux 6.1)
  • rootfs Ubuntu 24.04 (convertito da squashfs a ext4)
  • CLI vmsan + agente in-VM
  • Immagini runtime (node22, node24, python3.13) scaricate come artefatti precompilati

Le installazioni di release standard scaricano i runtime integrati da https://artifacts.vmsan.dev/ e non richiedono Docker. Le installazioni da sorgente costruiscono ancora i runtime localmente.

Disinstallazione
root@kitploit:~
curl -fsSL https://vmsan.dev/install | bash -s -- --uninstall
Configurazione sviluppo

If you want to build from source:

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

📖 Utilizzo

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>

Flag globali

FlagDescrizione
--jsonOutput JSON strutturato
--verboseMostra output di debug dettagliato

Comandi

⚠️ Limitazioni note

  • Nessun networking tra VM (pianificato per 0.4.0)
  • Nessuna configurazione dichiarativa / vmsan.toml (pianificato per 0.5.0)
  • Nessun supporto multi-host (pianificato per 0.7.0)
  • Utilizza nftables con applicazione atomica delle regole per l'isolamento di rete (dalla 0.2.0)
  • Nessun filtro DNS o SNI (pianificato per 0.3.0)
  • ICMP bloccato per default dalle VM (previene il tunneling ICMP)
  • UDP bloccato per default tranne DNS (previene l'esfiltrazione UDP; QUIC/HTTP3 non funzionerà)
  • NTP (UDP 123) bloccato — kvm-clock usato per sincronizzazione ora, VM a lunga esecuzione possono slittare
  • Il firewall host (ufw/firewalld) potrebbe necessitare regole di permesso esplicite per il traffico vmsan
  • Solo Linux — richiede supporto KVM
  • Piattaforma principale: Ubuntu 24.04 LTS

🛠️ Sviluppo

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

🏗️ Architettura

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)

Come funziona

  1. vmsan utilizza Firecracker per creare microVM leggere con un jailer per isolamento di sicurezza
  2. Ogni VM riceve un dispositivo di rete TAP con la propria sottorete /30 (198.19.{slot}.0/30)
  3. Un agente basato su Go viene eseguito all'interno della VM, esponendo un'API HTTP per esecuzione comandi, operazioni file e accesso shell
  4. La CLI comunica con l'agente tramite la rete host-guest

Lo stato è persistito in ~/.vmsan/:

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

⚖️ Confronto con vmsan

Perché vmsan? Docker condivide il kernel host — una fuga dal contenitore significa game over. gVisor intercetta le syscall nello spazio utente, riducendo la superficie di attacco ma non eliminandola. Kata Containers fornisce un vero isolamento VM ma richiede un' orchestrazione complessa (containerd, shimv2, K8s). Vagrant avvia VM complete che impiegano 30+ secondi e centinaia di MB.

vmsan ti offre isolamento a livello hardware con la superficie di attacco minima di Firecracker (< 50k righe di codice), si avvia in millisecondi e richiede configurazione zero — installa e via.

📄 Licenza

Apache-2.0

Pubblicato sotto licenza APACHE-2.0. Realizzato da @angelorc e community 💛


🤖 aggiornato automaticamente con automd

Scarica lo strumento
ComandoAliasDescrizione
createCrea e avvia una nuova microVM
listlsElenca tutte le VM
startAvvia una VM ferma
stopFerma una VM in esecuzione
removermRimuovi una VM
execEsegui un comando all'interno di una VM in esecuzione
connectApre una shell interattiva su una VM
uploadCarica file su una VM
downloadScarica file da una VM
networkAggiorna la policy di rete su una VM in esecuzione
snapshotGestisci snapshot VM (crea, elenca, elimina)
doctorVerifica prerequisiti di sistema e stato dell'installazione
vmsanDockergVisorKata ContainersVagrant
Livello di isolamento✅ Hardware (KVM)❌ Kernel condiviso⚠️ Kernel spazio utente✅ Hardware (QEMU/CH)✅ Hardware (VBox/VMware)
Tempo di avvio✅ ~125ms✅ ~50ms✅ ~5ms⚠️ ~200ms+❌ 30-60s
Complessità setup✅ Un comando✅ Bassa⚠️ Media❌ Alta⚠️ Media
Modello di sicurezza✅ Jailer + seccomp + cgroups + kernel dedicato⚠️ Namespace + cgroups⚠️ Filtraggio syscall✅ VM completa + contenitori nidificati✅ VM completa
Isolamento di rete✅ Policy integrate (allow/deny/custom)❌ Manuale (iptables)⚠️ Eredita da Docker❌ Manuale⚠️ NAT/bridge
Supporto immagini Docker✅ --from-image✅ Native✅ Via runsc✅ Via containerd❌
Shell interattiva✅ WebSocket PTY✅ exec✅ exec✅ exec✅ SSH
Trasferimento file✅ Caricamento/scaricamento integrati✅ cp✅ cp✅ cp⚠️ Cartelle condivise / SCP
Output JSON✅ Tutti i comandi⚠️ Parziale❌⚠️ Parziale❌
Overhead di memoria✅ ~5 MiB per VM✅ ~1 MiB⚠️ ~15 MiB❌ ~30 MiB+❌ 512 MiB+
Ideale per🏆 Sandbox AI, codice non fidato, multi-tenancyCarichi di lavoro generaliRafforzamento K8sConformità K8sAmbienti di sviluppo