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.0.tar.gz (95.5 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.0-py3-none-any.whl (112.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stryx_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 95.5 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.0.tar.gz
Algorithm Hash digest
SHA256 3e2fdf55b27c7771086122cb984ae8f142e7f382fd87a23212d2f323bed69903
MD5 48124705a63b6efd400871f3b1fe9468
BLAKE2b-256 7725a37d24182bc7c01005f569703278a798b77b406c8cc04508e6f92ce53f6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stryx_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 112.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7851d5d569ee8a015a05ecf9657aa477e436ca70c51a034e0503dc8bcf2709e9
MD5 c62d3e08e0773698894e2ff471b27f40
BLAKE2b-256 016f560fd6b761b075272ec2bb66e14e464357f87879660c31aa2e4946abb9fc

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