Skip to main content
Solutions/Problem Aware/Saas
Problem Aware · Web Application

Outdated dependencies with CVEs are a liability you can quantify.

npm audit, Dependabot, or a security scan revealed vulnerabilities in your dependencies. Most are informational; some are critical. Triaging which ones represent real risk for your application and updating them systematically — without breaking the application.

150+
Projects shipped
99%
Client retention
~12wk
Average delivery
The problem
Security scan showing dependency vulnerabilities (npm audit warnings, Dependabot alerts, or a penetration test finding) that need to be assessed and remediated

npm audit outputs a list that looks alarming. Most of it isn't. The triage process:

Severity levels:

  • Critical: Direct exploitability in a production context. Prioritize immediately.
  • High: Exploitable under certain conditions. Fix within a sprint.
  • Moderate: Limited impact or difficult to exploit. Fix during normal maintenance.
  • Low/Info: Theoretical vulnerability; unlikely to affect a production application.

Context matters:

A vulnerability in a server-side package is different from a dev-only build tool dependency. A critical vulnerability in node-fetch that's only used in a CLI build script isn't exploitable in your production web application.

Ask: "Is this package used in a production path that handles untrusted user input?" If no, the vulnerability risk is lower.

The update process:

  1. Run npm audit or pnpm audit to see the full list
  2. Sort by severity
  3. For critical/high: identify the package, the vulnerability, and whether it's exploitable in context
  4. Update the vulnerable package: npm update package-name for minor updates
  5. For major version updates: read the changelog, update carefully, test
  6. For packages with no fix: assess risk and consider alternatives

Locked transitive dependencies:

Many vulnerabilities are in transitive dependencies (a package your package depends on). The direct fix is to update the package that depends on the vulnerable one. Sometimes this requires waiting for upstream to release a fix; sometimes an overrides entry in package.json can force the patched version.

Dependabot:

GitHub Dependabot automatically opens pull requests for dependency updates. Set it up; review the PRs. It doesn't fix everything, but it keeps dependencies from falling too far behind.

What we build

Dependency audit with vulnerability triage (critical vs informational), updates for the high-risk packages, and a process to keep dependencies current

Audit and triage

of all current vulnerabilities

Updates

for critical and high-severity packages

Testing

to verify updates don't break the application

Dependabot configuration

for ongoing maintenance

Audit schedule

to review new vulnerabilities regularly

Engagement

One honest number to start.

Fixed-scope, fixed-price. The number below is the starting point — final scope is built from your brief.

Tier · Web ApplicationFixed scope
From$25,000

Dependency audit with vulnerability triage (critical vs informational), updates for the high-risk packages, and a process to keep dependencies current

99% client retention across 40+ projects
Process

Three steps, every time.

The same repeatable engagement on every project. No surprises, no mystery, no billable ambiguity.

01Week 0

Brief & discovery.

We send you questions, then get on a call. Output: a written scope with every step, feature, and integration listed.

02Weeks 1–N

Build & ship.

Fixed schedule, weekly reviews. No scope creep unless you change the scope — and if you do, we reprice it transparently.

03Post-launch

Warranty & retainer.

30-day warranty on every launch. Most clients stay on a monthly retainer for ongoing features and maintenance.

Why fixed-price

Why Fixed-Price Matters Here

Dependency audit scope is the package count and vulnerability count. Fixed-price from the audit output.

FAQ

Questions, answered.

Even well-maintained projects have some npm audit warnings. "Zero warnings" is an unrealistic target. The goal is: zero critical, minimal high, all others triaged.

Snyk offers more detailed vulnerability context and fix suggestions. GitHub's Dependabot alerts integrate with pull requests. For higher-security applications, consider a dedicated SAST (static analysis) tool like CodeQL.

Next step

Tell Ryel about your project.

Describe what you’re building and what outcome you need. You’ll have a written, fixed-price scope within the week.