Getting Started
Get up and running with Test Fire Studio in minutes.
How Test Fire Studio Works
Upload Your Image
Package your device/test as a Docker image (.tar.gz)
Choose a Scenario
Select a pre-built vulnerable network to test against
Run & Analyze
Execute your test and collect results/artifacts
Quick Start (CLI)
The fastest way to get started is with the Arena CLI:
# Install arena CLI (optional but recommended)
curl -sSL https://get.testfirestudio.com | sh
# Set your API key
export ARENA_API_KEY="arena_..."
# Run your first test
arena test --scenario network-validator --image ./my-dut.tar.gz
Step 1: Create an API Key
API keys allow programmatic access to Test Fire Studio. Create one from your dashboard:
- Go to Settings โ API Keys
- Click "Create API Key"
- Give it a descriptive name (e.g., "CI Pipeline")
- Copy and securely store the key - it's only shown once!
Step 2: Create Your DUT Image
A DUT (Device Under Test) image is a Docker image containing your test scripts or the software you want to test. When the test runs, your image is launched with access to a virtual WiFi adapter.
Image Requirements
wlan0- Virtual WiFi adapter (monitor mode capable)- Your test script should exit with code 0 for pass, non-zero for fail
- Write artifacts to
/results/for collection - Architecture: amd64, arm64, or armhf
- Format: gzipped tar archive (.tar.gz)
Example: Simple Test Image
# Create a simple test image
mkdir my-dut && cd my-dut
# Create the test script
cat > test.sh << 'EOF'
#!/bin/bash
set -e
echo "Starting WiFi network scan..."
iw dev wlan0 scan | grep SSID
# Write results to /results/ for artifact collection
echo "Test completed at $(date)" > /results/report.txt
exit 0
EOF
chmod +x test.sh
# Create the Dockerfile
cat > Dockerfile << 'EOF'
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y \
wireless-tools \
iw \
&& rm -rf /var/lib/apt/lists/*
COPY test.sh /test.sh
ENTRYPOINT ["/test.sh"]
EOF
# Build and export
docker build -t my-dut .
docker save my-dut | gzip > my-dut.tar.gz
aircrack-ng, bully, or reaver for WiFi pentesting. The virtual adapter supports monitor mode and packet injection.
Step 3: Upload Your Image
Upload your image through the dashboard or API:
๐ค Dashboard Upload
- Go to Images
- Click "Upload Image"
- Select your .tar.gz file
- Wait for processing
โจ๏ธ CLI Upload
arena image upload ./my-dut.tar.gz
Images are automatically deduplicated - if you upload the same content twice, we'll reuse the existing image.
Step 4: Run a Test
Now run your image against a scenario:
Using the API
curl -X POST https://api.testfirestudio.com/api/v1/tests \
-H "Authorization: ApiKey arena_..." \
-H "Content-Type: application/json" \
-d '{
"scenario_id": "network-validator",
"image_id": "YOUR_IMAGE_ID",
"timeout_secs": 300,
"stream": false
}'
Using the Dashboard
- Go to Sessions โ New Session
- Select your image
- Choose a scenario (start with "Network Validator" for testing)
- Select mode: Interactive (SSH access) or CI/CD (automated)
- Click "Start Session"
CI/CD Integration
Integrate security testing into your CI/CD pipeline. Here's an example for GitHub Actions:
name: WiFi Security Tests
on: [push, pull_request]
jobs:
security-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build DUT image
run: |
docker build -t dut-image .
docker save dut-image | gzip > dut-image.tar.gz
- name: Run Arena test
env:
ARENA_API_KEY: ${{ secrets.ARENA_API_KEY }}
run: |
curl -sSL https://get.testfirestudio.com | sh
arena test \
--scenario network-validator \
--image ./dut-image.tar.gz \
--wait
See the CI/CD Integration Guide for more examples including GitLab CI and Jenkins.