
Deploy Strix AI Pentest Agent
Autonomous AI pentest agent as a headless Railway worker. [Aug '26]
Just deployed
/workspace
π’ Actively maintained β last updated Aug '26.
Deploy and Host Strix with Railway
Deploy and host Strix AI, an autonomous AI penetration-testing agent, as a headless, containerized worker on Railway. The image ships a full pentest toolchain (Subfinder, Nmap, Nuclei, SQLMap, TruffleHog, and more), and a registered local runtime backend (STRIX_RUNTIME_BACKEND=local) executes scan tools in-container β no Docker daemon required.
> [!WARNING] > Only run Strix against systems you own or have explicit, written authorization to test. Unauthorized security testing is illegal in most jurisdictions.
About Hosting Strix
Strix runs as an on-demand headless worker, not an HTTP server: the container stays resident (sleep infinity) and you launch scans through railway ssh. A volume at /workspace persists scan reports and workspace state across restarts and redeploys. Google Gemini powers the LLM reasoning loop via a single GEMINI_API_KEY variable; alternatively, set STRIX_LLM=zai/glm-5.3 with a ZAI_API_KEY to run GLM-5.3 through Z.AI (including GLM Coding Plan keys, via ZAI_API_BASE).
Why Deploy Strix on Railway?
- No infrastructure to run locally β the full Kali-based toolchain (10+ GB of scanners) lives in a prebuilt image, ready in about a minute.
- Persistent workspace β volumes keep scan reports, session state, and nuclei templates across redeploys.
- On-demand usage β pay only while the worker is up; scale down between engagement windows.
- CLI-first operation β trigger scans, fetch reports, and tail logs entirely from
railway ssh/railway logs.
Common Use Cases
- Authorized penetration tests and bug-bounty recon on assets you own or are contracted to test.
- Continuous security scanning of staging environments with AI-driven triage.
- Security research and tool experimentation without local toolchain setup.
- Ad-hoc vulnerability assessment by consultants who need a portable, reproducible pentest workstation.
Dependencies for Strix Hosting
Deployment Dependencies
- Gemini API key from Google AI Studio β required; set as the
GEMINI_API_KEYservice variable. - Docker image
wotonews/strix:v0.3.0(public β no registry credentials needed). - A Railway volume attached at
/workspacefor persistent scan storage.
π Architecture & Components
graph TD
Ops([Operator / Railway CLI]) --> RW[strix Service]
RW --> Vol[(Volume at /workspace)]
RW --> LLM[Google Gemini API]
π¦ Services & Resources Included
| Component Name | Type | Source / Image | Persistent Volume | Public URL | Description |
|---|---|---|---|---|---|
strix | Service | Docker image wotonews/strix:v0.3.0 | Yes β /workspace | No | Headless Strix worker with full pentest toolchain. |
The service runs sleep infinity: it is an on-demand worker, not an HTTP server. Attach a Railway volume at /workspace after deployment so scan reports survive restarts and redeploys. Scan reports can contain sensitive target data β restrict project access and delete reports when they are no longer needed.
βοΈ Environment Variables Config
This template uses Google Gemini as its default LLM provider, with Z.AI GLM-5.3 as an alternative.
π Required Variables
| Variable Name | Default Value / Placeholder | Description | Security |
|---|---|---|---|
GEMINI_API_KEY | user-supplied | Gemini API key. Create one in Google AI Studio. | Sensitive |
π© Optional Configurations
| Variable Name | Default Value | Description |
|---|---|---|
STRIX_LLM | gemini/gemini-3.1-pro-preview | LiteLLM provider/model identifier. Gemini 3.1 Pro is currently in Public Preview. Set zai/glm-5.3 to use GLM-5.3 via Z.AI (requires ZAI_API_KEY). |
STRIX_RUNTIME_BACKEND | local | Executes scan tools in-container via the SDK's Unix local sandbox. |
GEMINI_PROJECT_NAME | (empty) | Google Cloud project name, for accounts requiring project attribution. |
GEMINI_PROJECT_NUMBER | (empty) | Google Cloud project number, for accounts requiring project attribution. |
ZAI_API_KEY | (empty) | Z.AI API key; required when STRIX_LLM uses a zai/ model. Sensitive. GLM Coding Plan keys are supported together with ZAI_API_BASE. |
ZAI_API_BASE | (empty) | Z.AI API base URL override. Set https://api.z.ai/api/coding/paas/v4 for GLM Coding Plan keys. |
π Setup & Deployment Guide
Prerequisites
- Railway CLI Installed (
railwayon PATH) - Logged in to your Railway account (
railway login) - A Gemini API key from Google AI Studio
Local Setup
The template ships as a prebuilt image. To run it locally:
docker pull wotonews/strix:v0.3.0
docker run --rm --env GEMINI_API_KEY=your-gemini-api-key wotonews/strix:v0.3.0 strix -n -t https://example.com
To develop against the source instead, build the image yourself:
docker build -t strix-template .
docker run --rm --env GEMINI_API_KEY=your-gemini-api-key strix-template strix -n -t https://example.com
Shipping to Railway
Deploy the prebuilt image β no repository access needed:
# Link to your existing Railway project or initialize a new one
railway init
# Create the service from the published image
railway add --service strix --image wotonews/strix:v0.3.0
# Set the required secret
railway variable set --service strix "GEMINI_API_KEY=your-gemini-api-key"
Then in the Railway dashboard (or CLI), attach a volume to the strix service at /workspace.
π₯οΈ Executing Scans
Because the container runs completely headless, there is no public web service and intentionally no healthcheck endpoint. Run scans through the Railway CLI:
# 1. Open a shell into the running container
railway ssh
# 2. Run your Strix command
strix -n -t https://example.com
Or execute directly from your local terminal:
railway ssh -- "strix -n -t https://example.com"
Reports are written to /workspace. Retrieve them with:
railway volume browse /
railway volume files download
π§ͺ End-to-End (E2E) Testing
This template incorporates its own isolated E2E test suite under e2e/ to guarantee deployment integrity and configuration correctness.
Running Tests Locally
bash e2e/run-tests.sh
CI/CD Integration
- name: Run E2E Integration Suite
run: bash ./e2e/run-tests.sh
π οΈ Available Tools
The environment includes Strix's sandbox dependencies pre-installed:
- Reconnaissance: Subfinder, Naabu, httpx, Katana, gospider, ffuf, Nmap
- Scanners: Nuclei, SQLMap, Wapiti, ZAP, Trivy
- Secrets: TruffleHog, Gitleaks
- Static Analysis: Semgrep, ast-grep, Bandit, ESLint
- Web Testing: Arjun, Dirsearch, wafw00f, jwt_tool
For custom instructions or advanced configuration, refer to the Official Strix Documentation.
Template Content
STRIX_LLM
Gemini model from Google (REPLACE_WITH_YOUR_GEMINI_API_KEY)
GEMINI_API_KEY
Gemini API key from Google AI Studio
RAILWAY_RUN_UID
DEFAULT: 0
STRIX_RUNTIME_BACKEND
Runs scan tools in-container without a Docker daemon.(DEFAULT: local)


