Repository navigation
CLI Reference
Melvin PETIT edited this page Jun 17, 2026
·
1 revision
bull Launch the interactive menu
bull <command> [args] Run a command directly
bull --help | -h | help Show built-in help
bull --version | -v | version Print the version
Bull must be run as root.
| Command | Aliases | Arguments | Description |
|---|---|---|---|
init |
— | — | Check dependencies, set up the inventory, prepare the provider |
create |
— | <name> [options] |
Create a new Kali or Parrot VM |
list |
ls |
— | List all VMs with their status |
start |
— | <name> |
Start a VM |
stop |
— | <name> |
Gracefully stop a VM |
destroy |
rm |
<name> |
Permanently destroy a VM (asks to confirm) |
connect |
ssh |
<name> |
SSH into a running VM |
view |
gui |
<name> |
Open the graphical console |
snapshot |
snap |
<name> [label] |
Snapshot a VM (label optional) |
restore |
— | <name> <label> |
Restore a VM to a snapshot |
vpn |
— | <name> <config> |
Configure a VPN with kill switch |
toolkit |
— | <name> <git-url> |
Install a toolkit from a Git URL |
status |
— | — | Global status overview |
sync |
— | — | Reconcile the inventory with real VM state |
show-pass |
showpass, credentials
|
<name> |
Decrypt and display VM credentials |
| Option | Default | Description |
|---|---|---|
--os <kali|parrot> |
kali |
Guest operating system |
--ram <MB> |
4096 |
Memory in megabytes |
--cpu <N> |
2 |
Number of vCPUs |
--resolution <WxH> |
1920x1080 |
Display resolution (prompted if omitted) |
--username <user> |
OS default | Login user created inside the VM |
--password-file <path> |
— | Read the password from a file, then wipe the file |
--password <pass> |
— |
Deprecated — visible in ps aux, use --password-file
|
--keyboard <layout> |
prompted | Keyboard layout (us, fr, de, …) |
If no password option is given, Bull generates a strong 24-character password and stores it encrypted. Retrieve it with show-pass.
| Variable | Default | Effect |
|---|---|---|
BULL_HOME |
~/.bull |
Data directory (inventory, credentials, GPG keys, registry). On WSL2+VirtualBox this must be a Windows path under /mnt/. |
BULL_PROVIDER |
auto | Force libvirt or virtualbox
|
BULL_DEBUG |
0 |
Set to 1 for verbose debug logging |
BULL_DRY_RUN |
0 |
Set to 1 to print actions without changing any VM |
NO_COLOR |
unset | Disable colored output (no-color.org) |
bull init
bull create kali-lab --ram 4096 --cpu 2 --resolution 2560x1440
bull create parrot-lab --os parrot --ram 4096 --cpu 2 --keyboard fr
bull create scratch --password-file ~/secret.txt
bull start kali-lab
bull connect kali-lab
bull snapshot kali-lab pre-exploit
bull restore kali-lab pre-exploit
bull vpn kali-lab ~/vpn/config.ovpn
bull toolkit kali-lab https://github.com/owner/tool.git
bull show-pass kali-lab
bull destroy kali-labCommands return non-zero on failure and log the reason. Failures are also appended to ${BULL_HOME}/bull-error.log for later inspection.
Bull · MIT License · Technical hardening only — see the Security Model.
Getting started
Features
Internals
Help