This page introduces Strix as an autonomous AI agent system for vulnerability detection and validation. It explains the core purpose, key features, system components, and operational workflow.
Strix is an open-source autonomous AI-powered penetration testing system that uses Large Language Models (LLMs) to control security testing agents. These agents operate in isolated Docker containers equipped with security tools, executing dynamic tests to discover and validate vulnerabilities in applications. pyproject.toml2-4 README.md9-12 README.md42-45
Unlike static analysis tools that produce false positives, Strix agents validate findings through actual proof-of-concept (PoC) exploits. Unlike manual penetration testing that requires security experts, Strix automates the entire testing workflow from reconnaissance through exploitation to reporting. README.md48-52 README.md125-136
Sources: pyproject.toml2-4 README.md9-12 README.md42-52 README.md125-136
Strix serves four primary use cases:
| Use Case | Description | Typical Users |
|---|---|---|
| Application Security Testing | Detect and validate critical vulnerabilities in applications | Development teams, DevSecOps |
| Rapid Penetration Testing | Complete penetration tests in hours with compliance reports | Security teams, Consultants |
| Bug Bounty Automation | Automate vulnerability research and generate proof-of-concepts | Bug bounty hunters, Researchers |
| CI/CD Integration | Block vulnerable code before production deployment | DevOps engineers, Security teams |
Sources: README.md65-71
Strix is organized into distinct layers, each handling specific responsibilities. The system bridges "Natural Language Space" (LLM reasoning) to "Code Entity Space" (Tool execution in the sandbox).
Strix Component Layers
Key Components:
| Layer | Components | Primary Code Entities |
|---|---|---|
| User Interface | Entry point, CLI, TUI | strix.interface.main:main pyproject.toml59 strix.interface.cli:run_cli, strix.interface.tui.app:StrixTUI |
| Agent System | Agent hierarchy, execution loop, state | strix.agents.base_agent:BaseAgent, strix.agents.strix_agent:StrixAgent, strix.report.state:AgentState |
| LLM Layer | Model interaction, memory compression | strix.llm.llm:LLM, strix.llm.memory_compressor:MemoryCompressor |
| Runtime | Docker containers, backends | strix.runtime.backends:DockerRuntime, strix.runtime.docker_client:DockerClient |
| Tool System | Terminal, browser, Python, proxy | strix.tools:execute_tool, caido-sdk-client pyproject.toml45 |
| Observability | Telemetry, reports, analytics | strix.telemetry.tracer:Tracer, strix.report.writer:VulnerabilityWriter |
Sources: pyproject.toml35-59 README.md125-143
The Strix execution workflow consists of five primary phases:
The main() function serves as the primary entry point. It validates the environment (Docker, API keys), loads configurations via pydantic-settings, and initializes the DockerRuntime to provision the testing sandbox. pyproject.toml59 README.md74-78 pyproject.toml40
Strix processes targets provided via the CLI. It supports local directories, repositories, remote URLs, and API specifications. The system is designed to handle different target types by adapting the agent's skills and tools. README.md88-90 README.md133-134
The core of Strix is the autonomous agent loop defined in BaseAgent. Agents receive a system prompt and iterate through a cycle of reasoning, tool invocation, and observation. Tools are executed within the sandbox environment managed by DockerRuntime. README.md42-52 README.md125-136
For complex targets, Strix employs a Graph of Agents. Specialized agents collaborate and scale the assessment across different attack surfaces, governed by limits such as turn budgets and reasoning effort settings. README.md49
Findings are collected and formatted into actionable reports. Strix provides validated proof-of-concepts (PoCs) and remediation guidance, including automated patches when using the managed cloud platform. README.md52 README.md101-105
Strix agents are equipped with a "hacker toolkit" that allows them to interact with targets just as a human pentester would:
| Tool Category | Implementation Dependencies | Capabilities |
|---|---|---|
| Terminal Execution | Sandbox Environment | Execute shell commands and standard security tools. README.md131 |
| Browser Automation | Sandbox Environment | Test for XSS, CSRF, and complex auth flows using automated browsers. README.md130 |
| Custom Exploit Runtime | Python Sandbox | Develop and run custom validation scripts and PoCs. README.md132 |
| HTTP Proxy | caido-sdk-client | Intercept and manipulate web traffic using Caido. pyproject.toml45 README.md129 |
Sources: README.md125-136 pyproject.toml35-52
Strix identifies and validates a wide range of vulnerability classes including Broken Access Control (IDOR), Injection Attacks (SQLi, Command Injection), and Cryptographic failures. README.md137-143
To ensure safety and reproducibility, all dynamic testing occurs in an isolated Docker container managed by DockerRuntime. README.md75 pyproject.toml42 scripts/install.sh7
Sandbox Container Architecture
Sources: README.md74-78 README.md125-136 pyproject.toml42 scripts/install.sh7
Strix includes a comprehensive telemetry system for tracking scan progress and results. The Tracer class manages run metadata and tool executions. README.md101-105
To protect sensitive information, Strix provides guidance on reporting bugs including full error tracebacks and LLM context, while sanitizing sensitive credentials where possible. CONTRIBUTING.md83-91
Sources: README.md101-105 CONTRIBUTING.md83-91
Refresh this wiki