vamp-orchestrator 2.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.
- vamp_orchestrator-2.1/LICENSE +21 -0
- vamp_orchestrator-2.1/PKG-INFO +261 -0
- vamp_orchestrator-2.1/README.md +239 -0
- vamp_orchestrator-2.1/pyproject.toml +36 -0
- vamp_orchestrator-2.1/setup.cfg +4 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/PKG-INFO +261 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/SOURCES.txt +11 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/dependency_links.txt +1 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/entry_points.txt +2 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/requires.txt +1 -0
- vamp_orchestrator-2.1/vamp_orchestrator.egg-info/top_level.txt +2 -0
- vamp_orchestrator-2.1/vamp_orchestrator.py +2510 -0
- vamp_orchestrator-2.1/vampsec_report.py +959 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 VampSecure Studios
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vamp-orchestrator
|
|
3
|
+
Version: 2.1
|
|
4
|
+
Summary: VampSecure Labs tool orchestrator for automated authorized security audits
|
|
5
|
+
Author-email: VampSecure Studios <contact@vampsecurestudios.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-orchestrator
|
|
8
|
+
Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-orchestrator
|
|
9
|
+
Keywords: security,pentest,audit,cybersecurity,vampsecure,orchestration,automation,pipeline,red-team
|
|
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
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: rich>=13.7.0
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
<p align="center">
|
|
24
|
+
<img src="https://img.shields.io/badge/version-2.0-crimson?style=flat-square" />
|
|
25
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
26
|
+
<img src="https://img.shields.io/badge/tools-16%20VSL%20slots-teal?style=flat-square" />
|
|
27
|
+
<img src="https://img.shields.io/badge/VampSecure_Labs-Security_Research-8b0000?style=flat-square" />
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
<h1 align="center">vamp-orchestrator</h1>
|
|
31
|
+
<p align="center"><em>Multi-Tool Security Assessment Orchestrator — VampSecure Labs</em></p>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Overview
|
|
36
|
+
|
|
37
|
+
**vamp-orchestrator** is the meta-orchestrator for the VampSecure Labs toolkit. It auto-discovers installed VSL tools, selects the appropriate subset based on the assessment objective (domain, URL, host, path, log directory, Kubernetes cluster, or LLM endpoint), executes them sequentially or in parallel, deduplicates findings across tools, and produces a unified risk-scored report.
|
|
38
|
+
|
|
39
|
+
Each tool result is parsed by a dedicated extractor, normalized to the VSL finding schema, and merged into a single deduplicated finding set. Findings from forensic log analysis preserve their MITRE ATT&CK mapping (tactic, technique). A logarithmic composite risk score differentiates engagements with few versus many high-severity findings.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Features
|
|
44
|
+
|
|
45
|
+
- Auto-discovery of up to **16 VampSecure Labs tool slots** in the tool directory
|
|
46
|
+
- Objective-driven tool selection: domain, URL, host, path, JWT, log directory, K8s context, LLM endpoint, and CVE targets each trigger a different tool subset
|
|
47
|
+
- Sequential and parallel execution modes with configurable parallelism limit
|
|
48
|
+
- **Improved deduplication**: findings matched by `severity + title[:60] + affected[:30]` — same finding type on different hosts is never collapsed
|
|
49
|
+
- **Logarithmic risk scoring**: `score = 100 × (1 − e^(−raw/75))` — differentiates engagements with 4 vs. 20 critical findings instead of saturating at the same value
|
|
50
|
+
- Dedicated extractor for `vamp-log-analyzer` preserving MITRE ATT&CK fields (`mitre_tactic`, `mitre_technique`, `event_count`)
|
|
51
|
+
- Auto-detection of Docker daemon and `kubectl` availability for containerized target selection
|
|
52
|
+
- Unified JSON (`schema_version: 2.0`) and HTML reporting
|
|
53
|
+
- Custom tool path and Python interpreter configuration for virtual environment isolation
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Requirements
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Python 3.11+
|
|
61
|
+
rich >= 13.7.0
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Individual tool dependencies must be installed per their own `requirements.txt`.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install -r requirements.txt
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Installation
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
git clone https://github.com/Vampsecure-Labs/vamp-orchestrator.git
|
|
76
|
+
cd vamp-orchestrator
|
|
77
|
+
pip install -r requirements.txt
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Ensure the other VSL tools are present in the same directory and their dependencies installed.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Usage
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
python vamp_orchestrator.py [TARGET OPTIONS] [TOOL OPTIONS] [OUTPUT OPTIONS]
|
|
88
|
+
|
|
89
|
+
Assessment objectives (use one or more):
|
|
90
|
+
-d, --domain DOMAIN Target apex domain
|
|
91
|
+
-u, --url URL Target URL (enables HTTP/web tool subset)
|
|
92
|
+
-H, --host HOST[:PORT] Target IP or hostname with optional port
|
|
93
|
+
-p, --path PATH File system path for secrets and entropy scanning
|
|
94
|
+
--log-dir DIR Directory of logs for forensic analysis (vamp-log-analyzer)
|
|
95
|
+
--jwt TOKEN JWT token for analysis
|
|
96
|
+
--cve CVE-ID [CVE-ID ...] CVE identifiers to analyze
|
|
97
|
+
--k8s-context CONTEXT Kubernetes context for cluster audit (omit = active context)
|
|
98
|
+
--llm-endpoint URL LLM endpoint for AI security probing
|
|
99
|
+
|
|
100
|
+
Tool selection:
|
|
101
|
+
--tools TOOL,... Comma-separated tool names, or 'all' (default: auto-select)
|
|
102
|
+
--skip TOOL,... Tools to exclude from the run
|
|
103
|
+
--tool-dir DIR Directory containing VSL tools (default: parent dir)
|
|
104
|
+
--python PATH Python interpreter to use for tool execution
|
|
105
|
+
|
|
106
|
+
Execution:
|
|
107
|
+
--parallel Run tools in parallel instead of sequentially
|
|
108
|
+
--max-parallel N Maximum simultaneous tool processes (default: 3)
|
|
109
|
+
--timeout N Per-tool execution timeout in seconds (default: 300)
|
|
110
|
+
|
|
111
|
+
Output:
|
|
112
|
+
--json FILE Write unified findings to JSON
|
|
113
|
+
--html FILE Generate unified HTML report
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Examples
|
|
119
|
+
|
|
120
|
+
Full domain assessment using auto-selected tools:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
python vamp_orchestrator.py -d example.com --json assessment.json --html report.html
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Domain + forensic log analysis in parallel:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
python vamp_orchestrator.py -d example.com \
|
|
130
|
+
--log-dir /var/log/nginx \
|
|
131
|
+
--parallel --max-parallel 5 \
|
|
132
|
+
--html full_report.html
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Kubernetes cluster audit using a named context:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
python vamp_orchestrator.py --k8s-context prod-cluster --json k8s_findings.json
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
LLM endpoint security assessment:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
python vamp_orchestrator.py --llm-endpoint http://localhost:11434 --json llm_audit.json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Path scan (secrets + entropy anomalies):
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
python vamp_orchestrator.py -p /opt/myapp --json path_scan.json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
CVE batch analysis:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
python vamp_orchestrator.py --cve CVE-2024-21762 CVE-2023-27997 CVE-2022-40684 \
|
|
157
|
+
--json cve_report.json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Output Formats
|
|
163
|
+
|
|
164
|
+
| Format | How to enable | Description |
|
|
165
|
+
|--------|---------------|-------------|
|
|
166
|
+
| Console | Default | Rich execution log with per-tool status, finding counts, and composite score |
|
|
167
|
+
| JSON | `--json FILE` | Deduplicated unified findings (schema_version 2.0) |
|
|
168
|
+
| HTML | `--html FILE` | Standalone consolidated dark-theme report |
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Exit Codes
|
|
173
|
+
|
|
174
|
+
| Code | Meaning | CI/CD usage |
|
|
175
|
+
|------|---------|-------------|
|
|
176
|
+
| `0` | No findings — all tools clean | Pass gate |
|
|
177
|
+
| `1` | HIGH findings in the unified set | Review recommended |
|
|
178
|
+
| `2` | CRITICAL findings detected | Fail gate — escalate immediately |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Risk Scoring
|
|
183
|
+
|
|
184
|
+
The composite score uses a logarithmic scale that saturates gracefully as findings accumulate:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
raw = CRITICAL×25 + HIGH×10 + MEDIUM×5 + LOW×1
|
|
188
|
+
score = 100 × (1 − e^(−raw/75))
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
| Scenario | raw | Score |
|
|
192
|
+
|----------|-----|-------|
|
|
193
|
+
| 1 CRITICAL | 25 | 28 |
|
|
194
|
+
| 4 CRITICALs | 100 | 74 |
|
|
195
|
+
| 8 CRITICALs | 200 | 93 |
|
|
196
|
+
| 5 HIGHs | 50 | 49 |
|
|
197
|
+
| 10 MEDIUMs | 50 | 49 |
|
|
198
|
+
|
|
199
|
+
Duplicate findings (same severity + title + affected host) are merged and counted once.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Auto-Selected Tool Subsets
|
|
204
|
+
|
|
205
|
+
| Objective flag | Tools auto-selected |
|
|
206
|
+
|----------------|-------------------|
|
|
207
|
+
| `-d` (domain) | passive-recon, ssl, http, wp, mail, cloud, **takeover** |
|
|
208
|
+
| `-H` (host) | ssl, forticheck |
|
|
209
|
+
| `-u` (URL) | http, wp; ssl + recon if no domain/host |
|
|
210
|
+
| `-p` (path) | secrets-scanner, **entropy-watch** |
|
|
211
|
+
| `--log-dir` | **forensic** (vamp-log-analyzer with MITRE ATT&CK) |
|
|
212
|
+
| `--k8s-context` or kubectl present | **k8s-audit** |
|
|
213
|
+
| `--llm-endpoint` | **llm-probe** |
|
|
214
|
+
| `--cve` | cve-oracle |
|
|
215
|
+
| Docker daemon accessible | docker-audit |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Tool Catalog (v2.0)
|
|
220
|
+
|
|
221
|
+
| Slot | Script | Prefix | Trigger |
|
|
222
|
+
|------|--------|--------|---------|
|
|
223
|
+
| `recon` | vamp_passive_recon.py | RECON | domain |
|
|
224
|
+
| `ssl` | vamp_ssl_audit.py | SSL | host / domain |
|
|
225
|
+
| `http` | vamp_http_audit.py | HTTP | url / domain |
|
|
226
|
+
| `wp` | vamp_wp2shell_audit.py | WP | url / domain |
|
|
227
|
+
| `secrets` | vamp_secrets_scanner.py | SEC | path |
|
|
228
|
+
| `jwt` | vamp_jwt_audit.py | JWT | --jwt |
|
|
229
|
+
| `mail` | vamp_mail_audit.py | MAIL | domain |
|
|
230
|
+
| `docker` | vamp_docker_audit.py | DOCK | auto (docker daemon) |
|
|
231
|
+
| `forensic` | vamp_log_analyzer.py | FORA | --log-dir |
|
|
232
|
+
| `cloud` | vamp_cloud_enum.py | CLOUD | domain |
|
|
233
|
+
| `fort` | vamp_forticheck.py | FTC | host |
|
|
234
|
+
| `cve` | vamp_cve_oracle.py | RBVM | --cve |
|
|
235
|
+
| `takeover` | vamp_subdomain_takeover.py | SDT | domain |
|
|
236
|
+
| `k8s` | vamp_k8s_audit.py | K8S | auto (kubectl) / --k8s-context |
|
|
237
|
+
| `entropy` | vamp_entropy_watch.py | ENT | path |
|
|
238
|
+
| `llm` | vamp_llm_probe.py | LLM | --llm-endpoint |
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Part of VampSecure Labs Toolkit
|
|
243
|
+
|
|
244
|
+
`vamp-orchestrator` is part of the **VampSecure Labs Security Research Toolkit**.
|
|
245
|
+
|
|
246
|
+
| Tool | Purpose |
|
|
247
|
+
|------|---------|
|
|
248
|
+
| [vamp-passive-recon](https://github.com/Vampsecure-Labs/vamp-passive-recon) | Passive recon and ASM |
|
|
249
|
+
| [vamp-subdomain-takeover](https://github.com/Vampsecure-Labs/vamp-subdomain-takeover) | Subdomain takeover scanner |
|
|
250
|
+
| [vamp-log-analyzer](https://github.com/Vampsecure-Labs/vamp-log-analyzer) | Forensic log analysis — 25 MITRE ATT&CK detectors |
|
|
251
|
+
| [vamp-k8s-audit](https://github.com/Vampsecure-Labs/vamp-k8s-audit) | Kubernetes cluster security audit |
|
|
252
|
+
| [vamp-entropy-watch](https://github.com/Vampsecure-Labs/vamp-entropy-watch) | Entropy-based ransomware / exfil detector |
|
|
253
|
+
| [vamp-llm-probe](https://github.com/Vampsecure-Labs/vamp-llm-probe) | LLM endpoint security assessment |
|
|
254
|
+
| [vamp-penreport](https://github.com/Vampsecure-Labs/vamp-penreport) | Executive report aggregator |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
<p align="center">
|
|
259
|
+
© VampSecure Studios — VampSecure Labs Security Research Division<br/>
|
|
260
|
+
For authorized security assessments only. Unauthorized use is prohibited.
|
|
261
|
+
</p>
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/version-2.0-crimson?style=flat-square" />
|
|
3
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
4
|
+
<img src="https://img.shields.io/badge/tools-16%20VSL%20slots-teal?style=flat-square" />
|
|
5
|
+
<img src="https://img.shields.io/badge/VampSecure_Labs-Security_Research-8b0000?style=flat-square" />
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<h1 align="center">vamp-orchestrator</h1>
|
|
9
|
+
<p align="center"><em>Multi-Tool Security Assessment Orchestrator — VampSecure Labs</em></p>
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
**vamp-orchestrator** is the meta-orchestrator for the VampSecure Labs toolkit. It auto-discovers installed VSL tools, selects the appropriate subset based on the assessment objective (domain, URL, host, path, log directory, Kubernetes cluster, or LLM endpoint), executes them sequentially or in parallel, deduplicates findings across tools, and produces a unified risk-scored report.
|
|
16
|
+
|
|
17
|
+
Each tool result is parsed by a dedicated extractor, normalized to the VSL finding schema, and merged into a single deduplicated finding set. Findings from forensic log analysis preserve their MITRE ATT&CK mapping (tactic, technique). A logarithmic composite risk score differentiates engagements with few versus many high-severity findings.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- Auto-discovery of up to **16 VampSecure Labs tool slots** in the tool directory
|
|
24
|
+
- Objective-driven tool selection: domain, URL, host, path, JWT, log directory, K8s context, LLM endpoint, and CVE targets each trigger a different tool subset
|
|
25
|
+
- Sequential and parallel execution modes with configurable parallelism limit
|
|
26
|
+
- **Improved deduplication**: findings matched by `severity + title[:60] + affected[:30]` — same finding type on different hosts is never collapsed
|
|
27
|
+
- **Logarithmic risk scoring**: `score = 100 × (1 − e^(−raw/75))` — differentiates engagements with 4 vs. 20 critical findings instead of saturating at the same value
|
|
28
|
+
- Dedicated extractor for `vamp-log-analyzer` preserving MITRE ATT&CK fields (`mitre_tactic`, `mitre_technique`, `event_count`)
|
|
29
|
+
- Auto-detection of Docker daemon and `kubectl` availability for containerized target selection
|
|
30
|
+
- Unified JSON (`schema_version: 2.0`) and HTML reporting
|
|
31
|
+
- Custom tool path and Python interpreter configuration for virtual environment isolation
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Requirements
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Python 3.11+
|
|
39
|
+
rich >= 13.7.0
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Individual tool dependencies must be installed per their own `requirements.txt`.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install -r requirements.txt
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Installation
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
git clone https://github.com/Vampsecure-Labs/vamp-orchestrator.git
|
|
54
|
+
cd vamp-orchestrator
|
|
55
|
+
pip install -r requirements.txt
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Ensure the other VSL tools are present in the same directory and their dependencies installed.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Usage
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
python vamp_orchestrator.py [TARGET OPTIONS] [TOOL OPTIONS] [OUTPUT OPTIONS]
|
|
66
|
+
|
|
67
|
+
Assessment objectives (use one or more):
|
|
68
|
+
-d, --domain DOMAIN Target apex domain
|
|
69
|
+
-u, --url URL Target URL (enables HTTP/web tool subset)
|
|
70
|
+
-H, --host HOST[:PORT] Target IP or hostname with optional port
|
|
71
|
+
-p, --path PATH File system path for secrets and entropy scanning
|
|
72
|
+
--log-dir DIR Directory of logs for forensic analysis (vamp-log-analyzer)
|
|
73
|
+
--jwt TOKEN JWT token for analysis
|
|
74
|
+
--cve CVE-ID [CVE-ID ...] CVE identifiers to analyze
|
|
75
|
+
--k8s-context CONTEXT Kubernetes context for cluster audit (omit = active context)
|
|
76
|
+
--llm-endpoint URL LLM endpoint for AI security probing
|
|
77
|
+
|
|
78
|
+
Tool selection:
|
|
79
|
+
--tools TOOL,... Comma-separated tool names, or 'all' (default: auto-select)
|
|
80
|
+
--skip TOOL,... Tools to exclude from the run
|
|
81
|
+
--tool-dir DIR Directory containing VSL tools (default: parent dir)
|
|
82
|
+
--python PATH Python interpreter to use for tool execution
|
|
83
|
+
|
|
84
|
+
Execution:
|
|
85
|
+
--parallel Run tools in parallel instead of sequentially
|
|
86
|
+
--max-parallel N Maximum simultaneous tool processes (default: 3)
|
|
87
|
+
--timeout N Per-tool execution timeout in seconds (default: 300)
|
|
88
|
+
|
|
89
|
+
Output:
|
|
90
|
+
--json FILE Write unified findings to JSON
|
|
91
|
+
--html FILE Generate unified HTML report
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Examples
|
|
97
|
+
|
|
98
|
+
Full domain assessment using auto-selected tools:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python vamp_orchestrator.py -d example.com --json assessment.json --html report.html
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Domain + forensic log analysis in parallel:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
python vamp_orchestrator.py -d example.com \
|
|
108
|
+
--log-dir /var/log/nginx \
|
|
109
|
+
--parallel --max-parallel 5 \
|
|
110
|
+
--html full_report.html
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Kubernetes cluster audit using a named context:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
python vamp_orchestrator.py --k8s-context prod-cluster --json k8s_findings.json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
LLM endpoint security assessment:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
python vamp_orchestrator.py --llm-endpoint http://localhost:11434 --json llm_audit.json
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Path scan (secrets + entropy anomalies):
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
python vamp_orchestrator.py -p /opt/myapp --json path_scan.json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
CVE batch analysis:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
python vamp_orchestrator.py --cve CVE-2024-21762 CVE-2023-27997 CVE-2022-40684 \
|
|
135
|
+
--json cve_report.json
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Output Formats
|
|
141
|
+
|
|
142
|
+
| Format | How to enable | Description |
|
|
143
|
+
|--------|---------------|-------------|
|
|
144
|
+
| Console | Default | Rich execution log with per-tool status, finding counts, and composite score |
|
|
145
|
+
| JSON | `--json FILE` | Deduplicated unified findings (schema_version 2.0) |
|
|
146
|
+
| HTML | `--html FILE` | Standalone consolidated dark-theme report |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Exit Codes
|
|
151
|
+
|
|
152
|
+
| Code | Meaning | CI/CD usage |
|
|
153
|
+
|------|---------|-------------|
|
|
154
|
+
| `0` | No findings — all tools clean | Pass gate |
|
|
155
|
+
| `1` | HIGH findings in the unified set | Review recommended |
|
|
156
|
+
| `2` | CRITICAL findings detected | Fail gate — escalate immediately |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Risk Scoring
|
|
161
|
+
|
|
162
|
+
The composite score uses a logarithmic scale that saturates gracefully as findings accumulate:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
raw = CRITICAL×25 + HIGH×10 + MEDIUM×5 + LOW×1
|
|
166
|
+
score = 100 × (1 − e^(−raw/75))
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
| Scenario | raw | Score |
|
|
170
|
+
|----------|-----|-------|
|
|
171
|
+
| 1 CRITICAL | 25 | 28 |
|
|
172
|
+
| 4 CRITICALs | 100 | 74 |
|
|
173
|
+
| 8 CRITICALs | 200 | 93 |
|
|
174
|
+
| 5 HIGHs | 50 | 49 |
|
|
175
|
+
| 10 MEDIUMs | 50 | 49 |
|
|
176
|
+
|
|
177
|
+
Duplicate findings (same severity + title + affected host) are merged and counted once.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Auto-Selected Tool Subsets
|
|
182
|
+
|
|
183
|
+
| Objective flag | Tools auto-selected |
|
|
184
|
+
|----------------|-------------------|
|
|
185
|
+
| `-d` (domain) | passive-recon, ssl, http, wp, mail, cloud, **takeover** |
|
|
186
|
+
| `-H` (host) | ssl, forticheck |
|
|
187
|
+
| `-u` (URL) | http, wp; ssl + recon if no domain/host |
|
|
188
|
+
| `-p` (path) | secrets-scanner, **entropy-watch** |
|
|
189
|
+
| `--log-dir` | **forensic** (vamp-log-analyzer with MITRE ATT&CK) |
|
|
190
|
+
| `--k8s-context` or kubectl present | **k8s-audit** |
|
|
191
|
+
| `--llm-endpoint` | **llm-probe** |
|
|
192
|
+
| `--cve` | cve-oracle |
|
|
193
|
+
| Docker daemon accessible | docker-audit |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Tool Catalog (v2.0)
|
|
198
|
+
|
|
199
|
+
| Slot | Script | Prefix | Trigger |
|
|
200
|
+
|------|--------|--------|---------|
|
|
201
|
+
| `recon` | vamp_passive_recon.py | RECON | domain |
|
|
202
|
+
| `ssl` | vamp_ssl_audit.py | SSL | host / domain |
|
|
203
|
+
| `http` | vamp_http_audit.py | HTTP | url / domain |
|
|
204
|
+
| `wp` | vamp_wp2shell_audit.py | WP | url / domain |
|
|
205
|
+
| `secrets` | vamp_secrets_scanner.py | SEC | path |
|
|
206
|
+
| `jwt` | vamp_jwt_audit.py | JWT | --jwt |
|
|
207
|
+
| `mail` | vamp_mail_audit.py | MAIL | domain |
|
|
208
|
+
| `docker` | vamp_docker_audit.py | DOCK | auto (docker daemon) |
|
|
209
|
+
| `forensic` | vamp_log_analyzer.py | FORA | --log-dir |
|
|
210
|
+
| `cloud` | vamp_cloud_enum.py | CLOUD | domain |
|
|
211
|
+
| `fort` | vamp_forticheck.py | FTC | host |
|
|
212
|
+
| `cve` | vamp_cve_oracle.py | RBVM | --cve |
|
|
213
|
+
| `takeover` | vamp_subdomain_takeover.py | SDT | domain |
|
|
214
|
+
| `k8s` | vamp_k8s_audit.py | K8S | auto (kubectl) / --k8s-context |
|
|
215
|
+
| `entropy` | vamp_entropy_watch.py | ENT | path |
|
|
216
|
+
| `llm` | vamp_llm_probe.py | LLM | --llm-endpoint |
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Part of VampSecure Labs Toolkit
|
|
221
|
+
|
|
222
|
+
`vamp-orchestrator` is part of the **VampSecure Labs Security Research Toolkit**.
|
|
223
|
+
|
|
224
|
+
| Tool | Purpose |
|
|
225
|
+
|------|---------|
|
|
226
|
+
| [vamp-passive-recon](https://github.com/Vampsecure-Labs/vamp-passive-recon) | Passive recon and ASM |
|
|
227
|
+
| [vamp-subdomain-takeover](https://github.com/Vampsecure-Labs/vamp-subdomain-takeover) | Subdomain takeover scanner |
|
|
228
|
+
| [vamp-log-analyzer](https://github.com/Vampsecure-Labs/vamp-log-analyzer) | Forensic log analysis — 25 MITRE ATT&CK detectors |
|
|
229
|
+
| [vamp-k8s-audit](https://github.com/Vampsecure-Labs/vamp-k8s-audit) | Kubernetes cluster security audit |
|
|
230
|
+
| [vamp-entropy-watch](https://github.com/Vampsecure-Labs/vamp-entropy-watch) | Entropy-based ransomware / exfil detector |
|
|
231
|
+
| [vamp-llm-probe](https://github.com/Vampsecure-Labs/vamp-llm-probe) | LLM endpoint security assessment |
|
|
232
|
+
| [vamp-penreport](https://github.com/Vampsecure-Labs/vamp-penreport) | Executive report aggregator |
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
<p align="center">
|
|
237
|
+
© VampSecure Studios — VampSecure Labs Security Research Division<br/>
|
|
238
|
+
For authorized security assessments only. Unauthorized use is prohibited.
|
|
239
|
+
</p>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "vamp-orchestrator"
|
|
7
|
+
version = "2.1"
|
|
8
|
+
description = "VampSecure Labs tool orchestrator for automated authorized security audits"
|
|
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", "orchestration", "automation", "pipeline", "red-team"]
|
|
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-orchestrator = "vamp_orchestrator:main"
|
|
30
|
+
|
|
31
|
+
[project.urls]
|
|
32
|
+
Homepage = "https://github.com/Vampsecure-Labs/vamp-orchestrator"
|
|
33
|
+
Repository = "https://github.com/Vampsecure-Labs/vamp-orchestrator"
|
|
34
|
+
|
|
35
|
+
[tool.setuptools]
|
|
36
|
+
py-modules = ["vamp_orchestrator", "vampsec_report"]
|