vamp-graphql-audit 1.1.1__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.
@@ -0,0 +1,101 @@
1
+ Metadata-Version: 2.4
2
+ Name: vamp-graphql-audit
3
+ Version: 1.1.1
4
+ Summary: GraphQL endpoint security auditor for authorized penetration tests
5
+ Author-email: VampSecure Studios <contact@vampsecurestudios.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-graphql-audit
8
+ Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-graphql-audit
9
+ Keywords: security,pentest,audit,cybersecurity,vampsecure,graphql,api,introspection,web-security
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Information Technology
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Security
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: rich>=13.7.0
20
+
21
+ <h1 align="center">vamp-graphql-audit</h1>
22
+
23
+ <p align="center">
24
+ <img src="https://img.shields.io/badge/python-3.11%2B-blue?logo=python&logoColor=white" alt="Python 3.11+"/>
25
+ <img src="https://img.shields.io/badge/platform-linux%20%7C%20macOS-lightgrey" alt="Platform"/>
26
+ <img src="https://img.shields.io/badge/async-aiohttp-green" alt="aiohttp"/>
27
+ <img src="https://img.shields.io/badge/VampSecure-Labs-magenta" alt="VampSecure Labs"/>
28
+ </p>
29
+
30
+ ## Overview
31
+
32
+ `vamp-graphql-audit` is a DAST (Dynamic Application Security Testing) tool specialized in GraphQL APIs. It performs six sequential audit phases covering the most critical GraphQL-specific attack vectors: introspection abuse, broken object-level authorization (BOLA/IDOR), rate-limit bypass via alias abuse, deep nesting DoS, information disclosure via field suggestions, injection testing (SQLi, NoSQLi, SSTI, XSS), and subscription/mutation security analysis.
33
+
34
+ It generates professional reports in rich console output, JSON, and a self-contained HTML dark-theme document — ready to attach to a pentest engagement.
35
+
36
+ ## Features
37
+
38
+ - **Phase 1 — Introspection & Recon**: detects enabled introspection (CRITICAL), extracts full schema (queries, mutations, subscriptions, types), identifies sensitive field names (password, token, key, email…), checks for verbose error messages with stack traces or file paths, and fingerprints directives to identify framework.
39
+ - **Phase 2 — Authorization Testing (BOLA/IDOR)**: fuzzes ID arguments (1, 2, 3, 999, -1, "admin", null…) on every query with an ID-shaped argument; flags CRITICAL when different IDs return non-null data without apparent ownership checks.
40
+ - **Phase 3 — Rate Limiting & DoS**: alias abuse with 100 aliases in one HTTP request (HIGH), deeply-nested query with configurable `--depth` (HIGH if > 5s or timeout), batch query abuse via JSON array payload (HIGH).
41
+ - **Phase 4 — Information Disclosure**: confirms active GraphQL endpoint via `__typename`, detects field suggestions that leak schema even with introspection disabled (MEDIUM), checks for verbose variable-error messages, inspects non-standard directives.
42
+ - **Phase 5 — Injection Testing**: SQL injection via error-response analysis, NoSQL operator injection via GraphQL variables, SSTI detection by evaluating `{{7*7}}` markers in response, Reflected XSS via GraphQL string arguments.
43
+ - **Phase 6 — Subscription & Mutation Security**: HTTP vs HTTPS check, subscription authentication advisory, rate-limiting absence on auth mutations (login, register…), credential-change mutations without current-password confirmation, token return types over unencrypted HTTP.
44
+
45
+ ## Requirements
46
+
47
+ - Python 3.11 or later
48
+ - `aiohttp >= 3.9.0`
49
+ - `rich >= 13.7.0`
50
+
51
+ ```bash
52
+ pip install -r requirements.txt
53
+ ```
54
+
55
+ ## Usage
56
+
57
+ ```bash
58
+ # Auditoría básica
59
+ python3 vamp_graphql_audit.py --target https://api.ejemplo.com/graphql
60
+
61
+ # Con cabecera de autenticación
62
+ python3 vamp_graphql_audit.py \
63
+ --target https://api.ejemplo.com/graphql \
64
+ --header "Authorization: Bearer eyJhbGc..."
65
+
66
+ # Múltiples cabeceras + exportar informe
67
+ python3 vamp_graphql_audit.py \
68
+ --target https://api.ejemplo.com/graphql \
69
+ --header "Authorization: Bearer TOKEN" \
70
+ --header "X-Tenant-Id: acme" \
71
+ --json informe.json \
72
+ --html informe.html
73
+
74
+ # Controlar profundidad del test DoS de nesting
75
+ python3 vamp_graphql_audit.py \
76
+ --target https://api.ejemplo.com/graphql \
77
+ --depth 12
78
+
79
+ # Timeout por petición en segundos (default: 30)
80
+ python3 vamp_graphql_audit.py \
81
+ --target https://api.ejemplo.com/graphql \
82
+ --timeout 60
83
+ ```
84
+
85
+ ## Exit Codes
86
+
87
+ | Code | Significado |
88
+ |------|-------------|
89
+ | `0` | Auditoría limpia — sin hallazgos CRITICAL ni HIGH |
90
+ | `1` | Al menos un hallazgo CRITICAL o HIGH |
91
+ | `2` | Error de ejecución (red, parámetros inválidos, interrupción) |
92
+
93
+ ## Output
94
+
95
+ - **Console**: banner ASCII + progreso en tiempo real por fase + tabla resumen de findings ordenados por severidad.
96
+ - **JSON** (`--json FILE`): objeto con metadata, resumen por severidad, schema descubierto y array completo de findings.
97
+ - **HTML** (`--html FILE`): informe auto-contenido dark-theme con resumen ejecutivo, tabla de findings con evidencias expandibles y panel del schema descubierto.
98
+
99
+ ## Disclaimer
100
+
101
+ Esta herramienta es exclusiva para auditorías de seguridad autorizadas. El uso contra sistemas sin autorización escrita del propietario es ilegal. VampSecure Studios no asume responsabilidad por usos indebidos.
@@ -0,0 +1,81 @@
1
+ <h1 align="center">vamp-graphql-audit</h1>
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/badge/python-3.11%2B-blue?logo=python&logoColor=white" alt="Python 3.11+"/>
5
+ <img src="https://img.shields.io/badge/platform-linux%20%7C%20macOS-lightgrey" alt="Platform"/>
6
+ <img src="https://img.shields.io/badge/async-aiohttp-green" alt="aiohttp"/>
7
+ <img src="https://img.shields.io/badge/VampSecure-Labs-magenta" alt="VampSecure Labs"/>
8
+ </p>
9
+
10
+ ## Overview
11
+
12
+ `vamp-graphql-audit` is a DAST (Dynamic Application Security Testing) tool specialized in GraphQL APIs. It performs six sequential audit phases covering the most critical GraphQL-specific attack vectors: introspection abuse, broken object-level authorization (BOLA/IDOR), rate-limit bypass via alias abuse, deep nesting DoS, information disclosure via field suggestions, injection testing (SQLi, NoSQLi, SSTI, XSS), and subscription/mutation security analysis.
13
+
14
+ It generates professional reports in rich console output, JSON, and a self-contained HTML dark-theme document — ready to attach to a pentest engagement.
15
+
16
+ ## Features
17
+
18
+ - **Phase 1 — Introspection & Recon**: detects enabled introspection (CRITICAL), extracts full schema (queries, mutations, subscriptions, types), identifies sensitive field names (password, token, key, email…), checks for verbose error messages with stack traces or file paths, and fingerprints directives to identify framework.
19
+ - **Phase 2 — Authorization Testing (BOLA/IDOR)**: fuzzes ID arguments (1, 2, 3, 999, -1, "admin", null…) on every query with an ID-shaped argument; flags CRITICAL when different IDs return non-null data without apparent ownership checks.
20
+ - **Phase 3 — Rate Limiting & DoS**: alias abuse with 100 aliases in one HTTP request (HIGH), deeply-nested query with configurable `--depth` (HIGH if > 5s or timeout), batch query abuse via JSON array payload (HIGH).
21
+ - **Phase 4 — Information Disclosure**: confirms active GraphQL endpoint via `__typename`, detects field suggestions that leak schema even with introspection disabled (MEDIUM), checks for verbose variable-error messages, inspects non-standard directives.
22
+ - **Phase 5 — Injection Testing**: SQL injection via error-response analysis, NoSQL operator injection via GraphQL variables, SSTI detection by evaluating `{{7*7}}` markers in response, Reflected XSS via GraphQL string arguments.
23
+ - **Phase 6 — Subscription & Mutation Security**: HTTP vs HTTPS check, subscription authentication advisory, rate-limiting absence on auth mutations (login, register…), credential-change mutations without current-password confirmation, token return types over unencrypted HTTP.
24
+
25
+ ## Requirements
26
+
27
+ - Python 3.11 or later
28
+ - `aiohttp >= 3.9.0`
29
+ - `rich >= 13.7.0`
30
+
31
+ ```bash
32
+ pip install -r requirements.txt
33
+ ```
34
+
35
+ ## Usage
36
+
37
+ ```bash
38
+ # Auditoría básica
39
+ python3 vamp_graphql_audit.py --target https://api.ejemplo.com/graphql
40
+
41
+ # Con cabecera de autenticación
42
+ python3 vamp_graphql_audit.py \
43
+ --target https://api.ejemplo.com/graphql \
44
+ --header "Authorization: Bearer eyJhbGc..."
45
+
46
+ # Múltiples cabeceras + exportar informe
47
+ python3 vamp_graphql_audit.py \
48
+ --target https://api.ejemplo.com/graphql \
49
+ --header "Authorization: Bearer TOKEN" \
50
+ --header "X-Tenant-Id: acme" \
51
+ --json informe.json \
52
+ --html informe.html
53
+
54
+ # Controlar profundidad del test DoS de nesting
55
+ python3 vamp_graphql_audit.py \
56
+ --target https://api.ejemplo.com/graphql \
57
+ --depth 12
58
+
59
+ # Timeout por petición en segundos (default: 30)
60
+ python3 vamp_graphql_audit.py \
61
+ --target https://api.ejemplo.com/graphql \
62
+ --timeout 60
63
+ ```
64
+
65
+ ## Exit Codes
66
+
67
+ | Code | Significado |
68
+ |------|-------------|
69
+ | `0` | Auditoría limpia — sin hallazgos CRITICAL ni HIGH |
70
+ | `1` | Al menos un hallazgo CRITICAL o HIGH |
71
+ | `2` | Error de ejecución (red, parámetros inválidos, interrupción) |
72
+
73
+ ## Output
74
+
75
+ - **Console**: banner ASCII + progreso en tiempo real por fase + tabla resumen de findings ordenados por severidad.
76
+ - **JSON** (`--json FILE`): objeto con metadata, resumen por severidad, schema descubierto y array completo de findings.
77
+ - **HTML** (`--html FILE`): informe auto-contenido dark-theme con resumen ejecutivo, tabla de findings con evidencias expandibles y panel del schema descubierto.
78
+
79
+ ## Disclaimer
80
+
81
+ Esta herramienta es exclusiva para auditorías de seguridad autorizadas. El uso contra sistemas sin autorización escrita del propietario es ilegal. VampSecure Studios no asume responsabilidad por usos indebidos.
@@ -0,0 +1,36 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "vamp-graphql-audit"
7
+ version = "1.1.1"
8
+ description = "GraphQL endpoint security auditor for authorized penetration tests"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.9"
12
+ authors = [{ name = "VampSecure Studios", email = "contact@vampsecurestudios.com" }]
13
+ keywords = ["security", "pentest", "audit", "cybersecurity", "vampsecure", "graphql", "api", "introspection", "web-security"]
14
+ classifiers = [
15
+ "Development Status :: 5 - Production/Stable",
16
+ "Environment :: Console",
17
+ "Intended Audience :: Information Technology",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: Python :: 3",
21
+ "Topic :: Security",
22
+ ]
23
+ dependencies = [
24
+ "rich>=13.7.0",
25
+ ]
26
+
27
+
28
+ [project.scripts]
29
+ vamp-graphql-audit = "vamp_graphql_audit:main"
30
+
31
+ [project.urls]
32
+ Homepage = "https://github.com/Vampsecure-Labs/vamp-graphql-audit"
33
+ Repository = "https://github.com/Vampsecure-Labs/vamp-graphql-audit"
34
+
35
+ [tool.setuptools]
36
+ py-modules = ["vamp_graphql_audit"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,101 @@
1
+ Metadata-Version: 2.4
2
+ Name: vamp-graphql-audit
3
+ Version: 1.1.1
4
+ Summary: GraphQL endpoint security auditor for authorized penetration tests
5
+ Author-email: VampSecure Studios <contact@vampsecurestudios.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-graphql-audit
8
+ Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-graphql-audit
9
+ Keywords: security,pentest,audit,cybersecurity,vampsecure,graphql,api,introspection,web-security
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Information Technology
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Security
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: rich>=13.7.0
20
+
21
+ <h1 align="center">vamp-graphql-audit</h1>
22
+
23
+ <p align="center">
24
+ <img src="https://img.shields.io/badge/python-3.11%2B-blue?logo=python&logoColor=white" alt="Python 3.11+"/>
25
+ <img src="https://img.shields.io/badge/platform-linux%20%7C%20macOS-lightgrey" alt="Platform"/>
26
+ <img src="https://img.shields.io/badge/async-aiohttp-green" alt="aiohttp"/>
27
+ <img src="https://img.shields.io/badge/VampSecure-Labs-magenta" alt="VampSecure Labs"/>
28
+ </p>
29
+
30
+ ## Overview
31
+
32
+ `vamp-graphql-audit` is a DAST (Dynamic Application Security Testing) tool specialized in GraphQL APIs. It performs six sequential audit phases covering the most critical GraphQL-specific attack vectors: introspection abuse, broken object-level authorization (BOLA/IDOR), rate-limit bypass via alias abuse, deep nesting DoS, information disclosure via field suggestions, injection testing (SQLi, NoSQLi, SSTI, XSS), and subscription/mutation security analysis.
33
+
34
+ It generates professional reports in rich console output, JSON, and a self-contained HTML dark-theme document — ready to attach to a pentest engagement.
35
+
36
+ ## Features
37
+
38
+ - **Phase 1 — Introspection & Recon**: detects enabled introspection (CRITICAL), extracts full schema (queries, mutations, subscriptions, types), identifies sensitive field names (password, token, key, email…), checks for verbose error messages with stack traces or file paths, and fingerprints directives to identify framework.
39
+ - **Phase 2 — Authorization Testing (BOLA/IDOR)**: fuzzes ID arguments (1, 2, 3, 999, -1, "admin", null…) on every query with an ID-shaped argument; flags CRITICAL when different IDs return non-null data without apparent ownership checks.
40
+ - **Phase 3 — Rate Limiting & DoS**: alias abuse with 100 aliases in one HTTP request (HIGH), deeply-nested query with configurable `--depth` (HIGH if > 5s or timeout), batch query abuse via JSON array payload (HIGH).
41
+ - **Phase 4 — Information Disclosure**: confirms active GraphQL endpoint via `__typename`, detects field suggestions that leak schema even with introspection disabled (MEDIUM), checks for verbose variable-error messages, inspects non-standard directives.
42
+ - **Phase 5 — Injection Testing**: SQL injection via error-response analysis, NoSQL operator injection via GraphQL variables, SSTI detection by evaluating `{{7*7}}` markers in response, Reflected XSS via GraphQL string arguments.
43
+ - **Phase 6 — Subscription & Mutation Security**: HTTP vs HTTPS check, subscription authentication advisory, rate-limiting absence on auth mutations (login, register…), credential-change mutations without current-password confirmation, token return types over unencrypted HTTP.
44
+
45
+ ## Requirements
46
+
47
+ - Python 3.11 or later
48
+ - `aiohttp >= 3.9.0`
49
+ - `rich >= 13.7.0`
50
+
51
+ ```bash
52
+ pip install -r requirements.txt
53
+ ```
54
+
55
+ ## Usage
56
+
57
+ ```bash
58
+ # Auditoría básica
59
+ python3 vamp_graphql_audit.py --target https://api.ejemplo.com/graphql
60
+
61
+ # Con cabecera de autenticación
62
+ python3 vamp_graphql_audit.py \
63
+ --target https://api.ejemplo.com/graphql \
64
+ --header "Authorization: Bearer eyJhbGc..."
65
+
66
+ # Múltiples cabeceras + exportar informe
67
+ python3 vamp_graphql_audit.py \
68
+ --target https://api.ejemplo.com/graphql \
69
+ --header "Authorization: Bearer TOKEN" \
70
+ --header "X-Tenant-Id: acme" \
71
+ --json informe.json \
72
+ --html informe.html
73
+
74
+ # Controlar profundidad del test DoS de nesting
75
+ python3 vamp_graphql_audit.py \
76
+ --target https://api.ejemplo.com/graphql \
77
+ --depth 12
78
+
79
+ # Timeout por petición en segundos (default: 30)
80
+ python3 vamp_graphql_audit.py \
81
+ --target https://api.ejemplo.com/graphql \
82
+ --timeout 60
83
+ ```
84
+
85
+ ## Exit Codes
86
+
87
+ | Code | Significado |
88
+ |------|-------------|
89
+ | `0` | Auditoría limpia — sin hallazgos CRITICAL ni HIGH |
90
+ | `1` | Al menos un hallazgo CRITICAL o HIGH |
91
+ | `2` | Error de ejecución (red, parámetros inválidos, interrupción) |
92
+
93
+ ## Output
94
+
95
+ - **Console**: banner ASCII + progreso en tiempo real por fase + tabla resumen de findings ordenados por severidad.
96
+ - **JSON** (`--json FILE`): objeto con metadata, resumen por severidad, schema descubierto y array completo de findings.
97
+ - **HTML** (`--html FILE`): informe auto-contenido dark-theme con resumen ejecutivo, tabla de findings con evidencias expandibles y panel del schema descubierto.
98
+
99
+ ## Disclaimer
100
+
101
+ Esta herramienta es exclusiva para auditorías de seguridad autorizadas. El uso contra sistemas sin autorización escrita del propietario es ilegal. VampSecure Studios no asume responsabilidad por usos indebidos.
@@ -0,0 +1,9 @@
1
+ README.md
2
+ pyproject.toml
3
+ vamp_graphql_audit.py
4
+ vamp_graphql_audit.egg-info/PKG-INFO
5
+ vamp_graphql_audit.egg-info/SOURCES.txt
6
+ vamp_graphql_audit.egg-info/dependency_links.txt
7
+ vamp_graphql_audit.egg-info/entry_points.txt
8
+ vamp_graphql_audit.egg-info/requires.txt
9
+ vamp_graphql_audit.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ vamp-graphql-audit = vamp_graphql_audit:main
@@ -0,0 +1 @@
1
+ vamp_graphql_audit