stryx-cli 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/PKG-INFO +1 -1
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/pyproject.toml +1 -1
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/html_crawler.py +1 -1
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/blind.py +0 -1
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/fuzz.py +1 -2
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/PKG-INFO +1 -1
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/CHANGELOG.md +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/CODE_OF_CONDUCT.md +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/CONTRIBUTING.md +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/LICENSE +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/MANIFEST.in +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/README.md +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/SECURITY.md +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/setup.cfg +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/ai/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/ai/attack_planner.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/ai/payload_generator.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/ai/prompts.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/ai/providers.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/attacks/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/attacks/attack_chain.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/attacks/replay.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/auth/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/auth/session_manager.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/cli.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/comparison/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/comparison/differ.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/config/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/config/default_config.yaml +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/config/loader.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/config/schema.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/discovery.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/graphql_discovery.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/js_endpoints.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/openapi.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/crawler/sitemap.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/orchestrator.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/cmdi.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/header_injection.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/ldap.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/nosqli.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/open_redirect.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/path_traversal.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/sqli.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/ssrf.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/ssti.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/xss.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/payloads/xxe.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/plugins/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/plugins/base.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/policy/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/policy/engine.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/py.typed +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/generator.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/json_report.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/markdown_report.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/sarif_report.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/templates/report.html.j2 +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/reports/terminal_report.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/auth.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/authorization.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/cloud_ssrf.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/cors.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/dependencies.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/disclosure.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/graphql.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/injection.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/scanners/race.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/signatures/framework_fingerprints.yaml +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/signatures/known_vulns.yaml +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/utils/__init__.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/utils/evidence.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/utils/http_client.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/utils/logging.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx/utils/rate_limiter.py +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/SOURCES.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/dependency_links.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/entry_points.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/requires.txt +0 -0
- {stryx_cli-0.1.1 → stryx_cli-0.1.2}/stryx_cli.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "stryx-cli"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.2"
|
|
8
8
|
description = "AI-Powered Dynamic Application Security Testing (DAST) -- part of the MEDUSA security platform"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "Apache-2.0"}
|
|
@@ -8,7 +8,7 @@ Respects crawl_depth and deduplicates URLs.
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
10
|
import re
|
|
11
|
-
from urllib.parse import urljoin, urlparse
|
|
11
|
+
from urllib.parse import urldefrag, urljoin, urlparse
|
|
12
12
|
|
|
13
13
|
from stryx.crawler.discovery import Endpoint
|
|
14
14
|
from stryx.utils.http_client import HttpClient
|
|
@@ -222,8 +222,7 @@ class FuzzScanner:
|
|
|
222
222
|
severity=Severity.MEDIUM,
|
|
223
223
|
evidence=evidence,
|
|
224
224
|
description=(
|
|
225
|
-
"Deeply nested or prototype-polluting JSON payload caused an "
|
|
226
|
-
"unexpected response."
|
|
225
|
+
"Deeply nested or prototype-polluting JSON payload caused an " "unexpected response."
|
|
227
226
|
),
|
|
228
227
|
remediation="Validate JSON structure depth and reject prototype-polluting keys.",
|
|
229
228
|
cwe="CWE-1321",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|