Skip to content

Commit effb343

Browse files
authored
Merge pull request #142 from sonukapoor/feature/issue-141-verbose-output-guide
docs: add how-to-read verbose output guide
2 parents 0fbb0eb + 128c2ef commit effb343

3 files changed

Lines changed: 99 additions & 0 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<a href="#why-offline-mode-matters">Why offline mode matters</a><br/>
3838
<a href="docs/case-studies/owasp-juice-shop.md">OWASP Juice Shop case study</a><br/>
3939
<a href="docs/case-studies/nestjs.md">NestJS case study</a><br/>
40+
<a href="docs/how-to-read-verbose-output.md">How to read verbose output</a><br/>
4041
<a href="#what-it-looks-like">What it looks like</a><br/>
4142
<a href="#why-this-tool-exists">Why this tool exists</a><br/>
4243
<a href="#project-scope-and-differentiation">Project scope and differentiation</a>
@@ -81,6 +82,7 @@ It is designed to be:
8182
- capable of zero-runtime-network scans through a local advisory database
8283

8384
For real-world remediation examples, see the [OWASP Juice Shop case study](docs/case-studies/owasp-juice-shop.md) and the [NestJS case study](docs/case-studies/nestjs.md).
85+
If you are new to verbose mode, use the [How to read verbose output guide](docs/how-to-read-verbose-output.md).
8486

8587
## New here? Start here
8688

@@ -90,6 +92,7 @@ For real-world remediation examples, see the [OWASP Juice Shop case study](docs/
9092
4. check a real walkthrough:
9193
- [OWASP Juice Shop case study](docs/case-studies/owasp-juice-shop.md)
9294
- [NestJS case study](docs/case-studies/nestjs.md)
95+
5. use the [How to read verbose output guide](docs/how-to-read-verbose-output.md) to convert scan sections into next steps
9396

9497
If CVE Lite CLI helps your release workflow, a GitHub star helps more developers discover it: [Star CVE Lite CLI](https://github.com/sonukapoor/cve-lite-cli).
9598

@@ -268,6 +271,7 @@ The final status line also gives the scan a clear ending, which makes terminal u
268271
See the example below using OWASP Juice Shop for real output samples.
269272

270273
For real-world case studies, see the [OWASP Juice Shop case study](docs/case-studies/owasp-juice-shop.md) and the [NestJS case study](docs/case-studies/nestjs.md).
274+
For a section-by-section walkthrough of the terminal output, see [How to read verbose output](docs/how-to-read-verbose-output.md).
271275

272276
If you maintain an open-source JavaScript or TypeScript project and want CVE Lite CLI evaluated on it, open an issue and share the repository. Strong candidates may be turned into future public case studies.
273277

docs/how-to-read-verbose-output.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# How to Read Verbose Output
2+
3+
This guide explains how to read CVE Lite CLI verbose output quickly and turn it into next actions.
4+
5+
Use this command:
6+
7+
```bash
8+
npx cve-lite-cli /path/to/project --verbose --all
9+
```
10+
11+
The screenshots below use a real OWASP Juice Shop scan.
12+
13+
## 1) Start with the summary
14+
15+
The top of verbose output tells you how much risk you are dealing with and where it sits.
16+
17+
![Juice Shop verbose summary and top priority fixes](https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/owasp-juice-shop-1.png)
18+
19+
What to read first:
20+
21+
- severity totals (`critical`, `high`, `medium`, `low`)
22+
- direct vs transitive split in `Quick take`
23+
- unique advisories count
24+
25+
What to do next:
26+
27+
- if `critical` or `high` is non-zero, move straight to `Copy And Run These Fix Commands`
28+
29+
## 2) Use command groups for first-pass fixes
30+
31+
Verbose mode groups runnable commands by severity and fix type.
32+
33+
![Juice Shop copy-and-run command groups](https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/owasp-juice-shop-2.png)
34+
35+
How to use this section:
36+
37+
- run critical/high command groups first
38+
- run direct fix groups next
39+
- rescan after each command group
40+
41+
Why this helps:
42+
43+
- you avoid manual package-by-package trial and error
44+
- you get package-manager-native commands ready to copy and run
45+
46+
## 3) Read validation tables for confidence
47+
48+
Direct fix tables include scanned/excluded counts when target validation was possible.
49+
50+
![Juice Shop direct fix validation table](https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/owasp-juice-shop-3.png)
51+
52+
How to interpret:
53+
54+
- `Versions scanned`: candidate versions checked above current
55+
- `Still known vulnerable`: versions rejected because they remained vulnerable
56+
- `Recommended target`: selected upgrade target from the evaluated set
57+
58+
What this means:
59+
60+
- higher scanned/excluded counts usually mean the tool saved repeated install-rescan cycles
61+
62+
## 4) Use parent-upgrade tables for transitive issues
63+
64+
Transitive issues often require upgrading parent packages, not the vulnerable nested package directly.
65+
66+
![Juice Shop parent-upgrade table](https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/owasp-juice-shop-4.png)
67+
68+
How to use this section:
69+
70+
- read `Package` and `Current` to understand what you control
71+
- use `Recommended target` as the next parent upgrade candidate
72+
- use `Context` to see which vulnerable dependency that upgrade addresses
73+
74+
## 5) Confirm with priority list and paths
75+
76+
The bottom sections explain remaining risk and exact dependency chains.
77+
78+
![Juice Shop dependency path hints and remaining risk](https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/owasp-juice-shop-5.png)
79+
80+
What to use:
81+
82+
- `Top priority fixes`: urgency order
83+
- `Suggested fix plan`: staged remediation sequence
84+
- `Dependency paths to inspect`: parent chain verification
85+
86+
## 10-minute workflow
87+
88+
1. Run `--verbose --all`.
89+
2. Apply critical/high command groups.
90+
3. Apply direct command groups with validated targets.
91+
4. Apply parent-upgrade command groups for transitive paths.
92+
5. Rescan and repeat until urgent findings are reduced.
93+
94+
This approach keeps remediation practical: start with executable commands, then handle deeper dependency decisions with path context.

docs/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ <h3>Real-world case studies</h3>
196196
<p class="link-list">
197197
<a href="https://github.com/sonukapoor/cve-lite-cli/blob/main/docs/case-studies/owasp-juice-shop.md">OWASP Juice Shop</a>
198198
<a href="https://github.com/sonukapoor/cve-lite-cli/blob/main/docs/case-studies/nestjs.md">NestJS</a>
199+
<a href="https://github.com/sonukapoor/cve-lite-cli/blob/main/docs/how-to-read-verbose-output.md">How to read verbose output</a>
199200
</p>
200201
</article>
201202
<article class="card">

0 commit comments

Comments
 (0)