coverme-scanner 2.0.1 โ 2.0.2
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/templates/report.html +465 -0
- package/package.json +1 -1
|
@@ -2587,13 +2587,168 @@
|
|
|
2587
2587
|
<p>{{impact}}</p>
|
|
2588
2588
|
</div>
|
|
2589
2589
|
{{/if}}
|
|
2590
|
+
|
|
2591
|
+
{{#if businessImpact}}
|
|
2592
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%); border-left: 4px solid #e53e3e;">
|
|
2593
|
+
<div class="info-label" style="color: #c53030; font-weight: 600;">๐ฐ Business Impact</div>
|
|
2594
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px;">
|
|
2595
|
+
{{#if businessImpact.financial}}
|
|
2596
|
+
<div><strong style="color: #c53030;">Financial:</strong> {{businessImpact.financial}}</div>
|
|
2597
|
+
{{/if}}
|
|
2598
|
+
{{#if businessImpact.reputation}}
|
|
2599
|
+
<div><strong style="color: #c53030;">Reputation:</strong> {{businessImpact.reputation}}</div>
|
|
2600
|
+
{{/if}}
|
|
2601
|
+
{{#if businessImpact.legal}}
|
|
2602
|
+
<div><strong style="color: #c53030;">Legal:</strong> {{businessImpact.legal}}</div>
|
|
2603
|
+
{{/if}}
|
|
2604
|
+
{{#if businessImpact.operational}}
|
|
2605
|
+
<div><strong style="color: #c53030;">Operational:</strong> {{businessImpact.operational}}</div>
|
|
2606
|
+
{{/if}}
|
|
2607
|
+
</div>
|
|
2608
|
+
</div>
|
|
2609
|
+
{{/if}}
|
|
2610
|
+
|
|
2611
|
+
{{#if realWorldExamples}}
|
|
2612
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); border-left: 4px solid #ea580c;">
|
|
2613
|
+
<div class="info-label" style="color: #c2410c; font-weight: 600;">๐ Real-World Examples</div>
|
|
2614
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
2615
|
+
{{#each realWorldExamples}}
|
|
2616
|
+
<li style="margin: 4px 0; color: #7c2d12;">{{this}}</li>
|
|
2617
|
+
{{/each}}
|
|
2618
|
+
</ul>
|
|
2619
|
+
</div>
|
|
2620
|
+
{{/if}}
|
|
2621
|
+
|
|
2622
|
+
{{#if attackChain}}
|
|
2623
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border-left: 4px solid #d97706;">
|
|
2624
|
+
<div class="info-label" style="color: #92400e; font-weight: 600;">โ๏ธ Attack Chain</div>
|
|
2625
|
+
<div style="margin-top: 8px;">
|
|
2626
|
+
{{#each attackChain}}
|
|
2627
|
+
<div style="margin: 8px 0; padding: 8px; background: white; border-radius: 6px; border-left: 3px solid #f59e0b;">
|
|
2628
|
+
<strong style="color: #92400e;">Step {{step}}:</strong> {{action}}
|
|
2629
|
+
<div style="margin-top: 4px; color: #78350f; font-size: 13px;">โ <em>{{result}}</em></div>
|
|
2630
|
+
</div>
|
|
2631
|
+
{{/each}}
|
|
2632
|
+
</div>
|
|
2633
|
+
</div>
|
|
2634
|
+
{{/if}}
|
|
2635
|
+
|
|
2590
2636
|
{{#if code}}
|
|
2591
2637
|
<div class="code-block"><code>{{code}}</code></div>
|
|
2592
2638
|
{{/if}}
|
|
2639
|
+
|
|
2640
|
+
{{#if proofOfConcept}}
|
|
2641
|
+
<details style="margin: 16px 0; border: 2px solid #dc2626; border-radius: 8px; padding: 12px; background: #fef2f2;">
|
|
2642
|
+
<summary style="cursor: pointer; font-weight: 600; color: #991b1b;">๐ฏ Proof of Concept (Click to expand exploit code)</summary>
|
|
2643
|
+
<div class="code-block" style="margin-top: 12px;"><code>{{proofOfConcept}}</code></div>
|
|
2644
|
+
</details>
|
|
2645
|
+
{{/if}}
|
|
2646
|
+
|
|
2593
2647
|
<div class="info-box info-fix">
|
|
2594
2648
|
<div class="info-label">Recommendation</div>
|
|
2595
2649
|
<p>{{recommendation}}</p>
|
|
2596
2650
|
</div>
|
|
2651
|
+
|
|
2652
|
+
{{#if quickFix}}
|
|
2653
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef9c3 0%, #fef08a 100%); border-left: 4px solid #ca8a04;">
|
|
2654
|
+
<div class="info-label" style="color: #854d0e; font-weight: 600;">โก Quick Fix ({{quickFix.description}})</div>
|
|
2655
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{quickFix.code}}</code></div>
|
|
2656
|
+
{{#if quickFix.limitations}}
|
|
2657
|
+
<p style="margin-top: 8px; padding: 8px; background: white; border-radius: 4px; color: #a16207; font-size: 13px;">
|
|
2658
|
+
<strong>โ ๏ธ Limitations:</strong> {{quickFix.limitations}}
|
|
2659
|
+
</p>
|
|
2660
|
+
{{/if}}
|
|
2661
|
+
</div>
|
|
2662
|
+
{{/if}}
|
|
2663
|
+
|
|
2664
|
+
{{#if properFix}}
|
|
2665
|
+
<div class="info-box" style="background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); border-left: 4px solid #16a34a;">
|
|
2666
|
+
<div class="info-label" style="color: #166534; font-weight: 600;">โ
Proper Fix ({{properFix.description}})</div>
|
|
2667
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{properFix.code}}</code></div>
|
|
2668
|
+
{{#if properFix.additionalSteps}}
|
|
2669
|
+
<div style="margin-top: 12px;">
|
|
2670
|
+
<strong style="color: #166534;">Additional Steps:</strong>
|
|
2671
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
2672
|
+
{{#each properFix.additionalSteps}}
|
|
2673
|
+
<li style="margin: 4px 0; color: #14532d;">{{this}}</li>
|
|
2674
|
+
{{/each}}
|
|
2675
|
+
</ul>
|
|
2676
|
+
</div>
|
|
2677
|
+
{{/if}}
|
|
2678
|
+
</div>
|
|
2679
|
+
{{/if}}
|
|
2680
|
+
|
|
2681
|
+
{{#if testing}}
|
|
2682
|
+
<details style="margin: 16px 0; border: 1px solid #3b82f6; border-radius: 8px; padding: 12px; background: #eff6ff;">
|
|
2683
|
+
<summary style="cursor: pointer; font-weight: 600; color: #1e40af;">๐งช Testing Instructions</summary>
|
|
2684
|
+
<div style="margin-top: 12px;">
|
|
2685
|
+
{{#if testing.description}}
|
|
2686
|
+
<p style="color: #1e3a8a; margin-bottom: 8px;">{{testing.description}}</p>
|
|
2687
|
+
{{/if}}
|
|
2688
|
+
{{#if testing.manual}}
|
|
2689
|
+
<div style="margin: 8px 0;">
|
|
2690
|
+
<strong style="color: #1e40af;">Manual Tests:</strong>
|
|
2691
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
2692
|
+
{{#each testing.manual}}
|
|
2693
|
+
<li style="margin: 4px 0; color: #1e3a8a;">{{this}}</li>
|
|
2694
|
+
{{/each}}
|
|
2695
|
+
</ul>
|
|
2696
|
+
</div>
|
|
2697
|
+
{{/if}}
|
|
2698
|
+
{{#if testing.automated}}
|
|
2699
|
+
<div style="margin: 12px 0;">
|
|
2700
|
+
<strong style="color: #1e40af;">Automated Test:</strong>
|
|
2701
|
+
<div class="code-block" style="margin-top: 4px;"><code>{{testing.automated}}</code></div>
|
|
2702
|
+
</div>
|
|
2703
|
+
{{/if}}
|
|
2704
|
+
</div>
|
|
2705
|
+
</details>
|
|
2706
|
+
{{/if}}
|
|
2707
|
+
|
|
2708
|
+
{{#if detection}}
|
|
2709
|
+
<details style="margin: 16px 0; border: 1px solid #8b5cf6; border-radius: 8px; padding: 12px; background: #faf5ff;">
|
|
2710
|
+
<summary style="cursor: pointer; font-weight: 600; color: #6b21a8;">๐ Detection Method (Check if already exploited)</summary>
|
|
2711
|
+
<div style="margin-top: 12px;">
|
|
2712
|
+
{{#if detection.description}}
|
|
2713
|
+
<p style="color: #581c87; margin-bottom: 8px;">{{detection.description}}</p>
|
|
2714
|
+
{{/if}}
|
|
2715
|
+
{{#if detection.commands}}
|
|
2716
|
+
<div class="code-block"><code>{{#each detection.commands}}{{this}}
|
|
2717
|
+
{{/each}}</code></div>
|
|
2718
|
+
{{/if}}
|
|
2719
|
+
{{#if detection.indicators}}
|
|
2720
|
+
<div style="margin: 12px 0;">
|
|
2721
|
+
<strong style="color: #6b21a8;">Indicators of Compromise:</strong>
|
|
2722
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
2723
|
+
{{#each detection.indicators}}
|
|
2724
|
+
<li style="margin: 4px 0; color: #581c87;">{{this}}</li>
|
|
2725
|
+
{{/each}}
|
|
2726
|
+
</ul>
|
|
2727
|
+
</div>
|
|
2728
|
+
{{/if}}
|
|
2729
|
+
</div>
|
|
2730
|
+
</details>
|
|
2731
|
+
{{/if}}
|
|
2732
|
+
|
|
2733
|
+
{{#if estimatedEffort}}
|
|
2734
|
+
<div class="info-box" style="background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%); border-left: 4px solid #0284c7;">
|
|
2735
|
+
<div class="info-label" style="color: #075985; font-weight: 600;">โฑ๏ธ Fix Time Estimate (Human vs Claude Code)</div>
|
|
2736
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px;">
|
|
2737
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #7dd3fc;">
|
|
2738
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐จโ๐ป HUMAN DEVELOPER</div>
|
|
2739
|
+
<div style="font-size: 18px; color: #0369a1; font-weight: 700;">{{estimatedEffort.human}}</div>
|
|
2740
|
+
</div>
|
|
2741
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #0ea5e9;">
|
|
2742
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐ค CLAUDE CODE</div>
|
|
2743
|
+
<div style="font-size: 18px; color: #0284c7; font-weight: 700;">{{estimatedEffort.claudeCode}}</div>
|
|
2744
|
+
</div>
|
|
2745
|
+
</div>
|
|
2746
|
+
<div style="margin-top: 12px; padding: 10px; background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); border-radius: 6px; text-align: center; color: white; font-weight: 700; font-size: 16px;">
|
|
2747
|
+
๐ ROI: {{estimatedEffort.roi}}
|
|
2748
|
+
</div>
|
|
2749
|
+
</div>
|
|
2750
|
+
{{/if}}
|
|
2751
|
+
|
|
2597
2752
|
<div class="prompt-box">
|
|
2598
2753
|
<div class="prompt-header">
|
|
2599
2754
|
<span class="prompt-label">Claude Code Prompt</span>
|
|
@@ -3006,13 +3161,168 @@ Solution: {{recommendation}}</div>
|
|
|
3006
3161
|
<p>{{impact}}</p>
|
|
3007
3162
|
</div>
|
|
3008
3163
|
{{/if}}
|
|
3164
|
+
|
|
3165
|
+
{{#if businessImpact}}
|
|
3166
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%); border-left: 4px solid #e53e3e;">
|
|
3167
|
+
<div class="info-label" style="color: #c53030; font-weight: 600;">๐ฐ Business Impact</div>
|
|
3168
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px;">
|
|
3169
|
+
{{#if businessImpact.financial}}
|
|
3170
|
+
<div><strong style="color: #c53030;">Financial:</strong> {{businessImpact.financial}}</div>
|
|
3171
|
+
{{/if}}
|
|
3172
|
+
{{#if businessImpact.reputation}}
|
|
3173
|
+
<div><strong style="color: #c53030;">Reputation:</strong> {{businessImpact.reputation}}</div>
|
|
3174
|
+
{{/if}}
|
|
3175
|
+
{{#if businessImpact.legal}}
|
|
3176
|
+
<div><strong style="color: #c53030;">Legal:</strong> {{businessImpact.legal}}</div>
|
|
3177
|
+
{{/if}}
|
|
3178
|
+
{{#if businessImpact.operational}}
|
|
3179
|
+
<div><strong style="color: #c53030;">Operational:</strong> {{businessImpact.operational}}</div>
|
|
3180
|
+
{{/if}}
|
|
3181
|
+
</div>
|
|
3182
|
+
</div>
|
|
3183
|
+
{{/if}}
|
|
3184
|
+
|
|
3185
|
+
{{#if realWorldExamples}}
|
|
3186
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); border-left: 4px solid #ea580c;">
|
|
3187
|
+
<div class="info-label" style="color: #c2410c; font-weight: 600;">๐ Real-World Examples</div>
|
|
3188
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
3189
|
+
{{#each realWorldExamples}}
|
|
3190
|
+
<li style="margin: 4px 0; color: #7c2d12;">{{this}}</li>
|
|
3191
|
+
{{/each}}
|
|
3192
|
+
</ul>
|
|
3193
|
+
</div>
|
|
3194
|
+
{{/if}}
|
|
3195
|
+
|
|
3196
|
+
{{#if attackChain}}
|
|
3197
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border-left: 4px solid #d97706;">
|
|
3198
|
+
<div class="info-label" style="color: #92400e; font-weight: 600;">โ๏ธ Attack Chain</div>
|
|
3199
|
+
<div style="margin-top: 8px;">
|
|
3200
|
+
{{#each attackChain}}
|
|
3201
|
+
<div style="margin: 8px 0; padding: 8px; background: white; border-radius: 6px; border-left: 3px solid #f59e0b;">
|
|
3202
|
+
<strong style="color: #92400e;">Step {{step}}:</strong> {{action}}
|
|
3203
|
+
<div style="margin-top: 4px; color: #78350f; font-size: 13px;">โ <em>{{result}}</em></div>
|
|
3204
|
+
</div>
|
|
3205
|
+
{{/each}}
|
|
3206
|
+
</div>
|
|
3207
|
+
</div>
|
|
3208
|
+
{{/if}}
|
|
3209
|
+
|
|
3009
3210
|
{{#if code}}
|
|
3010
3211
|
<div class="code-block"><code>{{code}}</code></div>
|
|
3011
3212
|
{{/if}}
|
|
3213
|
+
|
|
3214
|
+
{{#if proofOfConcept}}
|
|
3215
|
+
<details style="margin: 16px 0; border: 2px solid #dc2626; border-radius: 8px; padding: 12px; background: #fef2f2;">
|
|
3216
|
+
<summary style="cursor: pointer; font-weight: 600; color: #991b1b;">๐ฏ Proof of Concept (Click to expand exploit code)</summary>
|
|
3217
|
+
<div class="code-block" style="margin-top: 12px;"><code>{{proofOfConcept}}</code></div>
|
|
3218
|
+
</details>
|
|
3219
|
+
{{/if}}
|
|
3220
|
+
|
|
3012
3221
|
<div class="info-box info-fix">
|
|
3013
3222
|
<div class="info-label">Recommendation</div>
|
|
3014
3223
|
<p>{{recommendation}}</p>
|
|
3015
3224
|
</div>
|
|
3225
|
+
|
|
3226
|
+
{{#if quickFix}}
|
|
3227
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef9c3 0%, #fef08a 100%); border-left: 4px solid #ca8a04;">
|
|
3228
|
+
<div class="info-label" style="color: #854d0e; font-weight: 600;">โก Quick Fix ({{quickFix.description}})</div>
|
|
3229
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{quickFix.code}}</code></div>
|
|
3230
|
+
{{#if quickFix.limitations}}
|
|
3231
|
+
<p style="margin-top: 8px; padding: 8px; background: white; border-radius: 4px; color: #a16207; font-size: 13px;">
|
|
3232
|
+
<strong>โ ๏ธ Limitations:</strong> {{quickFix.limitations}}
|
|
3233
|
+
</p>
|
|
3234
|
+
{{/if}}
|
|
3235
|
+
</div>
|
|
3236
|
+
{{/if}}
|
|
3237
|
+
|
|
3238
|
+
{{#if properFix}}
|
|
3239
|
+
<div class="info-box" style="background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); border-left: 4px solid #16a34a;">
|
|
3240
|
+
<div class="info-label" style="color: #166534; font-weight: 600;">โ
Proper Fix ({{properFix.description}})</div>
|
|
3241
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{properFix.code}}</code></div>
|
|
3242
|
+
{{#if properFix.additionalSteps}}
|
|
3243
|
+
<div style="margin-top: 12px;">
|
|
3244
|
+
<strong style="color: #166534;">Additional Steps:</strong>
|
|
3245
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
3246
|
+
{{#each properFix.additionalSteps}}
|
|
3247
|
+
<li style="margin: 4px 0; color: #14532d;">{{this}}</li>
|
|
3248
|
+
{{/each}}
|
|
3249
|
+
</ul>
|
|
3250
|
+
</div>
|
|
3251
|
+
{{/if}}
|
|
3252
|
+
</div>
|
|
3253
|
+
{{/if}}
|
|
3254
|
+
|
|
3255
|
+
{{#if testing}}
|
|
3256
|
+
<details style="margin: 16px 0; border: 1px solid #3b82f6; border-radius: 8px; padding: 12px; background: #eff6ff;">
|
|
3257
|
+
<summary style="cursor: pointer; font-weight: 600; color: #1e40af;">๐งช Testing Instructions</summary>
|
|
3258
|
+
<div style="margin-top: 12px;">
|
|
3259
|
+
{{#if testing.description}}
|
|
3260
|
+
<p style="color: #1e3a8a; margin-bottom: 8px;">{{testing.description}}</p>
|
|
3261
|
+
{{/if}}
|
|
3262
|
+
{{#if testing.manual}}
|
|
3263
|
+
<div style="margin: 8px 0;">
|
|
3264
|
+
<strong style="color: #1e40af;">Manual Tests:</strong>
|
|
3265
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
3266
|
+
{{#each testing.manual}}
|
|
3267
|
+
<li style="margin: 4px 0; color: #1e3a8a;">{{this}}</li>
|
|
3268
|
+
{{/each}}
|
|
3269
|
+
</ul>
|
|
3270
|
+
</div>
|
|
3271
|
+
{{/if}}
|
|
3272
|
+
{{#if testing.automated}}
|
|
3273
|
+
<div style="margin: 12px 0;">
|
|
3274
|
+
<strong style="color: #1e40af;">Automated Test:</strong>
|
|
3275
|
+
<div class="code-block" style="margin-top: 4px;"><code>{{testing.automated}}</code></div>
|
|
3276
|
+
</div>
|
|
3277
|
+
{{/if}}
|
|
3278
|
+
</div>
|
|
3279
|
+
</details>
|
|
3280
|
+
{{/if}}
|
|
3281
|
+
|
|
3282
|
+
{{#if detection}}
|
|
3283
|
+
<details style="margin: 16px 0; border: 1px solid #8b5cf6; border-radius: 8px; padding: 12px; background: #faf5ff;">
|
|
3284
|
+
<summary style="cursor: pointer; font-weight: 600; color: #6b21a8;">๐ Detection Method (Check if already exploited)</summary>
|
|
3285
|
+
<div style="margin-top: 12px;">
|
|
3286
|
+
{{#if detection.description}}
|
|
3287
|
+
<p style="color: #581c87; margin-bottom: 8px;">{{detection.description}}</p>
|
|
3288
|
+
{{/if}}
|
|
3289
|
+
{{#if detection.commands}}
|
|
3290
|
+
<div class="code-block"><code>{{#each detection.commands}}{{this}}
|
|
3291
|
+
{{/each}}</code></div>
|
|
3292
|
+
{{/if}}
|
|
3293
|
+
{{#if detection.indicators}}
|
|
3294
|
+
<div style="margin: 12px 0;">
|
|
3295
|
+
<strong style="color: #6b21a8;">Indicators of Compromise:</strong>
|
|
3296
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
3297
|
+
{{#each detection.indicators}}
|
|
3298
|
+
<li style="margin: 4px 0; color: #581c87;">{{this}}</li>
|
|
3299
|
+
{{/each}}
|
|
3300
|
+
</ul>
|
|
3301
|
+
</div>
|
|
3302
|
+
{{/if}}
|
|
3303
|
+
</div>
|
|
3304
|
+
</details>
|
|
3305
|
+
{{/if}}
|
|
3306
|
+
|
|
3307
|
+
{{#if estimatedEffort}}
|
|
3308
|
+
<div class="info-box" style="background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%); border-left: 4px solid #0284c7;">
|
|
3309
|
+
<div class="info-label" style="color: #075985; font-weight: 600;">โฑ๏ธ Fix Time Estimate (Human vs Claude Code)</div>
|
|
3310
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px;">
|
|
3311
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #7dd3fc;">
|
|
3312
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐จโ๐ป HUMAN DEVELOPER</div>
|
|
3313
|
+
<div style="font-size: 18px; color: #0369a1; font-weight: 700;">{{estimatedEffort.human}}</div>
|
|
3314
|
+
</div>
|
|
3315
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #0ea5e9;">
|
|
3316
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐ค CLAUDE CODE</div>
|
|
3317
|
+
<div style="font-size: 18px; color: #0284c7; font-weight: 700;">{{estimatedEffort.claudeCode}}</div>
|
|
3318
|
+
</div>
|
|
3319
|
+
</div>
|
|
3320
|
+
<div style="margin-top: 12px; padding: 10px; background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); border-radius: 6px; text-align: center; color: white; font-weight: 700; font-size: 16px;">
|
|
3321
|
+
๐ ROI: {{estimatedEffort.roi}}
|
|
3322
|
+
</div>
|
|
3323
|
+
</div>
|
|
3324
|
+
{{/if}}
|
|
3325
|
+
|
|
3016
3326
|
<div class="prompt-box">
|
|
3017
3327
|
<div class="prompt-header">
|
|
3018
3328
|
<span class="prompt-label">Claude Code Prompt</span>
|
|
@@ -3063,13 +3373,168 @@ Solution: {{recommendation}}</div>
|
|
|
3063
3373
|
<p>{{impact}}</p>
|
|
3064
3374
|
</div>
|
|
3065
3375
|
{{/if}}
|
|
3376
|
+
|
|
3377
|
+
{{#if businessImpact}}
|
|
3378
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%); border-left: 4px solid #e53e3e;">
|
|
3379
|
+
<div class="info-label" style="color: #c53030; font-weight: 600;">๐ฐ Business Impact</div>
|
|
3380
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px;">
|
|
3381
|
+
{{#if businessImpact.financial}}
|
|
3382
|
+
<div><strong style="color: #c53030;">Financial:</strong> {{businessImpact.financial}}</div>
|
|
3383
|
+
{{/if}}
|
|
3384
|
+
{{#if businessImpact.reputation}}
|
|
3385
|
+
<div><strong style="color: #c53030;">Reputation:</strong> {{businessImpact.reputation}}</div>
|
|
3386
|
+
{{/if}}
|
|
3387
|
+
{{#if businessImpact.legal}}
|
|
3388
|
+
<div><strong style="color: #c53030;">Legal:</strong> {{businessImpact.legal}}</div>
|
|
3389
|
+
{{/if}}
|
|
3390
|
+
{{#if businessImpact.operational}}
|
|
3391
|
+
<div><strong style="color: #c53030;">Operational:</strong> {{businessImpact.operational}}</div>
|
|
3392
|
+
{{/if}}
|
|
3393
|
+
</div>
|
|
3394
|
+
</div>
|
|
3395
|
+
{{/if}}
|
|
3396
|
+
|
|
3397
|
+
{{#if realWorldExamples}}
|
|
3398
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); border-left: 4px solid #ea580c;">
|
|
3399
|
+
<div class="info-label" style="color: #c2410c; font-weight: 600;">๐ Real-World Examples</div>
|
|
3400
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
3401
|
+
{{#each realWorldExamples}}
|
|
3402
|
+
<li style="margin: 4px 0; color: #7c2d12;">{{this}}</li>
|
|
3403
|
+
{{/each}}
|
|
3404
|
+
</ul>
|
|
3405
|
+
</div>
|
|
3406
|
+
{{/if}}
|
|
3407
|
+
|
|
3408
|
+
{{#if attackChain}}
|
|
3409
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border-left: 4px solid #d97706;">
|
|
3410
|
+
<div class="info-label" style="color: #92400e; font-weight: 600;">โ๏ธ Attack Chain</div>
|
|
3411
|
+
<div style="margin-top: 8px;">
|
|
3412
|
+
{{#each attackChain}}
|
|
3413
|
+
<div style="margin: 8px 0; padding: 8px; background: white; border-radius: 6px; border-left: 3px solid #f59e0b;">
|
|
3414
|
+
<strong style="color: #92400e;">Step {{step}}:</strong> {{action}}
|
|
3415
|
+
<div style="margin-top: 4px; color: #78350f; font-size: 13px;">โ <em>{{result}}</em></div>
|
|
3416
|
+
</div>
|
|
3417
|
+
{{/each}}
|
|
3418
|
+
</div>
|
|
3419
|
+
</div>
|
|
3420
|
+
{{/if}}
|
|
3421
|
+
|
|
3066
3422
|
{{#if code}}
|
|
3067
3423
|
<div class="code-block"><code>{{code}}</code></div>
|
|
3068
3424
|
{{/if}}
|
|
3425
|
+
|
|
3426
|
+
{{#if proofOfConcept}}
|
|
3427
|
+
<details style="margin: 16px 0; border: 2px solid #dc2626; border-radius: 8px; padding: 12px; background: #fef2f2;">
|
|
3428
|
+
<summary style="cursor: pointer; font-weight: 600; color: #991b1b;">๐ฏ Proof of Concept (Click to expand exploit code)</summary>
|
|
3429
|
+
<div class="code-block" style="margin-top: 12px;"><code>{{proofOfConcept}}</code></div>
|
|
3430
|
+
</details>
|
|
3431
|
+
{{/if}}
|
|
3432
|
+
|
|
3069
3433
|
<div class="info-box info-fix">
|
|
3070
3434
|
<div class="info-label">Recommendation</div>
|
|
3071
3435
|
<p>{{recommendation}}</p>
|
|
3072
3436
|
</div>
|
|
3437
|
+
|
|
3438
|
+
{{#if quickFix}}
|
|
3439
|
+
<div class="info-box" style="background: linear-gradient(135deg, #fef9c3 0%, #fef08a 100%); border-left: 4px solid #ca8a04;">
|
|
3440
|
+
<div class="info-label" style="color: #854d0e; font-weight: 600;">โก Quick Fix ({{quickFix.description}})</div>
|
|
3441
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{quickFix.code}}</code></div>
|
|
3442
|
+
{{#if quickFix.limitations}}
|
|
3443
|
+
<p style="margin-top: 8px; padding: 8px; background: white; border-radius: 4px; color: #a16207; font-size: 13px;">
|
|
3444
|
+
<strong>โ ๏ธ Limitations:</strong> {{quickFix.limitations}}
|
|
3445
|
+
</p>
|
|
3446
|
+
{{/if}}
|
|
3447
|
+
</div>
|
|
3448
|
+
{{/if}}
|
|
3449
|
+
|
|
3450
|
+
{{#if properFix}}
|
|
3451
|
+
<div class="info-box" style="background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); border-left: 4px solid #16a34a;">
|
|
3452
|
+
<div class="info-label" style="color: #166534; font-weight: 600;">โ
Proper Fix ({{properFix.description}})</div>
|
|
3453
|
+
<div class="code-block" style="margin-top: 8px;"><code>{{properFix.code}}</code></div>
|
|
3454
|
+
{{#if properFix.additionalSteps}}
|
|
3455
|
+
<div style="margin-top: 12px;">
|
|
3456
|
+
<strong style="color: #166534;">Additional Steps:</strong>
|
|
3457
|
+
<ul style="margin: 8px 0 0 0; padding-left: 20px;">
|
|
3458
|
+
{{#each properFix.additionalSteps}}
|
|
3459
|
+
<li style="margin: 4px 0; color: #14532d;">{{this}}</li>
|
|
3460
|
+
{{/each}}
|
|
3461
|
+
</ul>
|
|
3462
|
+
</div>
|
|
3463
|
+
{{/if}}
|
|
3464
|
+
</div>
|
|
3465
|
+
{{/if}}
|
|
3466
|
+
|
|
3467
|
+
{{#if testing}}
|
|
3468
|
+
<details style="margin: 16px 0; border: 1px solid #3b82f6; border-radius: 8px; padding: 12px; background: #eff6ff;">
|
|
3469
|
+
<summary style="cursor: pointer; font-weight: 600; color: #1e40af;">๐งช Testing Instructions</summary>
|
|
3470
|
+
<div style="margin-top: 12px;">
|
|
3471
|
+
{{#if testing.description}}
|
|
3472
|
+
<p style="color: #1e3a8a; margin-bottom: 8px;">{{testing.description}}</p>
|
|
3473
|
+
{{/if}}
|
|
3474
|
+
{{#if testing.manual}}
|
|
3475
|
+
<div style="margin: 8px 0;">
|
|
3476
|
+
<strong style="color: #1e40af;">Manual Tests:</strong>
|
|
3477
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
3478
|
+
{{#each testing.manual}}
|
|
3479
|
+
<li style="margin: 4px 0; color: #1e3a8a;">{{this}}</li>
|
|
3480
|
+
{{/each}}
|
|
3481
|
+
</ul>
|
|
3482
|
+
</div>
|
|
3483
|
+
{{/if}}
|
|
3484
|
+
{{#if testing.automated}}
|
|
3485
|
+
<div style="margin: 12px 0;">
|
|
3486
|
+
<strong style="color: #1e40af;">Automated Test:</strong>
|
|
3487
|
+
<div class="code-block" style="margin-top: 4px;"><code>{{testing.automated}}</code></div>
|
|
3488
|
+
</div>
|
|
3489
|
+
{{/if}}
|
|
3490
|
+
</div>
|
|
3491
|
+
</details>
|
|
3492
|
+
{{/if}}
|
|
3493
|
+
|
|
3494
|
+
{{#if detection}}
|
|
3495
|
+
<details style="margin: 16px 0; border: 1px solid #8b5cf6; border-radius: 8px; padding: 12px; background: #faf5ff;">
|
|
3496
|
+
<summary style="cursor: pointer; font-weight: 600; color: #6b21a8;">๐ Detection Method (Check if already exploited)</summary>
|
|
3497
|
+
<div style="margin-top: 12px;">
|
|
3498
|
+
{{#if detection.description}}
|
|
3499
|
+
<p style="color: #581c87; margin-bottom: 8px;">{{detection.description}}</p>
|
|
3500
|
+
{{/if}}
|
|
3501
|
+
{{#if detection.commands}}
|
|
3502
|
+
<div class="code-block"><code>{{#each detection.commands}}{{this}}
|
|
3503
|
+
{{/each}}</code></div>
|
|
3504
|
+
{{/if}}
|
|
3505
|
+
{{#if detection.indicators}}
|
|
3506
|
+
<div style="margin: 12px 0;">
|
|
3507
|
+
<strong style="color: #6b21a8;">Indicators of Compromise:</strong>
|
|
3508
|
+
<ul style="margin: 4px 0 0 0; padding-left: 20px;">
|
|
3509
|
+
{{#each detection.indicators}}
|
|
3510
|
+
<li style="margin: 4px 0; color: #581c87;">{{this}}</li>
|
|
3511
|
+
{{/each}}
|
|
3512
|
+
</ul>
|
|
3513
|
+
</div>
|
|
3514
|
+
{{/if}}
|
|
3515
|
+
</div>
|
|
3516
|
+
</details>
|
|
3517
|
+
{{/if}}
|
|
3518
|
+
|
|
3519
|
+
{{#if estimatedEffort}}
|
|
3520
|
+
<div class="info-box" style="background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%); border-left: 4px solid #0284c7;">
|
|
3521
|
+
<div class="info-label" style="color: #075985; font-weight: 600;">โฑ๏ธ Fix Time Estimate (Human vs Claude Code)</div>
|
|
3522
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px;">
|
|
3523
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #7dd3fc;">
|
|
3524
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐จโ๐ป HUMAN DEVELOPER</div>
|
|
3525
|
+
<div style="font-size: 18px; color: #0369a1; font-weight: 700;">{{estimatedEffort.human}}</div>
|
|
3526
|
+
</div>
|
|
3527
|
+
<div style="padding: 12px; background: white; border-radius: 6px; border: 1px solid #0ea5e9;">
|
|
3528
|
+
<div style="font-size: 11px; color: #0c4a6e; font-weight: 600; margin-bottom: 4px;">๐ค CLAUDE CODE</div>
|
|
3529
|
+
<div style="font-size: 18px; color: #0284c7; font-weight: 700;">{{estimatedEffort.claudeCode}}</div>
|
|
3530
|
+
</div>
|
|
3531
|
+
</div>
|
|
3532
|
+
<div style="margin-top: 12px; padding: 10px; background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); border-radius: 6px; text-align: center; color: white; font-weight: 700; font-size: 16px;">
|
|
3533
|
+
๐ ROI: {{estimatedEffort.roi}}
|
|
3534
|
+
</div>
|
|
3535
|
+
</div>
|
|
3536
|
+
{{/if}}
|
|
3537
|
+
|
|
3073
3538
|
<div class="prompt-box">
|
|
3074
3539
|
<div class="prompt-header">
|
|
3075
3540
|
<span class="prompt-label">Claude Code Prompt</span>
|