|
80 | 80 | <nav> |
81 | 81 | <a href="#quick-start">Quick Start</a> |
82 | 82 | <a href="#features">Features</a> |
| 83 | + <a href="#parent-aware">Parent-aware fixes</a> |
83 | 84 | <a href="#fix-mode">Fix Mode</a> |
84 | 85 | <a href="#workflow">Workflow</a> |
85 | 86 | <a href="#speed">Speed</a> |
@@ -130,6 +131,7 @@ <h1>Scan. Understand. Fix.</h1> |
130 | 131 | <li>Usage-aware reachability scanning</li> |
131 | 132 | <li>Offline scans with local advisory DB</li> |
132 | 133 | <li>Copy-and-run direct fix commands</li> |
| 134 | + <li>Parent-aware transitive guidance</li> |
133 | 135 | <li>Conservative auto-remediation with `--fix`</li> |
134 | 136 | </ul> |
135 | 137 | <div class="pillars"> |
@@ -272,6 +274,51 @@ <h3>Developer-first by default</h3> |
272 | 274 | </div> |
273 | 275 | </section> |
274 | 276 |
|
| 277 | + <section class="container parent-aware-section" id="parent-aware"> |
| 278 | + <div class="spotlight-card"> |
| 279 | + <div> |
| 280 | + <p class="eyebrow">Parent-aware remediation</p> |
| 281 | + <h2>Fix the package that controls the vulnerable dependency path.</h2> |
| 282 | + <p> |
| 283 | + Transitive CVEs are easy to mis-handle. Installing the vulnerable child directly can change your manifest |
| 284 | + without changing the dependency path that introduced it. CVE Lite CLI points at the parent instead. |
| 285 | + </p> |
| 286 | + </div> |
| 287 | + <div class="command-compare"> |
| 288 | + <div> |
| 289 | + <span class="compare-label muted-label">Avoid</span> |
| 290 | + <pre><code>npm install vulnerable-child@fixed</code></pre> |
| 291 | + </div> |
| 292 | + <div> |
| 293 | + <span class="compare-label">Prefer when range allows it</span> |
| 294 | + <pre><code>npm update parent-package</code></pre> |
| 295 | + </div> |
| 296 | + <div> |
| 297 | + <span class="compare-label">Or when the range must change</span> |
| 298 | + <pre><code>npm install parent-package@target</code></pre> |
| 299 | + </div> |
| 300 | + </div> |
| 301 | + </div> |
| 302 | + <div class="grid three"> |
| 303 | + <article class="card"> |
| 304 | + <h3>Understands npm parent ranges</h3> |
| 305 | + <p>For npm lockfiles, the CLI checks whether a known non-vulnerable child can be resolved inside the current |
| 306 | + parent range before recommending a parent upgrade.</p> |
| 307 | + </article> |
| 308 | + <article class="card"> |
| 309 | + <h3>Works with workspace hoisting</h3> |
| 310 | + <p>Workspace-local package context is preserved, so hoisted npm packages can still be mapped back to their |
| 311 | + logical parent chain.</p> |
| 312 | + </article> |
| 313 | + <article class="card"> |
| 314 | + <h3>Documents the decision model</h3> |
| 315 | + <p><a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/remediation-strategy.md">Read the |
| 316 | + remediation strategy</a> to see when the CLI recommends direct upgrades, parent updates, or parent |
| 317 | + upgrades.</p> |
| 318 | + </article> |
| 319 | + </div> |
| 320 | + </section> |
| 321 | + |
275 | 322 | <section class="container" id="workflow"> |
276 | 323 | <h2>Three Workflow Modes</h2> |
277 | 324 | <div class="grid three"> |
@@ -326,6 +373,8 @@ <h3>Real-world case studies</h3> |
326 | 373 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/case-studies/nestjs.md">NestJS</a> |
327 | 374 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/case-studies/analog.md">Analog</a> |
328 | 375 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/fix-mode.md">Fix mode guide (--fix)</a> |
| 376 | + <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/remediation-strategy.md">Remediation |
| 377 | + strategy</a> |
329 | 378 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/html-report.md">HTML report guide (--report)</a> |
330 | 379 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/how-to-read-verbose-output.md">How to |
331 | 380 | read verbose output</a> |
@@ -370,6 +419,8 @@ <h3>Guides and deep dives</h3> |
370 | 419 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/comparison.md">Comparison with other |
371 | 420 | tools</a> |
372 | 421 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/how-it-works.md">How it works</a> |
| 422 | + <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/remediation-strategy.md">Remediation |
| 423 | + strategy</a> |
373 | 424 | <a href="https://github.com/OWASP/cve-lite-cli/blob/main/docs/roadmap.md">Roadmap</a> |
374 | 425 | </p> |
375 | 426 | </article> |
|
0 commit comments