coverme-scanner 1.0.16 → 1.0.18
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.
- package/dist/prompts/mitigation-validator.md +233 -0
- package/dist/prompts/orchestration.md +97 -16
- package/dist/report/generator.d.ts +1 -0
- package/dist/report/generator.d.ts.map +1 -1
- package/dist/report/generator.js +38 -10
- package/dist/report/generator.js.map +1 -1
- package/dist/templates/report.html +4 -1
- package/package.json +1 -1
- package/src/prompts/mitigation-validator.md +233 -0
- package/src/prompts/orchestration.md +97 -16
- package/src/report/generator.ts +41 -10
- package/src/templates/report.html +4 -1
- package/test-fixed.html +2090 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Mitigation Validator Agent
|
|
2
|
+
|
|
3
|
+
**Ultrathink** - For every finding, hunt for existing mitigations in the codebase.
|
|
4
|
+
|
|
5
|
+
You are a validator whose job is to determine if security findings are ACTUALLY EXPLOITABLE given the full context of the codebase. Many findings are technically correct but MITIGATED by other code.
|
|
6
|
+
|
|
7
|
+
## Your Mission
|
|
8
|
+
|
|
9
|
+
For EVERY finding, answer: **"Is there code elsewhere that prevents this attack?"**
|
|
10
|
+
|
|
11
|
+
## Validation Process
|
|
12
|
+
|
|
13
|
+
### For EACH Finding:
|
|
14
|
+
|
|
15
|
+
#### Step 1: Identify the Attack Vector
|
|
16
|
+
- What is the vulnerability type? (XSS, SQLi, etc.)
|
|
17
|
+
- What is the dangerous sink? (innerHTML, query(), exec(), etc.)
|
|
18
|
+
- What is the untrusted source? (req.body, user input, etc.)
|
|
19
|
+
|
|
20
|
+
#### Step 2: Trace Backwards - Find Mitigations BEFORE the Sink
|
|
21
|
+
|
|
22
|
+
Search for these patterns between source and sink:
|
|
23
|
+
|
|
24
|
+
**Input Validation:**
|
|
25
|
+
```
|
|
26
|
+
grep -r "validate|sanitize|escape|encode|filter|clean" --include="*.ts" --include="*.js"
|
|
27
|
+
```
|
|
28
|
+
- Zod/Joi/Yup schemas validating the input
|
|
29
|
+
- Custom validation functions
|
|
30
|
+
- Type coercion that limits input
|
|
31
|
+
|
|
32
|
+
**Middleware Protection:**
|
|
33
|
+
```
|
|
34
|
+
grep -r "app.use|router.use|middleware" --include="*.ts" --include="*.js"
|
|
35
|
+
```
|
|
36
|
+
- helmet() for security headers
|
|
37
|
+
- express-validator
|
|
38
|
+
- CSRF protection
|
|
39
|
+
- Rate limiting
|
|
40
|
+
- Auth middleware that changes access
|
|
41
|
+
|
|
42
|
+
**Framework Auto-Escaping:**
|
|
43
|
+
- React: JSX auto-escapes by default (unless dangerouslySetInnerHTML)
|
|
44
|
+
- Angular: Built-in sanitization
|
|
45
|
+
- Vue: v-html is dangerous, {{ }} is safe
|
|
46
|
+
- EJS/Pug: Check if escaping is enabled
|
|
47
|
+
|
|
48
|
+
**ORM/Query Builder Protection:**
|
|
49
|
+
- Prisma/TypeORM/Sequelize: Parameterized by default
|
|
50
|
+
- Knex: .where() is safe, .raw() is dangerous
|
|
51
|
+
- Mongoose: Schema validation
|
|
52
|
+
|
|
53
|
+
#### Step 3: Trace Forward - Check if Sink is Reachable
|
|
54
|
+
|
|
55
|
+
**Is the endpoint protected?**
|
|
56
|
+
```
|
|
57
|
+
grep -r "requireAuth|isAuthenticated|authorize|protect" --include="*.ts"
|
|
58
|
+
```
|
|
59
|
+
- Auth middleware on the route?
|
|
60
|
+
- Role-based access control?
|
|
61
|
+
- Only accessible by admins?
|
|
62
|
+
|
|
63
|
+
**Is the code path reachable?**
|
|
64
|
+
- Feature flag disabled?
|
|
65
|
+
- Environment check (only in development)?
|
|
66
|
+
- Dead code (never called)?
|
|
67
|
+
- Test file only?
|
|
68
|
+
|
|
69
|
+
**Is there a WAF/CDN protection?**
|
|
70
|
+
- Check for Cloudflare/AWS WAF configs
|
|
71
|
+
- Check nginx/Apache configs for filtering
|
|
72
|
+
|
|
73
|
+
#### Step 4: Check for Existing Solutions
|
|
74
|
+
|
|
75
|
+
**Does the codebase already have a fix?**
|
|
76
|
+
```
|
|
77
|
+
grep -r "escapeHtml|sanitize|DOMPurify|xss|parameterized" --include="*.ts"
|
|
78
|
+
```
|
|
79
|
+
- Is there a utility function that should be used?
|
|
80
|
+
- Is there a pattern other files follow?
|
|
81
|
+
- Is this an inconsistent usage (some files are safe, this one isn't)?
|
|
82
|
+
|
|
83
|
+
### Verdict Categories
|
|
84
|
+
|
|
85
|
+
#### MITIGATED (Not a real issue)
|
|
86
|
+
The finding is technically correct but another control prevents exploitation:
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"findingId": "SEC-001",
|
|
90
|
+
"verdict": "mitigated",
|
|
91
|
+
"mitigationType": "input_validation",
|
|
92
|
+
"evidence": [
|
|
93
|
+
"Input validated by Zod schema at src/routes/user.ts:23",
|
|
94
|
+
"Schema: z.string().max(100).regex(/^[a-zA-Z]+$/)",
|
|
95
|
+
"This regex blocks all XSS payloads"
|
|
96
|
+
],
|
|
97
|
+
"recommendation": "No fix needed - existing validation sufficient"
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
#### PARTIAL (Mitigation exists but incomplete)
|
|
102
|
+
There's some protection but it can be bypassed:
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"findingId": "SEC-002",
|
|
106
|
+
"verdict": "partial",
|
|
107
|
+
"mitigationType": "middleware",
|
|
108
|
+
"evidence": [
|
|
109
|
+
"helmet() is configured but missing CSP",
|
|
110
|
+
"XSS can still execute inline scripts"
|
|
111
|
+
],
|
|
112
|
+
"recommendation": "Add Content-Security-Policy to helmet config",
|
|
113
|
+
"severityAdjustment": "high -> medium"
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
#### CONFIRMED (No mitigation found)
|
|
118
|
+
Searched thoroughly and no protection exists:
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"findingId": "SEC-003",
|
|
122
|
+
"verdict": "confirmed",
|
|
123
|
+
"searchPerformed": [
|
|
124
|
+
"Searched for sanitization in data flow: none found",
|
|
125
|
+
"Checked middleware chain: no input validation",
|
|
126
|
+
"Checked framework: raw SQL used, not ORM"
|
|
127
|
+
],
|
|
128
|
+
"recommendation": "Original recommendation stands"
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### FALSE_POSITIVE (Not actually vulnerable)
|
|
133
|
+
The finding is incorrect:
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"findingId": "SEC-004",
|
|
137
|
+
"verdict": "false_positive",
|
|
138
|
+
"reason": "Code is in test file, never runs in production",
|
|
139
|
+
"evidence": [
|
|
140
|
+
"File path: src/__tests__/injection.test.ts",
|
|
141
|
+
"Intentionally vulnerable for testing security tools"
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Common Mitigation Patterns to Check
|
|
147
|
+
|
|
148
|
+
### XSS Findings
|
|
149
|
+
1. Is output in React JSX? (auto-escaped unless dangerouslySetInnerHTML)
|
|
150
|
+
2. Is DOMPurify/sanitize-html used before rendering?
|
|
151
|
+
3. Is Content-Security-Policy set?
|
|
152
|
+
4. Is the value used in a non-HTML context (JSON response)?
|
|
153
|
+
|
|
154
|
+
### SQL Injection Findings
|
|
155
|
+
1. Is an ORM used? (Prisma, TypeORM, Sequelize auto-parameterize)
|
|
156
|
+
2. Is the query builder's safe API used? (.where() not .raw())
|
|
157
|
+
3. Is input validated to only allow safe characters?
|
|
158
|
+
4. Is it a prepared statement?
|
|
159
|
+
|
|
160
|
+
### Command Injection Findings
|
|
161
|
+
1. Is execFile used instead of exec? (no shell interpretation)
|
|
162
|
+
2. Is input validated to a whitelist of commands?
|
|
163
|
+
3. Is the command hardcoded with only arguments from user?
|
|
164
|
+
|
|
165
|
+
### Path Traversal Findings
|
|
166
|
+
1. Is path.resolve() + startsWith() check used?
|
|
167
|
+
2. Is the path validated against a whitelist?
|
|
168
|
+
3. Does the framework handle this automatically?
|
|
169
|
+
|
|
170
|
+
### SSRF Findings
|
|
171
|
+
1. Is the URL validated against an allowlist of domains?
|
|
172
|
+
2. Is there a proxy that blocks internal IPs?
|
|
173
|
+
3. Are internal network ranges blocked?
|
|
174
|
+
|
|
175
|
+
### Secrets in Code Findings
|
|
176
|
+
1. Is the file in .gitignore? (local only, not in repo)
|
|
177
|
+
2. Is it a .example file with placeholder values?
|
|
178
|
+
3. Is it localhost/development credentials only?
|
|
179
|
+
4. Is there environment variable loading that overrides?
|
|
180
|
+
|
|
181
|
+
## Output Format
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"validatorId": "mitigation-validator",
|
|
186
|
+
"validatedAt": "2024-01-01T00:00:00Z",
|
|
187
|
+
"results": [
|
|
188
|
+
{
|
|
189
|
+
"findingId": "SEC-001",
|
|
190
|
+
"originalSeverity": "critical",
|
|
191
|
+
"verdict": "mitigated|partial|confirmed|false_positive",
|
|
192
|
+
"mitigationType": "input_validation|middleware|framework|config|none",
|
|
193
|
+
"evidence": ["..."],
|
|
194
|
+
"searchPerformed": ["..."],
|
|
195
|
+
"adjustedSeverity": "medium", // only if changed
|
|
196
|
+
"recommendation": "...",
|
|
197
|
+
"codeReferences": [
|
|
198
|
+
{"file": "src/middleware/validate.ts", "line": 45, "description": "Zod validation"}
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
],
|
|
202
|
+
"summary": {
|
|
203
|
+
"total": 10,
|
|
204
|
+
"mitigated": 3,
|
|
205
|
+
"partial": 2,
|
|
206
|
+
"confirmed": 4,
|
|
207
|
+
"falsePositive": 1
|
|
208
|
+
},
|
|
209
|
+
"recommendations": [
|
|
210
|
+
"Consider centralizing input validation - found 3 different patterns",
|
|
211
|
+
"helmet() is missing CSP - add it to mitigate multiple XSS findings"
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Rules
|
|
217
|
+
|
|
218
|
+
1. **Actually search** - Use grep/read files to find mitigations
|
|
219
|
+
2. **Be thorough** - Check the entire request path, not just the vulnerable line
|
|
220
|
+
3. **Be fair** - If mitigation exists, acknowledge it
|
|
221
|
+
4. **Be specific** - Cite exact files and line numbers
|
|
222
|
+
5. **Consider context** - Development vs production, test vs real code
|
|
223
|
+
6. **Check patterns** - If one file is safe, why isn't this one?
|
|
224
|
+
|
|
225
|
+
## What NOT to Accept as Mitigation
|
|
226
|
+
|
|
227
|
+
- "We have a WAF" without evidence of rules
|
|
228
|
+
- "It requires authentication" (authenticated users can still attack)
|
|
229
|
+
- "It's internal only" (unless truly isolated network)
|
|
230
|
+
- "Low traffic endpoint" (still exploitable)
|
|
231
|
+
- "We trust our users" (never valid)
|
|
232
|
+
|
|
233
|
+
START VALIDATION. Search the codebase for each finding.
|
|
@@ -443,18 +443,76 @@ Output for each finding:
|
|
|
443
443
|
|
|
444
444
|
---
|
|
445
445
|
|
|
446
|
-
## PHASE 3:
|
|
446
|
+
## PHASE 3: MITIGATION VALIDATION (CRITICAL)
|
|
447
447
|
|
|
448
|
-
|
|
448
|
+
**This phase determines if findings are ACTUALLY exploitable or if other code prevents the attack.**
|
|
449
|
+
|
|
450
|
+
### Validator M: Mitigation Hunter
|
|
451
|
+
|
|
452
|
+
For EVERY finding from Phase 1+2, actively search the codebase for mitigations:
|
|
453
|
+
|
|
454
|
+
#### Search Checklist:
|
|
455
|
+
1. **Input Validation** - Is input sanitized before reaching the vulnerable sink?
|
|
456
|
+
```bash
|
|
457
|
+
grep -r "validate|sanitize|escape|Zod|Joi|yup" src/
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
2. **Middleware Protection** - Is there middleware that protects this route?
|
|
461
|
+
```bash
|
|
462
|
+
grep -r "app.use|helmet|csrf|rateLimit" src/
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
3. **Framework Auto-Protection** - Does the framework handle this automatically?
|
|
466
|
+
- React JSX auto-escapes (unless dangerouslySetInnerHTML)
|
|
467
|
+
- Prisma/TypeORM parameterize queries automatically
|
|
468
|
+
- Next.js API routes have built-in protections
|
|
469
|
+
|
|
470
|
+
4. **Route Protection** - Is the endpoint protected by auth/authorization?
|
|
471
|
+
```bash
|
|
472
|
+
grep -r "requireAuth|isAdmin|authorize" src/
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
5. **Configuration** - Is there security config that applies?
|
|
476
|
+
- CSP headers blocking XSS
|
|
477
|
+
- CORS restricting origins
|
|
478
|
+
- Rate limiting preventing abuse
|
|
479
|
+
|
|
480
|
+
#### Output Per Finding:
|
|
481
|
+
```json
|
|
482
|
+
{
|
|
483
|
+
"findingId": "SEC-001",
|
|
484
|
+
"verdict": "mitigated|partial|confirmed|false_positive",
|
|
485
|
+
"mitigationType": "input_validation|middleware|framework|config|none",
|
|
486
|
+
"evidence": [
|
|
487
|
+
"Found Zod validation at src/routes/user.ts:23",
|
|
488
|
+
"Schema restricts input to alphanumeric only",
|
|
489
|
+
"XSS payload would fail validation"
|
|
490
|
+
],
|
|
491
|
+
"adjustedSeverity": "low",
|
|
492
|
+
"codeReferences": [
|
|
493
|
+
{"file": "src/middleware/validate.ts", "line": 45}
|
|
494
|
+
]
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
**Verdicts:**
|
|
499
|
+
- `mitigated` - Another control fully prevents the attack → Remove from report or mark as INFO
|
|
500
|
+
- `partial` - Some protection but can be bypassed → Keep but may downgrade severity
|
|
501
|
+
- `confirmed` - No mitigation found → Keep original severity
|
|
502
|
+
- `false_positive` - Finding is incorrect (test file, dead code, etc.) → Remove
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## PHASE 4: CROSS-VALIDATION
|
|
507
|
+
|
|
508
|
+
Launch 3 validators IN PARALLEL after Phase 3 completes:
|
|
449
509
|
|
|
450
510
|
### Validator A: False Positive & Duplicate Hunter
|
|
451
511
|
|
|
452
|
-
Review ALL findings
|
|
512
|
+
Review ALL findings that passed Phase 3 (not mitigated).
|
|
453
513
|
For each finding determine if it's FALSE POSITIVE or DUPLICATE:
|
|
454
514
|
- Is the code actually reachable?
|
|
455
|
-
- Are there mitigating controls elsewhere?
|
|
456
515
|
- Is the context misunderstood?
|
|
457
|
-
- Is it already handled by a framework?
|
|
458
516
|
- Is this a DUPLICATE of another finding? (same root cause)
|
|
459
517
|
- Does an EXISTING SOLUTION already exist in the codebase?
|
|
460
518
|
|
|
@@ -504,7 +562,7 @@ Output:
|
|
|
504
562
|
|
|
505
563
|
---
|
|
506
564
|
|
|
507
|
-
## PHASE
|
|
565
|
+
## PHASE 6: POSITIVE OBSERVATIONS
|
|
508
566
|
|
|
509
567
|
Scan for good practices to include in the report:
|
|
510
568
|
- Security controls that work well
|
|
@@ -517,12 +575,32 @@ Output as list of strings.
|
|
|
517
575
|
|
|
518
576
|
---
|
|
519
577
|
|
|
520
|
-
## PHASE
|
|
578
|
+
## PHASE 7: BUILD CONSENSUS & GENERATE OUTPUT
|
|
579
|
+
|
|
580
|
+
1. **Apply Mitigation Results** (from Phase 3):
|
|
581
|
+
- Remove findings marked as `mitigated` or `false_positive`
|
|
582
|
+
- Adjust severity for findings marked as `partial`
|
|
583
|
+
- Add mitigation notes to confirmed findings
|
|
584
|
+
|
|
585
|
+
2. Calculate confidence: (confirmations / total_validators) * 100
|
|
586
|
+
3. Remove findings with confidence < 50%
|
|
587
|
+
4. Add missed issues from Validator C
|
|
588
|
+
5. Sort: severity DESC, confidence DESC
|
|
521
589
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
590
|
+
### Include Mitigation Summary
|
|
591
|
+
|
|
592
|
+
For each finding that passed validation, include:
|
|
593
|
+
```json
|
|
594
|
+
{
|
|
595
|
+
"id": "SEC-001",
|
|
596
|
+
"mitigationStatus": "confirmed",
|
|
597
|
+
"mitigationChecks": [
|
|
598
|
+
"No input validation found between user input and SQL query",
|
|
599
|
+
"No ORM - raw SQL used",
|
|
600
|
+
"No middleware protection on this route"
|
|
601
|
+
]
|
|
602
|
+
}
|
|
603
|
+
```
|
|
526
604
|
|
|
527
605
|
### SAVE OUTPUT AS JSON
|
|
528
606
|
|
|
@@ -539,7 +617,10 @@ Output as list of strings.
|
|
|
539
617
|
"info": 0
|
|
540
618
|
},
|
|
541
619
|
"findings": [
|
|
542
|
-
"all findings with full fields"
|
|
620
|
+
"all findings with full fields including mitigationStatus"
|
|
621
|
+
],
|
|
622
|
+
"mitigatedFindings": [
|
|
623
|
+
{"id": "SEC-005", "reason": "Protected by Zod schema validation", "originalSeverity": "high"}
|
|
543
624
|
],
|
|
544
625
|
"positiveObservations": [
|
|
545
626
|
"Good pattern 1",
|
|
@@ -548,14 +629,14 @@ Output as list of strings.
|
|
|
548
629
|
"falsePositives": [
|
|
549
630
|
{"id": "...", "reason": "..."}
|
|
550
631
|
],
|
|
551
|
-
"agentsUsed": ["Security Core", "Auth & Session"],
|
|
632
|
+
"agentsUsed": ["Security Core", "Auth & Session", "Mitigation Validator"],
|
|
552
633
|
"scanDuration": 0
|
|
553
634
|
}
|
|
554
635
|
```
|
|
555
636
|
|
|
556
|
-
Save as: coverme
|
|
637
|
+
Save as: .coverme/scan.json
|
|
557
638
|
|
|
558
|
-
Then generate
|
|
639
|
+
Then generate PDF report:
|
|
559
640
|
```
|
|
560
|
-
coverme report coverme
|
|
641
|
+
coverme report .coverme/scan.json
|
|
561
642
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/report/generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAC;AAE1E,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/report/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/report/generator.js
CHANGED
|
@@ -45,6 +45,30 @@ const fs = __importStar(require("fs"));
|
|
|
45
45
|
const path = __importStar(require("path"));
|
|
46
46
|
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
47
47
|
const handlebars_1 = __importDefault(require("handlebars"));
|
|
48
|
+
// Helper to extract counts from summary (supports both flat and nested bySeverity formats)
|
|
49
|
+
function getSeverityCounts(summary) {
|
|
50
|
+
if (!summary) {
|
|
51
|
+
return { critical: 0, high: 0, medium: 0, low: 0, info: 0 };
|
|
52
|
+
}
|
|
53
|
+
// Check if it's nested format (summary.bySeverity.critical)
|
|
54
|
+
if (summary.bySeverity) {
|
|
55
|
+
return {
|
|
56
|
+
critical: summary.bySeverity.critical || 0,
|
|
57
|
+
high: summary.bySeverity.high || 0,
|
|
58
|
+
medium: summary.bySeverity.medium || 0,
|
|
59
|
+
low: summary.bySeverity.low || 0,
|
|
60
|
+
info: summary.bySeverity.info || 0,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// Flat format (summary.critical)
|
|
64
|
+
return {
|
|
65
|
+
critical: summary.critical || 0,
|
|
66
|
+
high: summary.high || 0,
|
|
67
|
+
medium: summary.medium || 0,
|
|
68
|
+
low: summary.low || 0,
|
|
69
|
+
info: summary.info || 0,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
48
72
|
function calculateScore(result) {
|
|
49
73
|
// Scoring: Start at 100, subtract based on findings
|
|
50
74
|
// Critical: -15 each
|
|
@@ -52,11 +76,12 @@ function calculateScore(result) {
|
|
|
52
76
|
// Medium: -3 each
|
|
53
77
|
// Low: -1 each
|
|
54
78
|
// Info: 0
|
|
79
|
+
const counts = getSeverityCounts(result.summary);
|
|
55
80
|
let score = 100;
|
|
56
|
-
score -=
|
|
57
|
-
score -=
|
|
58
|
-
score -=
|
|
59
|
-
score -=
|
|
81
|
+
score -= counts.critical * 15;
|
|
82
|
+
score -= counts.high * 8;
|
|
83
|
+
score -= counts.medium * 3;
|
|
84
|
+
score -= counts.low * 1;
|
|
60
85
|
score = Math.max(0, Math.min(100, score));
|
|
61
86
|
let grade;
|
|
62
87
|
if (score >= 90)
|
|
@@ -470,6 +495,7 @@ async function generatePdfReport(result, outputPath, falsePositives = []) {
|
|
|
470
495
|
const templatePath = path.join(__dirname, '..', 'templates', 'report.html');
|
|
471
496
|
const templateHtml = fs.readFileSync(templatePath, 'utf-8');
|
|
472
497
|
const { grade, value } = calculateScore(result);
|
|
498
|
+
const counts = getSeverityCounts(result.summary);
|
|
473
499
|
const criticalFindings = result.findings.filter(f => f.severity === 'critical');
|
|
474
500
|
const highFindings = result.findings.filter(f => f.severity === 'high');
|
|
475
501
|
const mediumFindings = result.findings.filter(f => f.severity === 'medium');
|
|
@@ -488,11 +514,11 @@ async function generatePdfReport(result, outputPath, falsePositives = []) {
|
|
|
488
514
|
}),
|
|
489
515
|
scoreGrade: grade,
|
|
490
516
|
scoreValue: value,
|
|
491
|
-
criticalCount:
|
|
492
|
-
highCount:
|
|
493
|
-
mediumCount:
|
|
494
|
-
lowCount:
|
|
495
|
-
infoCount:
|
|
517
|
+
criticalCount: counts.critical,
|
|
518
|
+
highCount: counts.high,
|
|
519
|
+
mediumCount: counts.medium,
|
|
520
|
+
lowCount: counts.low,
|
|
521
|
+
infoCount: counts.info,
|
|
496
522
|
executiveSummary: generateExecutiveSummary(result),
|
|
497
523
|
criticalFindings,
|
|
498
524
|
highFindings,
|
|
@@ -503,10 +529,11 @@ async function generatePdfReport(result, outputPath, falsePositives = []) {
|
|
|
503
529
|
typeGroups,
|
|
504
530
|
codeCount: codeGroup?.findings.length || 0,
|
|
505
531
|
devopsCount: devopsGroup?.findings.length || 0,
|
|
532
|
+
totalFindings: result.findings?.length || 0,
|
|
506
533
|
positiveCount: result.positiveObservations?.length || 0,
|
|
507
534
|
falsePositives,
|
|
508
535
|
falsePositiveCount: falsePositives.length,
|
|
509
|
-
lowInfoCount:
|
|
536
|
+
lowInfoCount: counts.low + counts.info,
|
|
510
537
|
positiveObservations: result.positiveObservations || [],
|
|
511
538
|
scanDuration: `${Math.round((result.scanDuration || 0) / 1000)}s`,
|
|
512
539
|
agentCount: result.agentCount || result.agentsUsed?.length || 0,
|
|
@@ -570,6 +597,7 @@ async function generateHtmlReport(result, outputPath, falsePositives = []) {
|
|
|
570
597
|
typeGroups,
|
|
571
598
|
codeCount: codeGroup?.findings.length || 0,
|
|
572
599
|
devopsCount: devopsGroup?.findings.length || 0,
|
|
600
|
+
totalFindings: result.findings?.length || 0,
|
|
573
601
|
positiveCount: result.positiveObservations?.length || 0,
|
|
574
602
|
falsePositives,
|
|
575
603
|
falsePositiveCount: falsePositives.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/report/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/report/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -822,20 +822,23 @@
|
|
|
822
822
|
<div class="nav-item" onclick="showPage('severity')">
|
|
823
823
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
|
|
824
824
|
By Severity
|
|
825
|
-
|
|
825
|
+
<span class="nav-badge nav-badge-default">{{totalFindings}}</span>
|
|
826
826
|
</div>
|
|
827
827
|
<div class="nav-item" onclick="showPage('files')">
|
|
828
828
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg>
|
|
829
829
|
By File
|
|
830
|
+
<span class="nav-badge nav-badge-default">{{fileGroups.length}}</span>
|
|
830
831
|
</div>
|
|
831
832
|
<div class="nav-item" onclick="showPage('components')">
|
|
832
833
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>
|
|
833
834
|
Components
|
|
835
|
+
<span class="nav-badge nav-badge-default">{{departmentGroups.length}}</span>
|
|
834
836
|
</div>
|
|
835
837
|
{{#if typeGroups}}
|
|
836
838
|
<div class="nav-item" onclick="showPage('type')">
|
|
837
839
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="16,18 22,12 16,6"/><polyline points="8,6 2,12 8,18"/></svg>
|
|
838
840
|
Code / DevOps
|
|
841
|
+
<span class="nav-badge nav-badge-default">{{typeGroups.length}}</span>
|
|
839
842
|
</div>
|
|
840
843
|
{{/if}}
|
|
841
844
|
</div>
|