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.1.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.1-py3-none-any.whl (112.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stryx_cli-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 5cade1d83a09989c4f6dd3429106fd55c0fc1145cd2dd3b23bb238c443698f03
MD5 6cd5b291a6db7ab2b63f520454b37d33
BLAKE2b-256 843776013b2ecaf3bfabc07ae78bb564fa3239f9ac3488901fcd45e76faf378c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stryx_cli-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e501bbfaf28382acd30590960704e8eb02457a134802c5f039d76143b4c8eb6d
MD5 bb58bfdfa8e86e36d4ed9bfdbeeb555f
BLAKE2b-256 6bb874594057ae925d9e1195d10dc823a293fbe9246645269344cc9792f3c473

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