Skip to content

Agent Image Tools

Reference guide for the development tools, utilities, and runtime versions pre-installed in the agent and agent-act container images used by the firewall.

The firewall uses two main container image types for running user commands:

  • agent (default): Lightweight Ubuntu 22.04-based image with essential dev tools
  • agent-act: GitHub Actions runner-compatible image based on Ubuntu 24.04

Use the --agent-image flag to choose which image to use:

Terminal window
# Default agent image (lightweight)
sudo awf --allow-domains github.com -- node --version
# GitHub Actions-compatible image
sudo awf --agent-image act --allow-domains github.com -- node --version
ImageBasePurpose
agentubuntu:22.04Minimal development environment with Node.js, Python, git
agent-actcatthehacker/ubuntu:act-24.04GitHub Actions runner subset with multiple runtime versions

Check installed tools and versions by running bash in the container:

Terminal window
# Verify tools in agent image
sudo awf --allow-domains '' -- bash -c 'node --version && python3 --version && git --version'
# Verify tools in agent-act image
sudo awf --agent-image act --allow-domains '' -- bash -c 'which -a node && node --version'
# Interactive exploration
sudo awf --tty --allow-domains '' -- bash

The default agent image (based on Ubuntu 22.04) includes the following pre-installed tools:

ToolVersionPackageNotes
Node.jsv22.22.0Includes npm, npx
npm10.9.4
npx10.9.4
Python3.10.12No pip installed by default
git2.34.1gitStandard git client
GitHub CLI2.4.0+dfsg1gh-cligh command for GitHub API
curl7.81.0curlHTTP client
dig9.18.39dnsutilsDNS lookup utility
ifconfig2.10-alphanet-toolsNetwork interface config
netcat1.218netcat-openbsdTCP/UDP connections
iptables1.8.7iptablesFirewall rules (host-level control)
gosu1.14gosuRun commands as other users
capshlibcap2-binCapability management
gnupg2.2.27gnupgGPG encryption
ca-certificatesca-certificatesTrusted root certificates

The agent-act image (based on Ubuntu 24.04) includes the following pre-installed tools:

ToolVersionPackageNotes
Node.jsv18.20.8Default in PATH (from /opt/hostedtoolcache)
npm10.8.2Bundled with Node.js 18
npx10.8.2Bundled with Node.js 18
corepack0.32.0Yarn/pnpm manager
Node.js (system)v22.22.0Alternative system installation at /usr/bin/node
Python3.12.3Includes pip 24.0
pip24.0Python package manager
git2.52.0gitStandard git client
GitHub CLI2.45.0gh-cligh command for GitHub API
git-lfs3.7.1git-lfsGit Large File Storage
gcc13.3.0build-essentialC compiler
g++13.3.0build-essentialC++ compiler
make4.3build-essentialBuild automation
build-essentialbuild-essentialMetapackage with common build tools
curl8.5.0curlHTTP client
dig9.18.39dnsutilsDNS lookup utility
ifconfig2.10net-toolsNetwork interface config
netcat1.226netcat-openbsdTCP/UDP connections
iptables1.8.10iptablesFirewall rules (host-level control)
gosu1.17gosuRun commands as other users
capshlibcap2-binCapability management
jq1.6jqJSON processor
gnupggnupgGPG encryption
ca-certificatesca-certificatesTrusted root certificates

You can use custom base images with --agent-image:

Terminal window
# Use a specific version of the act image
sudo awf \
--agent-image catthehacker/ubuntu:act-24.04 \
--build-local \
--allow-domains github.com \
-- npm test
# Use your own custom image
sudo awf \
--agent-image myorg/my-base:latest \
--build-local \
--allow-domains github.com \
-- ./my-script.sh