Getting Started

Get up and running with Test Fire Studio in minutes.

How Test Fire Studio Works

1

Upload Your Image

Package your device/test as a Docker image (.tar.gz)

2

Choose a Scenario

Select a pre-built vulnerable network to test against

3

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:

  1. Go to Settings โ†’ API Keys
  2. Click "Create API Key"
  3. Give it a descriptive name (e.g., "CI Pipeline")
  4. Copy and securely store the key - it's only shown once!
Important: Treat your API key like a password. Never commit it to version control. Use environment variables or secret managers.

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
Tip: Include tools like 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

  1. Go to Images
  2. Click "Upload Image"
  3. Select your .tar.gz file
  4. 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

  1. Go to Sessions โ†’ New Session
  2. Select your image
  3. Choose a scenario (start with "Network Validator" for testing)
  4. Select mode: Interactive (SSH access) or CI/CD (automated)
  5. 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.

Next Steps