Skip to main content

AI-Powered Dynamic Application Security Testing (DAST) -- part of the MEDUSA security platform

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stryx_cli-0.1.2.tar.gz (95.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stryx_cli-0.1.2-py3-none-any.whl (112.5 kB view details)

Uploaded Python 3

File details

Details for the file stryx_cli-0.1.2.tar.gz.

File metadata

  • Download URL: stryx_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 95.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for stryx_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3ce725b49d05e73ae452ae6ce0296ad016b30b6c0c240340877fc35af68e1091
MD5 6437f9945fa305946c5564305faf66e5
BLAKE2b-256 fb18b5576020c56d99b2c32c71dc684eb27f8da215c7e9e1d166db68235835c9

See more details on using hashes here.

File details

Details for the file stryx_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: stryx_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 112.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for stryx_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee074bf1adfabab4889a471af8c4374c1c305f8047ec365e573c92dadb2279e4
MD5 7ab097dbc970f64c65132e42fa5ffd46
BLAKE2b-256 6767d46bcca08f9dbe33a63e3401790c71d7123b3b2e9d1fa3853117016544fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page