Skip to content

Commit 743b40d

Browse files
authored
Merge pull request #223 from OWASP/docs/issue-221-html-report-and-owasp
docs: add HTML report guide, OWASP affiliation, and update GitHub links
2 parents e694fcc + d0bca04 commit 743b40d

4 files changed

Lines changed: 161 additions & 60 deletions

File tree

README.md

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11

2+
[![OWASP Incubator Project](https://img.shields.io/badge/OWASP-Incubator%20Project-F68B1F?logo=owasp)](https://owasp.org/cve-lite-cli)
23
[![npm version](https://img.shields.io/npm/v/cve-lite-cli)](https://www.npmjs.com/package/cve-lite-cli)
34
[![npm downloads](https://img.shields.io/npm/dm/cve-lite-cli)](https://www.npmjs.com/package/cve-lite-cli)
4-
[![CI](https://img.shields.io/github/actions/workflow/status/sonukapoor/cve-lite-cli/ci.yml?branch=main)](https://github.com/sonukapoor/cve-lite-cli/actions)
5+
[![CI](https://img.shields.io/github/actions/workflow/status/OWASP/cve-lite-cli/ci.yml?branch=main)](https://github.com/OWASP/cve-lite-cli/actions)
56
[![GitHub Marketplace](https://img.shields.io/badge/GitHub%20Marketplace-CVE%20Lite%20CLI-blue)](https://github.com/marketplace/actions/cve-lite-cli)
6-
[![License](https://img.shields.io/github/license/sonukapoor/cve-lite-cli)](https://github.com/sonukapoor/cve-lite-cli/blob/main/LICENSE)
7-
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/sonukapoor/cve-lite-cli)
7+
[![License](https://img.shields.io/github/license/OWASP/cve-lite-cli)](https://github.com/OWASP/cve-lite-cli/blob/main/LICENSE)
8+
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/OWASP/cve-lite-cli)
89

910
<div align="center">
10-
<img src="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/logo-with-title.png" alt="CVE Lite CLI" width="320"/>
11+
<img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/logo-with-title.png" alt="CVE Lite CLI" width="320"/>
1112

1213
<h1>CVE Lite CLI</h1>
14+
15+
**🏆 Officially recognized as an [OWASP Incubator Project](https://owasp.org/cve-lite-cli)**
16+
1317
<p>Fast, developer-friendly vulnerability scanning for JavaScript and TypeScript projects.<br/>Practical fix guidance. Offline support. Usage-aware reachability. Clear direct vs transitive visibility.</p>
1418

1519
<strong>Scan. Understand. Fix.</strong>
@@ -30,9 +34,10 @@
3034
<a href="#quick-start">Quick Start</a> •
3135
<a href="#usage">Usage</a> •
3236
<a href="#what-it-looks-like">Screenshots</a> •
37+
<a href="docs/html-report.md">HTML Report</a> •
3338
<a href="docs/comparison.md">Compare</a> •
3439
<a href="docs/roadmap.md">Roadmap</a> •
35-
<a href="https://github.com/sonukapoor/cve-lite-cli/blob/main/src/docs/CONTRIBUTING.md">Contributing</a>
40+
<a href="https://github.com/OWASP/cve-lite-cli/blob/main/src/docs/CONTRIBUTING.md">Contributing</a>
3641
</p>
3742
</div>
3843

@@ -96,22 +101,39 @@ cve-lite .
96101
```
97102

98103
<p align="center">
99-
<a href="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/default-output.png">
100-
<img src="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/default-output.png" alt="CVE Lite CLI default output" width="600"/>
104+
<a href="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/default-output.png">
105+
<img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/default-output.png" alt="CVE Lite CLI default output" width="600"/>
101106
</a>
102107
</p>
103108

104109
Verbose output — includes the `Copy And Run These Fix Commands` section:
105110

106111
<p align="center">
107-
<a href="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-1.png"><img src="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-1.png" alt="Verbose output part 1" width="280"/></a>
108-
<a href="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-2.png"><img src="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-2.png" alt="Verbose output part 2" width="280"/></a>
109-
<a href="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-3.png"><img src="https://raw.githubusercontent.com/sonukapoor/cve-lite-cli/main/assets/verbose-output-3.png" alt="Verbose output part 3" width="280"/></a>
112+
<a href="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-1.png"><img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-1.png" alt="Verbose output part 1" width="280"/></a>
113+
<a href="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-2.png"><img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-2.png" alt="Verbose output part 2" width="280"/></a>
114+
<a href="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-3.png"><img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/verbose-output-3.png" alt="Verbose output part 3" width="280"/></a>
110115
</p>
111116
<p align="center"><sub>Click any screenshot to enlarge</sub></p>
112117

113118
For a section-by-section walkthrough, see [How to read verbose output](docs/how-to-read-verbose-output.md).
114119

120+
## HTML vulnerability report (`--report`)
121+
122+
Generate a self-contained HTML dashboard from any scan — severity cards, an interactive findings table, and copy-ready fix commands, all written to a local directory and opened automatically in your browser.
123+
124+
```bash
125+
cve-lite /path/to/project --report
126+
cve-lite /path/to/project --report ./my-report --no-open
127+
```
128+
129+
<p align="center">
130+
<a href="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/html-report-dashboard.png">
131+
<img src="https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/assets/html-report-dashboard.png" alt="CVE Lite CLI HTML Report Dashboard" width="700"/>
132+
</a>
133+
</p>
134+
135+
See the [HTML Report guide](docs/html-report.md) for the full option reference and output details.
136+
115137
## Usage
116138

117139
```bash
@@ -139,6 +161,10 @@ cve-lite /path/to/project --fail-on high
139161
# JSON output
140162
cve-lite /path/to/project --json
141163

164+
# Generate an HTML vulnerability dashboard (opens in browser automatically)
165+
cve-lite /path/to/project --report
166+
cve-lite /path/to/project --report ./my-report --no-open
167+
142168
# Scan project source files to check if vulnerable dependencies are actually imported
143169
cve-lite /path/to/project --usage
144170

@@ -202,27 +228,37 @@ See the [Offline Advisory DB guide](docs/offline-advisory-db.md) for the full wo
202228
The project ships a first-party [GitHub Action on the Marketplace](https://github.com/marketplace/actions/cve-lite-cli):
203229

204230
```yaml
205-
- uses: sonukapoor/cve-lite-cli@v1
231+
- uses: OWASP/cve-lite-cli@v1
206232
with:
207233
verbose: "true"
208234
fail-on: high
209235
```
210236
211-
CVE Lite CLI also uses itself in CI to scan its own dependencies. See [`self-scan.yml`](https://github.com/sonukapoor/cve-lite-cli/blob/main/.github/workflows/self-scan.yml).
237+
CVE Lite CLI also uses itself in CI to scan its own dependencies. See [`self-scan.yml`](https://github.com/OWASP/cve-lite-cli/blob/main/.github/workflows/self-scan.yml).
212238

213239
For full CI patterns including offline workflows, git hooks, and scripted automation, see the [CI and Workflow Integration guide](docs/ci-integration.md).
214240

215-
## Relationship to similar OWASP projects
241+
## OWASP project
242+
243+
CVE Lite CLI is an [OWASP Incubator Project](https://owasp.org/cve-lite-cli), peer-reviewed and maintained under the Open Web Application Security Project Foundation. Being part of OWASP means:
244+
245+
- **Peer-reviewed** by security professionals
246+
- **Community-driven** development and governance
247+
- **Vendor-neutral** with no commercial platform required
248+
- **Open source** with transparent security practices and a minimal dependency footprint
216249

217-
CVE Lite CLI is intentionally narrower than the broader OWASP security tooling ecosystem. Its role is workflow-focused: fast local checks and simple CI release gates for JavaScript and TypeScript dependency scanning.
250+
**Where it fits in the OWASP ecosystem:**
218251

219-
The closest OWASP comparisons are:
252+
CVE Lite CLI fills a specific gap — fast, local-first JS/TS dependency scanning close to release time — that broader OWASP tools are not optimized for:
220253

221-
- **OWASP Dependency-Check** — broader ecosystem coverage, different operational model
222-
- **OWASP dep-scan** — wider language and environment coverage
223-
- **OWASP Dependency-Track** — SBOM- and platform-oriented, not a local developer CLI
254+
| Tool | Focus |
255+
|---|---|
256+
| CVE Lite CLI | Lockfile-first, local developer CLI, remediation-focused, JS/TS |
257+
| OWASP Dependency-Check | Multi-language, SAST-style, broader ecosystem |
258+
| OWASP dep-scan | Multi-language and environment, SBOM and cloud-native |
259+
| OWASP Dependency-Track | Platform and SBOM management, not a local CLI |
224260

225-
CVE Lite CLI complements these tools by serving a practical developer workflow close to release time: lockfile-first, local-first, remediation-focused, and offline-capable. It is vendor-neutral and does not require any commercial platform.
261+
CVE Lite CLI complements these tools. It is not a replacement for continuous monitoring or full SBOM management — it is the fast local check you run before pushing.
226262

227263
## Real-world case studies
228264

@@ -278,27 +314,27 @@ See [parser-coverage.md](docs/parser-coverage.md) for supported lockfile formats
278314

279315
Feedback on output clarity, remediation guidance, ecosystem coverage, and CI usage is especially valuable.
280316

281-
See [CONTRIBUTING.md](https://github.com/sonukapoor/cve-lite-cli/blob/main/src/docs/CONTRIBUTING.md) to get started.
317+
See [CONTRIBUTING.md](https://github.com/OWASP/cve-lite-cli/blob/main/src/docs/CONTRIBUTING.md) to get started.
282318

283319
## Add a badge to your project
284320

285321
If you use CVE Lite CLI in your project, add this badge to your README:
286322

287323
```markdown
288-
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/sonukapoor/cve-lite-cli)
324+
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/OWASP/cve-lite-cli)
289325
```
290326

291-
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/sonukapoor/cve-lite-cli)
327+
[![Protected by CVE Lite CLI](https://img.shields.io/badge/Protected_by-CVE_Lite_CLI-brightgreen)](https://github.com/OWASP/cve-lite-cli)
292328

293329
## Community and support
294330

295-
For bug reports and feature requests: [GitHub Issues](https://github.com/sonukapoor/cve-lite-cli/issues)
331+
For bug reports and feature requests: [GitHub Issues](https://github.com/OWASP/cve-lite-cli/issues)
296332

297333
Helpful feedback includes reproducible bug reports, real-world lockfile edge cases, ideas for clearer output and remediation guidance, and CI or JSON workflow examples.
298334

299-
For security-related reporting: [SECURITY.md](https://github.com/sonukapoor/cve-lite-cli/blob/main/src/docs/SECURITY.md)
335+
For security-related reporting: [SECURITY.md](https://github.com/OWASP/cve-lite-cli/blob/main/src/docs/SECURITY.md)
300336

301-
If CVE Lite CLI helps your release workflow, a [GitHub star](https://github.com/sonukapoor/cve-lite-cli) helps more developers find it.
337+
If CVE Lite CLI helps your release workflow, a [GitHub star](https://github.com/OWASP/cve-lite-cli) helps more developers find it.
302338

303339
## License
304340

assets/html-report-dashboard.png

331 KB
Loading

docs/html-report.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# HTML Vulnerability Report (`--report`)
2+
3+
The `--report` flag generates a self-contained HTML dashboard from a scan. Results are written to a local directory and the report opens automatically in your browser when generation completes.
4+
5+
## Screenshot
6+
7+
<p align="center">
8+
<img src="../assets/html-report-dashboard.png" alt="CVE Lite CLI HTML Report Dashboard" width="900"/>
9+
</p>
10+
11+
## Generating a report
12+
13+
```bash
14+
# Generate to the default directory (./cve-report/)
15+
cve-lite /path/to/project --report
16+
17+
# Generate to a specific directory
18+
cve-lite /path/to/project --report ./my-report
19+
20+
# Generate without auto-opening in the browser
21+
cve-lite /path/to/project --report --no-open
22+
```
23+
24+
## Output files
25+
26+
The report writes two files to the output directory:
27+
28+
| File | Description |
29+
|---|---|
30+
| `index.html` | Self-contained dashboard. Open in any browser — no server required. |
31+
| `report.json` | Machine-readable scan data in JSON format. |
32+
33+
Running `--report` to the same directory a second time overwrites both files.
34+
35+
## What the report shows
36+
37+
**Severity summary cards** at the top give an immediate count for Critical, High, Medium, and Low findings alongside a total.
38+
39+
**Suggested Fix Plan** mirrors the terminal output: copy-ready package manager commands for your direct dependencies, grouped by severity. Skipped entries (transitive or no fix available) are listed in a collapsible section.
40+
41+
**Findings table** with interactive controls:
42+
- Filter by severity or direct-only
43+
- Expandable rows showing vulnerability description, dependency path, and recommended action
44+
- CVE / GHSA advisory IDs linked to osv.dev and GitHub Security Advisories
45+
- Fix version shown inline when one is available
46+
47+
## Options
48+
49+
| Flag | Default | Description |
50+
|---|---|---|
51+
| `--report [dir]` | `./cve-report` | Generate an HTML report in `[dir]`. Omit the path to use the default. |
52+
| `--no-open` || Skip auto-opening the report in the browser after generation. |
53+
54+
`--report` cannot be combined with `--json`.
55+
56+
## Notes
57+
58+
- The report is fully self-contained: no CDN calls, no internet connection required to view it.
59+
- The CVE Lite CLI logo is embedded as a Base64 data URI inside `index.html`.
60+
- The report path is printed to the terminal at the end of the scan so it can be picked up by CI scripts or shared with teammates.

0 commit comments

Comments
 (0)