01 Portable rescue shell

When the system has nothing useful left.

AXE is one executable with an interactive shell, Unix tools, host diagnostics, certificate-only SSH and a verified on-demand tool store. Run it on the host you need to inspect.

targets
Linux {amd64, arm64}
macOS {arm64}
bundled
185 commands
on-demand
52 tools
incident@unknown:/#

root@unknown:/# env -i HOME=/tmp PATH=/nonexistent ./axe --norc --noprofile

bundled registry ready

axe% doctor

Self-exec: works
Degradations: none

axe%

NO PATHNO LOADERNO PACKAGE MANAGERSTILL A SHELL

02 Failure modes

When parts of the host fail

A failed execution route does not take down the shell or disable verification. AXE keeps the capabilities that still work.

SHELL

// No shell

Brush is built in, with interactive Reedline and a minimal backend for scripts and pipes.

interactive shell
PATH

// No coreutils

Bundled applets run without PATH. If the BusyBox-style PATH bridge cannot be published, direct dispatch still works.

local toolbox
PROC

// No procfs

Missing or masked /proc removes one execution route. On Linux, AXE retains its executable descriptor so children can start without procfs.

fd-backed self-exec
EXEC

// Broken filesystem

AXE tries descriptor exec, then a probed private relay and an inode-checked path. Single-file Store tools can run from a sealed memfd.

checked fallback
FD

// Binary deleted

On Linux, a retained descriptor pins the original inode across unlink or replacement, keeping bundled children, workers and SSH sessions launchable.

image continuity
SPAWN

// No child exec

If self-exec fails, child launches fail, but shell builtins, aliases, functions and doctor remain available. AXE does not fall through to PATH.

controlled degradation
NET

// Network gone

Bundled applets stay available. A fresh AXE Store cache keeps working offline.

offline recovery
UID

// No root

Inspection works without root. Operations that require privileges still fail.

unprivileged insight

03 Host inspection

Inspect the host

AXE reports virtualization, containers, sandboxing and restrictions relevant to recovery.

01

Isolation

Recognizes virtual machines, containers—including Porto—and sandboxed environments.

02

Restrictions

Surfaces capabilities, seccomp, namespaces and resource boundaries visible to the current process.

03

Evidence and confidence

Heuristic conclusions include confidence levels and supporting evidence.

axe doctor passive inspection

axe% doctor

Container indicator:
heuristic match — porto (high confidence)
Sandboxing:
heuristic match — bubblewrap (high confidence)
No new privileges:
enabled
Seccomp:
filtering enabled (2 filters)
doctor

Human-readable diagnostics for the current AXE process.

vzik collect

Bounded, structured evidence for incident analysis.

04 One file

No host loader required

The primary Linux release is a static musl ELF executable. It needs no loader, shell or coreutils on the target.

$ file axe
ELF 64-bit LSB executable,
statically linked, stripped
$ readelf -lW axe | grep INTERP
# no output
$ readelf -dW axe | grep NEEDED
# no output
axeELF / EXEC
Remote accesssshd · sftp · relay client
AXE Storesigned · hashed · cached
NO DYNAMIC LOADER REQUIRED

05 Command inventory

Bundled and on-demand tools

Bundled commands work immediately. AXE Store downloads specialist tools into a private, verified cache.

— commands
Available AXE commands
CommandDescriptionSourceCategory
[Evaluate expressions and file predicatesbundledAdministration
archPrint the machine architecturebundledCoreutils
arpInspect and modify the ARP cachebundledNetwork
awkProcess text with pattern-action programsbundledText
b2sumCompute and verify BLAKE2 checksumsbundledCoreutils
base32Encode or decode Base32 databundledCoreutils
base64Encode or decode Base64 databundledCoreutils
basenameStrip directory and suffix components from pathsbundledCoreutils
basencEncode or decode data with printable base encodingsbundledCoreutils
binwalkAnalyze firmware images and embedded filesstoreSecurity
blkidInspect block device attributes and filesystem signaturesbundledStorage
blockdevInspect and configure block device parametersbundledStorage
bpftoolInspect and manage Linux eBPF objectsstoreDebugging
bunzip2Compress or decompress bzip2 databundledCompression
bzcatCompress or decompress bzip2 databundledCompression
bzip2Compress or decompress bzip2 databundledCompression
capshInspect and modify Linux capability statestoreSecurity
catConcatenate files and write them to standard outputbundledCoreutils
chgrpChange file group ownershipbundledAdministration
chmodChange file permission modesbundledAdministration
chownChange file owner and groupbundledAdministration
chrootRun a command with a different root directorybundledAdministration
cksumCompute and verify file checksumsbundledCoreutils
clean-toolsRemove managed AXE Store cache entriesbundledControl
cmpCompare two files byte by bytebundledText
commCompare sorted files line by linebundledCoreutils
commandsList commands available through AXEbundledControl
cpCopy files and directoriesbundledCoreutils
csplitSplit files at context-defined boundariesbundledCoreutils
curlRock solid HTTP clientstoreNetwork
cutSelect fields or byte ranges from input linesbundledCoreutils
dateDisplay or set the system date and timebundledCoreutils
dbus-monitorMonitor messages on D-Bus busesstoreDebugging
ddCopy and convert raw data streamsbundledCoreutils
dfReport filesystem space usagebundledCoreutils
diffCompare files line by linebundledText
diff3Compare three files line by linebundledText
dirList directory contentsbundledCoreutils
dircolorsGenerate color settings for directory listingsbundledCoreutils
dirnameStrip the final component from pathsbundledCoreutils
dmesgInspect the kernel message bufferbundledSystem
dnsxResolve and enumerate DNS recordsstoreNetwork
dockerManage Docker containers through a remote daemonstoreContainers
doctorDiagnose the current AXE runtime, shell, isolation, and restrictionsbundledControl
duEstimate file and directory space usagebundledCoreutils
dumpcapCapture packets for Wireshark command-line toolsstoreNetwork
echoWrite arguments to standard outputbundledCoreutils
envInspect or modify the environment for a commandbundledCoreutils
expandConvert tabs to spacesbundledCoreutils
exprEvaluate arithmetic and string expressionsbundledCoreutils
factorPrint prime factors of integersbundledCoreutils
falseReturn an unsuccessful exit statusbundledCoreutils
fdFind filesystem entries by name and attributesstoreSearch
ffufFuzz web application paths and parametersstoreSecurity
fileIdentify file formats from their contentsbundledBinary
findSearch directory trees and apply predicatesbundledFilesystem
findmntFind and describe mounted filesystemsstoreContainers
fmtReformat text paragraphsbundledCoreutils
foldWrap input lines to a specified widthbundledCoreutils
freeReport system memory usagebundledProcess
fzfFilter and select items interactively with fuzzy matchingstoreSearch
gdbDebug native programs and inspect process statestoreDebugging
gdbserverExpose native programs to a remote GDB debuggerstoreDebugging
getcapPrint Linux file capabilitiesstoreSecurity
getpcapsPrint Linux process capabilitiesstoreSecurity
goblinInspect ELF, PE, Mach-O, and archive binariesbundledBinary
gobusterEnumerate web paths, DNS names, and virtual hostsstoreSecurity
grepSearch text for matching patternsbundledText
groupsPrint group membershipsbundledAdministration
grpcurlCall and inspect gRPC servicesstoreNetwork
gzipCompress or decompress gzip databundledCompression
headPrint the beginning of filesbundledCoreutils
hexdumpDisplay file contents in hexadecimal and other formatsbundledSystem
hostResolve DNS names and addressesbundledNetwork
hostidPrint the numeric host identifierbundledAdministration
hostnameDisplay or set the system hostnamebundledCoreutils
httpMake bounded HTTP requests with structured outputbundledNetwork
httpxProbe HTTP services and identify live web targetsstoreNetwork
hugetopReport huge page usage by processbundledProcess
idPrint user and group identifiersbundledAdministration
ifconfigInspect and configure network interfacesbundledNetwork
inotifywaitWait for filesystem eventsbundledFilesystem
inotifywatchCollect filesystem event statisticsbundledFilesystem
installCopy files while setting attributesbundledAdministration
iostatReport CPU and device I/O statisticsbundledInspection
ipInspect and configure Linux networkingbundledNetwork
ipaddrInspect and configure network addressesbundledNetwork
ipcalcCalculate IPv4 and IPv6 network parametersbundledNetwork
ipcsReport System V IPC resourcesbundledInspection
iplinkInspect and configure network linksbundledNetwork
ipneighInspect and configure neighbor tablesbundledNetwork
iprouteInspect and configure network routesbundledNetwork
ipruleInspect and configure routing policy rulesbundledNetwork
joinJoin lines from files on a common fieldbundledCoreutils
jqProcess and transform JSON databundledData
killSend signals to processesbundledAdministration
kubectlManage Kubernetes clusters from the command linestoreContainers
lastShow recent login sessionsbundledSystem
linkCreate a hard link to a filebundledCoreutils
lnCreate hard or symbolic linksbundledCoreutils
lognamePrint the current login namebundledAdministration
lsList directory contentsbundledCoreutils
lsmodList loaded Linux kernel modulesbundledInspection
lsnsList Linux namespaces and their member processesstoreContainers
lsofList open files and their owning processesbundledInspection
lspciList PCI devicesbundledInspection
lsscsiList SCSI devicesbundledInspection
lsusbList USB devicesbundledInspection
ltraceTrace Linux library callsstoreDebugging
masscanScan large networks for open ports at high speedstoreNetwork
md5sumCompute and verify MD5 checksumsbundledCoreutils
mkdirCreate directoriesbundledCoreutils
mkfifoCreate named pipesbundledAdministration
mknodCreate block, character, or FIFO special filesbundledAdministration
mktempCreate temporary files or directoriesbundledCoreutils
modinfoDisplay Linux kernel module informationbundledInspection
morePage through text one screen at a timebundledCoreutils
mountInspect mounts or mount filesystems read-onlybundledStorage
mountpointCheck whether a path is a mount pointbundledSystem
mvMove or rename files and directoriesbundledCoreutils
naabuScan hosts for open portsstoreNetwork
ncatConnect, listen, redirect, and proxy network trafficstoreNetwork
niceRun a command with adjusted scheduling prioritybundledAdministration
nlNumber lines from input filesbundledCoreutils
nmapDiscover hosts and audit network services with NSE scriptingstoreNetwork
nohupRun a command immune to hangupsbundledAdministration
nprocPrint the number of available processing unitsbundledCoreutils
nsenterRun a program in another process's Linux namespacesstoreContainers
nslookupQuery DNS name serversbundledNetwork
nucleiScan targets for known vulnerabilities using bundled templatesstoreSecurity
numfmtConvert numbers to and from human-readable unitsbundledCoreutils
odDump file contents in octal and other formatsbundledCoreutils
opensslInspect certificates and perform cryptographic operationsstoreSecurity
pasteMerge corresponding lines from filesbundledCoreutils
pathchkCheck pathnames for portability and validitybundledAdministration
pgrepFind process IDs by name and attributesbundledProcess
pidofFind process IDs by executable namebundledProcess
pidwaitWait for selected processes to exitbundledProcess
pingTest network reachability with ICMP echo requestsbundledNetwork
ping6Test network reachability with ICMP echo requestsbundledNetwork
pinkyPrint concise user login informationbundledAdministration
pkillSend signals to processes selected by namebundledProcess
pmapReport process memory mapsbundledProcess
podmanManage Podman through its remote servicestoreContainers
prPaginate or columnate files for printingbundledCoreutils
printenvPrint environment variablesbundledCoreutils
printfFormat and write databundledCoreutils
psReport process statusbundledProcess
pspyMonitor Linux processes without root permissionsstoreDebugging
ptxProduce a permuted index of file contentsbundledCoreutils
pwdPrint the current working directorybundledCoreutils
pwdxReport process working directoriesbundledProcess
pythonStatic Python with HTTP, WebSocket, and HTML librariesstoreRuntime
readlinkPrint resolved symbolic link targetsbundledCoreutils
realpathResolve paths to canonical absolute formbundledCoreutils
refresh-toolsRefresh and verify AXE Store metadatabundledControl
rgSearch file contents with regular expressionsstoreSearch
rmRemove files and directoriesbundledCoreutils
rmdirRemove empty directoriesbundledCoreutils
rsyncSynchronize files efficiently between local and remote pathsstoreNetwork
scpCopy files securely between hosts with OpenSSHstoreNetwork
sedTransform text streams with editing expressionsbundledText
seqPrint numeric sequencesbundledCoreutils
setcapSet Linux file capabilitiesstoreSecurity
sftpTransfer files through OpenSSH SFTPstoreNetwork
sha1sumCompute and verify SHA-1 checksumsbundledCoreutils
sha224sumCompute and verify SHA-224 checksumsbundledCoreutils
sha256sumCompute and verify SHA-256 checksumsbundledCoreutils
sha384sumCompute and verify SHA-384 checksumsbundledCoreutils
sha512sumCompute and verify SHA-512 checksumsbundledCoreutils
shredOverwrite files to obscure their contentsbundledCoreutils
shufRandomly permute input linesbundledCoreutils
skillSend signals to processes selected interactivelybundledProcess
slabtopDisplay Linux kernel slab cache usagebundledProcess
sleepDelay execution for a durationbundledCoreutils
sniceAdjust scheduling priority for selected processesbundledProcess
socatRelay bidirectional data between sockets and streamsstoreNetwork
sortSort lines of textbundledCoreutils
splitSplit files into piecesbundledCoreutils
sqlite3Query and modify SQLite databasesstoreData
ssInspect sockets and network connectionsstoreNetwork
sshConnect securely to remote hosts with OpenSSHstoreNetwork
ssh-addAdd OpenSSH private keys to an authentication agentstoreNetwork
ssh-agentHold OpenSSH private keys for authenticated sessionsstoreNetwork
ssh-keygenGenerate and manage OpenSSH authentication keysstoreNetwork
ssh-keyscanCollect OpenSSH host public keysstoreNetwork
sshdServe certificate-authenticated SSH and SFTP sessionsbundledService
statDisplay file or filesystem statusbundledAdministration
straceTrace Linux system calls and signalsstoreDebugging
stringsExtract printable strings from filesbundledBinary
sttyInspect and change terminal settingsbundledAdministration
subfinderEnumerate subdomains from passive and active sourcesstoreNetwork
sumCompute file checksums and block countsbundledCoreutils
syncFlush buffered filesystem databundledCoreutils
sysctlInspect and modify kernel parametersbundledProcess
tacConcatenate files in reverse line orderbundledCoreutils
tailPrint the end of filesbundledCoreutils
tarCreate, inspect, and extract tar archivesbundledArchive
tcpdumpCapture and inspect network packetsstoreNetwork
teeCopy standard input to files and standard outputbundledCoreutils
testEvaluate expressions and file predicatesbundledCoreutils
timeoutRun a command with a time limitbundledAdministration
tloadDisplay a terminal graph of system loadbundledProcess
topDisplay live process and system statisticsbundledProcess
touchUpdate timestamps or create empty filesbundledCoreutils
trTranslate or delete charactersbundledCoreutils
tracerouteTrace the network path to a hostbundledNetwork
traceroute6Trace the network path to a hostbundledNetwork
treeDisplay directory treesbundledFilesystem
trueReturn a successful exit statusbundledCoreutils
truncateShrink or extend files to a specified sizebundledCoreutils
tsharkAnalyze network captures from the command linestoreNetwork
tsortTopologically sort dependency pairsbundledCoreutils
ttyPrint the terminal connected to standard inputbundledAdministration
unamePrint system informationbundledCoreutils
unexpandConvert spaces to tabsbundledCoreutils
uniqReport or remove adjacent duplicate linesbundledCoreutils
unlinkRemove one filesystem namebundledCoreutils
unshareRun a program in new Linux namespacesstoreContainers
unxzCompress or decompress xz databundledCompression
uptimeReport system uptime and load averagesbundledAdministration
usersPrint logged-in user namesbundledAdministration
vdirList directory contentsbundledCoreutils
vmstatReport virtual memory statisticsbundledProcess
vzikCollect bounded host and container evidence as JSONLbundledHost inspection
wShow logged-in users and their processesbundledProcess
watchRun a command repeatedly and display its outputbundledProcess
wcCount lines, words, and bytesbundledCoreutils
whichLocate executables resolved through PATHbundledEnvironment
whoShow logged-in usersbundledAdministration
whoamiPrint the effective user namebundledCoreutils
xargsBuild and run commands from standard inputbundledProcess
xhFancy HTTP clientstoreNetwork
xzCompress or decompress xz databundledCompression
xzcatCompress or decompress xz databundledCompression
yesRepeat a string until interruptedbundledCoreutils
yqProcess and transform YAML, JSON, and XML datastoreData

/ focus search · esc clear

06 sshd + relay

SSH access through an outbound connection

Run the certificate-only SSH/SFTP server on the target. A standalone relay makes it reachable over an outbound TCP+yamux or QUIC connection.

>_ Operator OpenSSH client
⇄ axe-relay standalone service · TCP+yamux · QUIC+mTLS
AX AXE sshd isolated target
01

Certificate identity

OpenSSH user certificates authorize logins. The certificate principal matches the login and its configured allowlist.

02

Separate QUIC identities

sshd pins the relay certificate and presents its own embedded client identity.

03

Outbound registration

sshd keeps one control connection with bounded reconnect backoff; relay assigns its public TCP port.

04

Owned lifecycle

Listeners bind before readiness. Connection tasks are bounded, supervised and shut down explicitly.

07 Lookup order

Command lookup order

Aliases, functions, builtins and bundled applets take precedence. AXE Store integrity failures stop execution rather than falling through to a PATH binary.

  1. 01alias / function
  2. 02shell builtin
  3. 03bundled applet
  4. 04AXE Store
  5. 05PATHtransient failure only
!

signature · digest · schema · TLS failure

STOP / 126

AXE_STORE_MODE auto cache + network · cache-only verified cache · off PATH only. Auto backs off transient network failures for 30 seconds; SSH sessions inherit the effective restriction.

08 Downloads and builds

Get AXE before you need it.

Download an OSS binary for your target from GitHub Releases. You can also build from source.

build.sh
nix develop .#default
just build-linux-amd64
./dist/axe-x86_64-unknown-linux-musl --version

edition: oss verify the downloaded binary against SHA256SUMS before installing