Skip to main content

STRYX

AI-Powered Dynamic Application Security Testing (DAST)

License Python Version Build Status

STRYX is a developer-first, AI-assisted DAST engine that crawls, maps, and tests the live attack surface of web applications. It discovers hidden endpoints, simulates real attacker behavior, and detects exploitable vulnerabilities with minimal false positives. Every finding carries full evidence (request, response, status code, payload, confidence score) -- no heuristic-only results.

Design philosophy: high signal, low noise.

How It Fits Into MEDUSA

  • Remy -- SAST, analyzes source code pre-deployment.
  • STRYX -- DAST, validates a running application's live attack surface and exploitability.
  • MEDUSA -- Aggregates findings from both, correlates static and runtime issues, estimates business impact, provides centralized security management.

Architecture

CLI -> Configuration -> Attack Orchestrator -> { Endpoint Discovery }
                                                        |
                                         Authentication Engine
                                         Authorization Engine
                                         Injection Engine
                                         API Fuzzer
                                         AI Attack Planner
                                         Evidence Collector
                                         Report Generator
                                                        |
                                              Target Application

Installation

# From PyPI
pip install stryx

# From source
git clone https://github.com/Medusa-Security/stryx.git
cd stryx
pip install -e .

Quickstart

# Run a full scan
stryx scan http://localhost:8000

# Output:
# STRYX Scan Results
# Target: http://localhost:8000
# Total Findings: 3
# Breakdown: CRITICAL: 1 | HIGH: 1 | MEDIUM: 1

Core Modules

Module Purpose
Endpoint Discovery Crawls targets, extracts APIs from OpenAPI/Swagger, sitemaps, JS files, GraphQL
Authentication Scanner Tests missing auth, weak JWTs, session fixation, cookie security
Authorization Scanner Tests IDOR, privilege escalation, admin access, multi-tenant escape
Injection Engine SQL, NoSQL, command, SSRF, path traversal, XXE, SSTI, LDAP injection
API Fuzzer Parameter mutation, boundary values, type confusion, nested JSON
CORS Scanner Detects misconfigured CORS policies and origin reflection
GraphQL Scanner Tests introspection exposure, query depth limiting
AI Attack Planner Constructs multi-step attack chains across findings
Evidence Engine Enforces evidence requirements on every finding

CLI Reference

Commands

Command Description
stryx scan <url> Run full security scan
stryx crawl <url> Crawl and discover endpoints
stryx auth <url> Run authentication tests
stryx fuzz <url> Run API fuzzing tests
stryx report <url> Generate reports
stryx config View/update configuration
stryx providers List supported AI providers
stryx update Update STRYX

Flags

Flag Description
--deep Enable deep scanning
--json <file> Output JSON report
--html <file> Output HTML report
--markdown <file> Output Markdown report
--threads <n> Concurrent threads (1-200)
--timeout <s> HTTP timeout in seconds
--headers <json> Custom headers
--cookies <str> Authentication cookies
--proxy <url> HTTP proxy
--wordlist <file> Custom wordlist
--rate <n> Requests per second limit

Configuration

provider: groq
model: llama-3.3-70b-versatile
threads: 20
timeout: 10
crawl_depth: 5
respect_robots: false
ai_attack_planning: true
modules:
  auth: true
  authorization: true
  injection: true
  fuzzing: true

Supported AI providers: Groq, OpenAI, Anthropic, OpenRouter, Ollama, XAI, NVIDIA NIM.

Sample Report

+--------------------------------------------------------------------+
| STRYX Scan Results                                                 |
| Target: http://localhost:8000                                      |
| Total Findings: 3                                                  |
| Breakdown: CRITICAL: 1 | HIGH: 1 | MEDIUM: 1                     |
+--------------------------------------------------------------------+

[#] [CRITICAL] Unauthenticated access to /admin
    Endpoint: http://localhost:8000/admin
    CWE: CWE-306 | Scanner: auth
    Confidence: 70%
    Evidence: GET http://localhost:8000/admin -> 200

Roadmap

v0.1 (this build)

  • HTTP crawler
  • Endpoint discovery
  • Authentication scanning
  • Authorization testing
  • Basic injection testing
  • JSON/HTML reports

v0.5

  • Browser automation
  • GraphQL support
  • Multi-threaded fuzzing
  • AI attack planning
  • Custom payloads
  • Plugin SDK

v1.0

  • Autonomous attack chaining
  • Headless browser exploitation
  • CI/CD integration
  • Distributed scanning
  • Cloud dashboards (MEDUSA integration)
  • AI-powered exploit reasoning

Contributing

See CONTRIBUTING.md for guidelines.

Security Policy

See SECURITY.md for reporting vulnerabilities in STRYX itself.

License

Apache License 2.0. See LICENSE.

Author

Built by Akhilesh Varma (ak495867) under Medusa Security.

Metadata

Release files for stryx-cli 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stryx-cli 0.1.2
File Size Uploaded Provenance
stryx_cli-0.1.2.tar.gz 95.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for stryx-cli 0.1.2
File Interpreter ABI Platform
stryx_cli-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 207.9 kB

Release files / stryx_cli-0.1.2.tar.gz

Download URL stryx_cli-0.1.2.tar.gz
Size 95.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3ce725b49d05e73ae452ae6ce0296ad016b30b6c0c240340877fc35af68e1091
BLAKE2b-256 checksum
How to use checksums
fb18b5576020c56d99b2c32c71dc684eb27f8da215c7e9e1d166db68235835c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / stryx_cli-0.1.2-py3-none-any.whl

Download URL stryx_cli-0.1.2-py3-none-any.whl
Size 112.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee074bf1adfabab4889a471af8c4374c1c305f8047ec365e573c92dadb2279e4
BLAKE2b-256 checksum
How to use checksums
6767d46bcca08f9dbe33a63e3401790c71d7123b3b2e9d1fa3853117016544fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Security for stryx-cli 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page