Pentest Validation
Quality Gates:
- Authorization confirmed before ANY exploitation
- Target URL is staging/dev (NOT production)
- Budget cap enforced ($15 default)
- Time cap enforced (30 min default)
- All exploitation attempts logged
Quick Reference Card
The 4-Phase Pipeline
| Phase |
Agent(s) |
Purpose |
Parallelism |
| 1. Recon |
qe-security-scanner |
SAST, DAST, dependency scan, secrets |
Internal parallel |
| 2. Analysis |
qe-security-reviewer + qe-security-auditor |
Code review + compliance check |
Both in parallel |
| 3. Validation |
qe-pentest-validator |
Graduated exploit validation |
Per-vuln-type parallel |
| 4. Report |
qe-quality-gate |
"No Exploit, No Report" filter |
Sequential |
Graduated Exploitation Tiers
| Tier |
Handler |
Cost |
Latency |
Use When |
| 1 |
Agent Booster (WASM) |
$0 |
<1ms |
Code pattern is conclusive (eval, innerHTML, hardcoded creds) |
| 2 |
Haiku |
$0.0002 |
~500ms |
Need payload test against live target |
| 3 |
Sonnet/Opus |
$0.003-$0.015 |
2-5s |
Full exploit chain with data proof |
When to Use This Skill
| Scenario |
Tier |
Estimated Cost |
| PR security review (source only) |
1 |
$0 |
| Pre-release validation (staging) |
1-2 |
$1-5 |
| Full pentest validation |
1-3 |
$5-15 |
| Compliance audit evidence |
1-3 |
$5-15 |
Configuration
pentest:
target_url: https://staging.app.com # REQUIRED for Tier 2-3
source_repo: ./src # REQUIRED for Tier 1+
exploitation_tier: 2 # 1=pattern-only, 2=payload-test, 3=full-exploit
vuln_types: # Which pipelines to run
- injection # SQL, NoSQL, command injection
- xss # Reflected, stored, DOM XSS
- auth # Auth bypass, session, JWT
- ssrf # URL scheme abuse, metadata
max_cost_usd: 15 # Budget cap per run
timeout_minutes: 30 # Time cap per run
require_authorization: true # MUST confirm target ownership
no_production: true # Block production URLs
production_patterns: # URL patterns to block
- "*.prod.*"
- "api.*"
- "www.*"
Safeguards (Mandatory)
Authorization Gate
Every pentest validation run MUST:
- Display target URL and exploitation tier to user
- Require explicit confirmation: "I own/authorized testing of this target"
- Log authorization with timestamp
- Block if target URL matches production patterns
What This Skill Does NOT Do
- Full autonomous reconnaissance (Nmap, Subfinder)
- Zero-day exploit development
- Attack targets without explicit authorization
- Test production systems
- Store actual exfiltrated data (only proof of access)
- Social engineering or phishing simulation
- Port scanning or service discovery
Validation Pipelines
Injection Pipeline
| Attack |
Tier 1 (Pattern) |
Tier 2 (Payload) |
Tier 3 (Full) |
| SQL injection |
String concat in query |
' OR '1'='1 response diff |
UNION SELECT data extraction |
| NoSQL injection |
$where, $gt in query |
Operator injection test |
Collection enumeration |
| Command injection |
exec(), system() calls |
Command delimiter test |
Reverse shell proof |
| LDAP injection |
String concat in filter |
Wildcard injection |
Directory enumeration |
XSS Pipeline
| Attack |
Tier 1 (Pattern) |
Tier 2 (Payload) |
Tier 3 (Full) |
| Reflected XSS |
No output encoding |
<img onerror> reflection |
Browser JS execution via qe-browser (Vibium) |
| Stored XSS |
innerHTML assignment |
Payload stored + retrieved |
Cookie theft PoC |
| DOM XSS |
document.write(location) |
Fragment injection |
DOM manipulation proof |
Auth Pipeline
| Attack |
Tier 1 (Pattern) |
Tier 2 (Payload) |
Tier 3 (Full) |
| JWT none |
No algorithm validation |
Modified JWT accepted |
Admin access with forged token |
| Session fixation |
No session rotation |
Pre-set session reused |
Cross-user session hijack |
| Credential stuffing |
No rate limiting |
100 attempts unblocked |
Valid credential discovery |
| IDOR |
No authorization check |
Access other user data |
Full CRUD on foreign resources |
SSRF Pipeline
| Attack |
Tier 1 (Pattern) |
Tier 2 (Payload) |
Tier 3 (Full) |
| Internal URL |
User-controlled URL fetch |
http://169.254.169.254 |
Cloud metadata extraction |
| DNS rebinding |
URL validation bypass |
Rebind to internal IP |
Internal service access |
| Protocol smuggling |
URL scheme not restricted |
file:///etc/passwd |
File content in response |
Agent Coordination
Orchestration Pattern
// Phase 1: Recon (parallel scans)
await Task("Security Scan", {
target: "./src",
layers: { sast: true, dast: true, dependencies: true, secrets: true }
}, "qe-security-scanner");
// Phase 2: Analysis (parallel review)
await Promise.all([
Task("Code Security Review", {
findings: phase1Results,
depth: "comprehensive"
}, "qe-security-reviewer"),
Task("Compliance Audit", {
findings: phase1Results,
frameworks: ["owasp-top-10"]
}, "qe-security-auditor")
]);
// Phase 3: Validation (graduated exploitation)
await Task("Exploit Validation", {
findings: [...phase1Results, ...phase2Results],
target_url: "https://staging.app.com",
exploitation_tier: 2,
vuln_types: ["injection", "xss", "auth", "ssrf"],
max_cost_usd: 15,
timeout_minutes: 30
}, "qe-pentest-validator");
// Phase 4: Report ("No Exploit, No Report" gate)
await Task("Security Quality Gate", {
findings: phase3Results.confirmedFindings,
gate: "no-exploit-no-report",
require_poc: true
}, "qe-quality-gate");
Finding Classification
| Status |
Meaning |
Action |
confirmed-exploitable |
Exploitation succeeded with PoC |
Report with evidence |
likely-exploitable |
Partial exploitation, defenses detected |
Report with caveats |
not-exploitable |
All exploitation attempts failed |
Filter from report |
inconclusive |
WAF/defense blocked, unclear if vulnerable |
Report for manual review |
Exploit Playbook Memory
Namespace Structure
aqe/pentest/
playbook/
exploit/{vuln_type}/{tech_stack}/{technique}
bypass/{defense_type}/{technique}
payload/{vuln_type}/{variant}
results/
validation-{timestamp}
poc/
{finding_id}-poc
Learning Loop
- Before validation: Query playbook for known patterns matching findings
- During validation: Try known payloads first (higher success rate)
- After validation: Store new successful patterns with confidence scores
- Over time: Agent converges on most effective payloads per tech stack
Cost Optimization
Estimated Cost by Scenario
| Scenario |
Tier Mix |
Findings |
Est. Cost |
Est. Time |
| PR check (source only) |
100% Tier 1 |
5 |
$0 |
<5s |
| Sprint validation |
70% T1, 30% T2 |
15 |
$2-5 |
5-10 min |
| Release validation |
40% T1, 40% T2, 20% T3 |
25 |
$8-15 |
15-30 min |
| Full pentest |
20% T1, 30% T2, 50% T3 |
40 |
$15-30 |
30-60 min |
Cost vs Shannon Comparison
| Metric |
Shannon |
AQE Pentest Validation |
| Cost per run |
~$50 |
$5-15 (graduated tiers) |
| Runtime |
60-90 min |
15-30 min (parallel pipelines) |
| False positive rate |
Low (exploit-proven) |
Low (same principle) |
| Learning |
None (static prompts) |
ReasoningBank playbook |
Success Metrics
| Metric |
Target |
Measurement |
| False positive reduction |
>60% of findings eliminated |
Pre/post validator comparison |
| Exploit confirmation rate |
>80% of confirmed findings truly exploitable |
Manual PoC verification |
| Cost per run |
<$15 USD |
Token tracking per pipeline |
| Time per run |
<30 minutes |
Execution time metrics |
| Playbook growth |
100+ patterns after 6 months |
Memory namespace count |
Related Skills
Remember
"No Exploit, No Report." A vulnerability scanner that can't prove exploitation delivers uncertain value. This skill transforms security findings from theoretical risks into proven vulnerabilities with evidence. Every confirmed finding comes with a reproducible proof-of-concept. Every false positive is eliminated before it reaches the report.
Think proof, not prediction. Don't report what MIGHT be vulnerable. Prove what IS vulnerable.
1---
2name: pentest-validation
3description: "Use when validating security findings from SAST/DAST scans, proving exploitability of reported vulnerabilities, eliminating false positives, or running the 4-phase pentest pipeline (recon, analysis, validation, report)."
4category: specialized-testing
5priority: critical
6tokenEstimate: 1500
7agents: [qe-pentest-validator, qe-security-scanner, qe-security-reviewer, qe-security-auditor, qe-quality-gate]
8implementation_status: optimized
9optimization_version: 1.0
10last_optimized: 2026-02-08
11dependencies: [security-testing]
12quick_reference_card: true
13tags: [pentest, exploitation, security-validation, shannon, no-exploit-no-report, graduated-exploitation]
14trust_tier: 3
15validation:
16 schema_path: schemas/output.json
17 validator_path: scripts/validate-config.json
18 eval_path: evals/pentest-validation.yaml
19---
20
21# Pentest Validation
22
23<default_to_action>
24When validating security findings:
251. REQUIRE explicit authorization for target URL
262. SCAN with qe-security-scanner (SAST + dependency + secrets)
273. ANALYZE with qe-security-reviewer + qe-security-auditor (parallel)
284. VALIDATE with qe-pentest-validator (graduated exploitation, parallel per vuln type)
295. REPORT only confirmed findings with PoC evidence ("No Exploit, No Report")
306. UPDATE exploit playbook with new patterns
31
32**Quality Gates:**
33- Authorization confirmed before ANY exploitation
34- Target URL is staging/dev (NOT production)
35- Budget cap enforced ($15 default)
36- Time cap enforced (30 min default)
37- All exploitation attempts logged
38</default_to_action>
39
40## Quick Reference Card
41
42### The 4-Phase Pipeline
43
44| Phase | Agent(s) | Purpose | Parallelism |
45|-------|----------|---------|-------------|
46| **1. Recon** | qe-security-scanner | SAST, DAST, dependency scan, secrets | Internal parallel |
47| **2. Analysis** | qe-security-reviewer + qe-security-auditor | Code review + compliance check | Both in parallel |
48| **3. Validation** | qe-pentest-validator | Graduated exploit validation | Per-vuln-type parallel |
49| **4. Report** | qe-quality-gate | "No Exploit, No Report" filter | Sequential |
50
51### Graduated Exploitation Tiers
52
53| Tier | Handler | Cost | Latency | Use When |
54|------|---------|------|---------|----------|
55| **1** | Agent Booster (WASM) | $0 | <1ms | Code pattern is conclusive (eval, innerHTML, hardcoded creds) |
56| **2** | Haiku | $0.0002 | ~500ms | Need payload test against live target |
57| **3** | Sonnet/Opus | $0.003-$0.015 | 2-5s | Full exploit chain with data proof |
58
59### When to Use This Skill
60
61| Scenario | Tier | Estimated Cost |
62|----------|------|----------------|
63| PR security review (source only) | 1 | $0 |
64| Pre-release validation (staging) | 1-2 | $1-5 |
65| Full pentest validation | 1-3 | $5-15 |
66| Compliance audit evidence | 1-3 | $5-15 |
67
68---
69
70## Configuration
71
72```yaml
73pentest:
74 target_url: https://staging.app.com # REQUIRED for Tier 2-3
75 source_repo: ./src # REQUIRED for Tier 1+
76 exploitation_tier: 2 # 1=pattern-only, 2=payload-test, 3=full-exploit
77 vuln_types: # Which pipelines to run
78 - injection # SQL, NoSQL, command injection
79 - xss # Reflected, stored, DOM XSS
80 - auth # Auth bypass, session, JWT
81 - ssrf # URL scheme abuse, metadata
82 max_cost_usd: 15 # Budget cap per run
83 timeout_minutes: 30 # Time cap per run
84 require_authorization: true # MUST confirm target ownership
85 no_production: true # Block production URLs
86 production_patterns: # URL patterns to block
87 - "*.prod.*"
88 - "api.*"
89 - "www.*"
90```
91
92---
93
94## Safeguards (Mandatory)
95
96### Authorization Gate
97Every pentest validation run MUST:
981. Display target URL and exploitation tier to user
992. Require explicit confirmation: "I own/authorized testing of this target"
1003. Log authorization with timestamp
1014. Block if target URL matches production patterns
102
103### What This Skill Does NOT Do
104- Full autonomous reconnaissance (Nmap, Subfinder)
105- Zero-day exploit development
106- Attack targets without explicit authorization
107- Test production systems
108- Store actual exfiltrated data (only proof of access)
109- Social engineering or phishing simulation
110- Port scanning or service discovery
111
112---
113
114## Validation Pipelines
115
116### Injection Pipeline
117| Attack | Tier 1 (Pattern) | Tier 2 (Payload) | Tier 3 (Full) |
118|--------|-------------------|-------------------|----------------|
119| SQL injection | String concat in query | `' OR '1'='1` response diff | UNION SELECT data extraction |
120| NoSQL injection | `$where`, `$gt` in query | Operator injection test | Collection enumeration |
121| Command injection | `exec()`, `system()` calls | Command delimiter test | Reverse shell proof |
122| LDAP injection | String concat in filter | Wildcard injection | Directory enumeration |
123
124### XSS Pipeline
125| Attack | Tier 1 (Pattern) | Tier 2 (Payload) | Tier 3 (Full) |
126|--------|-------------------|-------------------|----------------|
127| Reflected XSS | No output encoding | `<img onerror>` reflection | Browser JS execution via qe-browser (Vibium) |
128| Stored XSS | `innerHTML` assignment | Payload stored + retrieved | Cookie theft PoC |
129| DOM XSS | `document.write(location)` | Fragment injection | DOM manipulation proof |
130
131### Auth Pipeline
132| Attack | Tier 1 (Pattern) | Tier 2 (Payload) | Tier 3 (Full) |
133|--------|-------------------|-------------------|----------------|
134| JWT none | No algorithm validation | Modified JWT accepted | Admin access with forged token |
135| Session fixation | No session rotation | Pre-set session reused | Cross-user session hijack |
136| Credential stuffing | No rate limiting | 100 attempts unblocked | Valid credential discovery |
137| IDOR | No authorization check | Access other user data | Full CRUD on foreign resources |
138
139### SSRF Pipeline
140| Attack | Tier 1 (Pattern) | Tier 2 (Payload) | Tier 3 (Full) |
141|--------|-------------------|-------------------|----------------|
142| Internal URL | User-controlled URL fetch | `http://169.254.169.254` | Cloud metadata extraction |
143| DNS rebinding | URL validation bypass | Rebind to internal IP | Internal service access |
144| Protocol smuggling | URL scheme not restricted | `file:///etc/passwd` | File content in response |
145
146---
147
148## Agent Coordination
149
150### Orchestration Pattern
151```typescript
152// Phase 1: Recon (parallel scans)
153await Task("Security Scan", {
154 target: "./src",
155 layers: { sast: true, dast: true, dependencies: true, secrets: true }
156}, "qe-security-scanner");
157
158// Phase 2: Analysis (parallel review)
159await Promise.all([
160 Task("Code Security Review", {
161 findings: phase1Results,
162 depth: "comprehensive"
163 }, "qe-security-reviewer"),
164
165 Task("Compliance Audit", {
166 findings: phase1Results,
167 frameworks: ["owasp-top-10"]
168 }, "qe-security-auditor")
169]);
170
171// Phase 3: Validation (graduated exploitation)
172await Task("Exploit Validation", {
173 findings: [...phase1Results, ...phase2Results],
174 target_url: "https://staging.app.com",
175 exploitation_tier: 2,
176 vuln_types: ["injection", "xss", "auth", "ssrf"],
177 max_cost_usd: 15,
178 timeout_minutes: 30
179}, "qe-pentest-validator");
180
181// Phase 4: Report ("No Exploit, No Report" gate)
182await Task("Security Quality Gate", {
183 findings: phase3Results.confirmedFindings,
184 gate: "no-exploit-no-report",
185 require_poc: true
186}, "qe-quality-gate");
187```
188
189### Finding Classification
190| Status | Meaning | Action |
191|--------|---------|--------|
192| `confirmed-exploitable` | Exploitation succeeded with PoC | Report with evidence |
193| `likely-exploitable` | Partial exploitation, defenses detected | Report with caveats |
194| `not-exploitable` | All exploitation attempts failed | Filter from report |
195| `inconclusive` | WAF/defense blocked, unclear if vulnerable | Report for manual review |
196
197---
198
199## Exploit Playbook Memory
200
201### Namespace Structure
202```
203aqe/pentest/
204 playbook/
205 exploit/{vuln_type}/{tech_stack}/{technique}
206 bypass/{defense_type}/{technique}
207 payload/{vuln_type}/{variant}
208 results/
209 validation-{timestamp}
210 poc/
211 {finding_id}-poc
212```
213
214### Learning Loop
2151. **Before validation**: Query playbook for known patterns matching findings
2162. **During validation**: Try known payloads first (higher success rate)
2173. **After validation**: Store new successful patterns with confidence scores
2184. **Over time**: Agent converges on most effective payloads per tech stack
219
220---
221
222## Cost Optimization
223
224### Estimated Cost by Scenario
225| Scenario | Tier Mix | Findings | Est. Cost | Est. Time |
226|----------|----------|----------|-----------|-----------|
227| PR check (source only) | 100% Tier 1 | 5 | $0 | <5s |
228| Sprint validation | 70% T1, 30% T2 | 15 | $2-5 | 5-10 min |
229| Release validation | 40% T1, 40% T2, 20% T3 | 25 | $8-15 | 15-30 min |
230| Full pentest | 20% T1, 30% T2, 50% T3 | 40 | $15-30 | 30-60 min |
231
232### Cost vs Shannon Comparison
233| Metric | Shannon | AQE Pentest Validation |
234|--------|---------|----------------------|
235| Cost per run | ~$50 | $5-15 (graduated tiers) |
236| Runtime | 60-90 min | 15-30 min (parallel pipelines) |
237| False positive rate | Low (exploit-proven) | Low (same principle) |
238| Learning | None (static prompts) | ReasoningBank playbook |
239
240---
241
242## Success Metrics
243
244| Metric | Target | Measurement |
245|--------|--------|-------------|
246| False positive reduction | >60% of findings eliminated | Pre/post validator comparison |
247| Exploit confirmation rate | >80% of confirmed findings truly exploitable | Manual PoC verification |
248| Cost per run | <$15 USD | Token tracking per pipeline |
249| Time per run | <30 minutes | Execution time metrics |
250| Playbook growth | 100+ patterns after 6 months | Memory namespace count |
251
252---
253
254## Related Skills
255
256- [security-testing](../security-testing/) - OWASP vulnerability scanning, SAST/DAST automation
257- [compliance-testing](../compliance-testing/) - Regulatory compliance
258- [api-testing-patterns](../api-testing-patterns/) - API security testing
259- [chaos-engineering-resilience](../chaos-engineering-resilience/) - Security under chaos
260
261---
262
263## Remember
264
265**"No Exploit, No Report."** A vulnerability scanner that can't prove exploitation delivers uncertain value. This skill transforms security findings from theoretical risks into proven vulnerabilities with evidence. Every confirmed finding comes with a reproducible proof-of-concept. Every false positive is eliminated before it reaches the report.
266
267**Think proof, not prediction.** Don't report what MIGHT be vulnerable. Prove what IS vulnerable.