Strix is an open-source AI penetration testing framework with over 39,000 GitHub stars. It deploys autonomous agents to scan web applications, validate vulnerabilities with working exploits, and produce remediation reports. This guide covers self-hosting Strix on a Contabo VPS 8 — only ever test systems you own or have explicit written permission to assess.
ARTICLE TYPE: How-to / Tutorial
⚠️ Responsible Use Notice
Only test systems you own or have explicit written permission to test. Self-hosting Strix on a VPS does not grant any right to scan third-party websites, APIs, or networks. Running unauthorized scans against systems outside your control can violate computer misuse laws in most jurisdictions, regardless of intent or configuration. Before any engagement, confirm the authorized scope and, where possible, obtain written permission.
What Is Strix?
Strix is an AI pentest framework built around autonomous agents that behave like real attackers rather than static rule engines. Its agents execute the target application dynamically, attempt real exploitation paths, and confirm each finding with a working proof of concept before it reaches the report. Coverage spans the OWASP Top 10 and beyond, including SQL and NoSQL injection, broken access control, SSRF, insecure deserialization, JWT manipulation, and server-side template injection. The project is open source under the Apache 2.0 license; all agent actions run inside isolated Docker sandboxes.
Requirements
- Contabo VPS 8 (8 vCores, 24 GB RAM) running Ubuntu — provides enough headroom for concurrent agent processes and sandbox containers without resource contention.
- Docker and the Docker Compose plugin installed and running.
- A safe, isolated test target that you own or are explicitly authorized to assess. Never point a scan at production infrastructure without written permission.
- An API key from a supported LLM provider (OpenAI, Anthropic, or Google) for AI-driven reconnaissance, exploitation planning, and report generation.
- Basic comfort with the Linux command line — the entire workflow happens over SSH.
Step 1 — Provision VPS and Install Docker
- Order a Contabo VPS 8 through the Contabo customer panel, selecting Ubuntu as the operating system during setup.
- Connect over SSH using key-based authentication. Disable password authentication in /etc/ssh/sshd_config (set PasswordAuthentication no) and restart the SSH service once key-based login is confirmed working.
- Configure UFW to restrict inbound traffic to SSH only: run ufw allow OpenSSH, then ufw enable. Open additional ports deliberately and only when needed.
- Install Docker and the Docker Compose plugin. Confirm the daemon is active with systemctl status docker, then add your user to the docker group so containers can be managed without sudo.
Step 2 — Deploy Strix with Docker Compose
Run the official Strix installer, then set the environment variables for your LLM provider:
curl -sSL https://strix.ai/install | bash
export STRIX_LLM="anthropic/claude-sonnet-4-6"
export LLM_API_KEY="your-api-key"Strix saves this configuration to ~/.strix/cli-config.json after the first run. The first CLI invocation also pulls the sandbox Docker image that isolates all agent activity from the host. To use a local model, point LLM_API_BASE at a self-hosted endpoint such as Ollama or LMStudio — though hosted models generally produce more consistent results for complex exploitation chains.
Step 3 — Configure a Test Target
- Pull and run the Damn Vulnerable Web App (DVWA) container on the same VPS: docker run -d -p 8080:80 vulnerables/web-dvwa
- Confirm DVWA is reachable by visiting the VPS IP address on port 8080 in a browser and completing the initial database setup screen, which initializes the vulnerable backend.
- Note the target address — for example, http://127.0.0.1:8080 for local testing — as this is the value passed to Strix in the scan command.
- Optionally adjust DVWA’s built-in security level to compare how thoroughly Strix works through partially mitigated versus fully open vulnerabilities.
Step 4 — Run a Scan and Read the Report
Trigger a scan from the CLI:
strix -n --target http://127.0.0.1:8080 \
--instruction "Focus on DVWA's known vulnerability categories including SQL injection, XSS, and command injection"The -n flag runs Strix in non-interactive mode — suitable for SSH sessions — printing findings in real time and exiting with a non-zero status code if vulnerabilities are confirmed. Full results are saved under strix_runs/<run-name> on the server. Each finding includes a CVSS score, a working proof of concept, and plain-language remediation guidance. Triage by CVSS score first: higher scores point to greater potential impact (such as unauthenticated remote code execution or full authentication bypass), while lower scores typically correspond to informational issues requiring unusual conditions to exploit.
Step 5 — Integrate with CI/CD (Optional)
Add a GitHub Actions workflow to run a Strix scan automatically on every pull request and gate merges on critical findings:
name: strix-penetration-test
on:
pull_request:
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Strix
run: curl -sSL https://strix.ai/install | bash
- name: Run Strix
env:
STRIX_LLM: ${{ secrets.STRIX_LLM }}
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
run: strix -n -t ./ --scan-mode quickThe fetch-depth: 0 setting gives Strix access to the full git history so quick scans target only the files changed in a given pull request rather than re-scanning the entire codebase. Because the workflow exits with a non-zero code when vulnerabilities are found, it can block a PR from merging until critical findings are addressed.
FAQ: Running Strix on a VPS
Strix itself is legal, open-source software — using it carries no legal risk on its own. What determines legality is how it is pointed and at what. Running a scan against systems you own, or covered by explicit written permission from the owner, is standard security practice. Scanning systems outside that scope — including third-party websites, client infrastructure without a signed agreement, or shared environments where authorization is unclear — can violate computer misuse laws regardless of the tool or intent.
Strix identifies and validates vulnerabilities across the OWASP Top 10 and beyond: SQL and NoSQL injection, server-side request forgery, insecure deserialization, remote code execution, broken access control (privilege escalation, insecure direct object references), authentication and session flaws (JWT attacks, session fixation), and business logic issues such as race conditions and payment manipulation. Each finding includes a working proof of concept and reproduction steps, not a theoretical alert requiring further manual verification.
Strix does not publish a strict minimum RAM requirement. Practically, running its AI agent workloads comfortably requires enough memory to run Docker sandbox containers alongside LLM-driven agent processes without contention — especially when a scan branches into parallel recon and exploitation tasks. A VPS in the 8–24 GB RAM range, such as the Contabo VPS 8 used in this guide, provides comfortable headroom for concurrent scans against larger, more complex targets.
Yes. Strix supports API penetration testing directly, covering broken authentication, mass assignment vulnerabilities, and rate-limiting bypass. Pass an API endpoint as the scan target the same way you would a web application URL; Strix’s reconnaissance agents will map available routes and parameters before moving into exploitation attempts.