Prerequisites
Strix requires Docker to be installed and running:Docker Desktop must be running before you start Strix. If Docker is not available, Strix will exit with an error.
Sandbox Image
Default Image
Strix uses a pre-built Docker image that contains all security testing tools:- Python runtime with security libraries
- Terminal environments for command execution
- Browser automation (Playwright)
- HTTP proxy (Caido)
- Common security tools (Nuclei, etc.)
Custom Image
You can use a custom sandbox image:Image Pull
On first run, Strix automatically pulls the sandbox image:Runtime Configuration
Runtime Backend
Strix uses Docker as the runtime backend:Currently, only
docker is supported as a runtime backend. Other backends may be added in future releases.Execution Timeout
Control how long Strix waits for individual tool executions:- Terminal command execution
- Python script execution
- File operations
- HTTP requests via proxy
Connection Timeout
Control how long Strix waits to connect to the sandbox tool server:Container Management
Container Naming
Strix creates containers with predictable names:scan-id is derived from the scan configuration.
Container Reuse
Strix automatically reuses containers across runs:- If a container with the same scan ID exists, Strix reuses it
- If the container is stopped, Strix restarts it
- If the container is corrupted, Strix recreates it
Manual Container Management
You can manually manage Strix containers:Container Cleanup
Strix automatically cleans up containers when:- The scan completes successfully
- You exit the TUI
- The process is interrupted (Ctrl+C)
Network Configuration
Port Bindings
Strix automatically binds container ports to random host ports:- Tool Server - Container port
48081→ Random host port - Caido Proxy - Container port
48080→ Random host port
Host Access
The sandbox can access services on your host machine using:Docker Host
If you’re using a remote Docker daemon, setDOCKER_HOST:
- For local Docker: Uses
127.0.0.1 - For remote Docker: Uses the hostname from
DOCKER_HOST
Container Capabilities
Network Capabilities
Strix containers run with elevated network capabilities:- Network packet manipulation
- Raw socket access
- Custom network configurations
- Advanced network reconnaissance
These capabilities are required for certain security testing techniques. They are isolated to the container and do not affect your host system.
Workspace Mounts
Local Source Code
When testing local code, Strix automatically copies it to the container:- Path inside container:
/workspace/{directory-name} - Ownership:
pentester:pentester(non-root) - Permissions:
755(readable and executable)
Multi-Target Mounts
With multiple local targets, each is mounted separately:Resource Limits
By default, Strix containers have no resource limits. You can add limits using Docker configuration:Memory Limit
Edit Docker daemon configuration (/etc/docker/daemon.json):
CPU Limit
Similarly, you can configure CPU limits in Docker daemon configuration.Resource limits are not currently exposed as Strix configuration options. You’ll need to configure them at the Docker daemon level.
Troubleshooting
Docker Not Found
If you see “Docker not found”:- Install Docker Desktop: https://www.docker.com/products/docker-desktop
- Ensure Docker is in your PATH:
which docker - Start Docker Desktop
Docker Not Running
If you see “Docker is not available”:- Start Docker Desktop
- Verify it’s running:
docker ps - Check Docker daemon:
docker info
Permission Denied
If you see permission errors:Image Pull Failed
If image pull fails:- Check your internet connection
- Verify you can reach GitHub Container Registry:
- Try pulling manually:
- Check Docker Hub rate limits (if applicable)
Container Creation Failed
If container creation fails:- Check Docker daemon logs:
docker logs - Ensure sufficient disk space:
df -h - Remove old containers:
docker container prune - Remove old images:
docker image prune
Tool Server Timeout
If you see “Tool server failed to start”:- Increase connection timeout:
- Check container logs:
- Verify container is running:
Port Conflicts
Strix uses random ports to avoid conflicts. If you still encounter issues:- Check for port exhaustion:
netstat -an | grep LISTEN - Restart Docker Desktop
- Remove old containers:
docker rm -f $(docker ps -a --filter "name=strix-scan-" -q)
Performance Optimization
Container Reuse
To maximize performance, let Strix reuse containers:Disk Space
Periodically clean up old containers and images:Resource Allocation
Allocate sufficient resources to Docker Desktop:- Open Docker Desktop settings
- Increase CPU and memory allocation
- Recommended: 4+ CPUs, 8+ GB RAM