← Back to Journal
Security

We Audited 50 Codebases. Here's What Should Keep You Up at Night.

Daniela S. · 8 min read · May 2026

The Setup

Over the last six months, Menteorama Studio has performed supply chain security audits on 50 JavaScript codebases. These aren't toy projects — they're production applications handling real users, real transactions, and real data. E-commerce platforms, SaaS dashboards, client portals, internal tools, mobile backends.

We scanned every dependency — direct and transitive. We cross-referenced against the National Vulnerability Database. We checked maintainer account status, publish patterns, and license conflicts.

Here's what we found.

The Numbers

Average dependencies per project: 847

Not 30 (what's in your package.json). Not 100 (what you think you have). 847 actual packages installed in node_modules, most of which you've never heard of and never will — until one of them gets compromised.

Projects with at least one known vulnerability: 73%

Nearly three out of four production codebases had at least one CVE in their dependency tree that had a published fix available. Not a theoretical risk — a documented vulnerability with a known exploit path.

Projects with critical-severity CVEs: 41%

Not just "medium" or "low" — critical. The kind that gets a CVSS score above 9.0. The kind that means "someone can execute arbitrary code in your application."

Average days from CVE publication to patch applied: 47

Nearly seven weeks between "the world knows about this vulnerability" and "someone actually updates the package." During those 47 days, your application is running known-vulnerable code in production.

Projects with a current SBOM on file: 11%

Only 1 in 9 projects could produce a Software Bill of Materials. The rest had no documented record of what was actually running in production.

The Patterns We Saw

Pattern 1: The Forgotten Transitive

The most common vulnerability wasn't in a package the developer chose. It was in a dependency of a dependency of a dependency. Three or four levels deep. A date-formatting library pulled in by a testing framework pulled in by a UI component library. Nobody chose it. Nobody audits it. But it runs in your build pipeline.

Pattern 2: The Abandoned Maintainer

In 41% of projects, at least one dependency was maintained by a single developer whose npm account showed signs of compromise risk — password reuse from known breaches, no 2FA, or suspicious publish patterns. These packages had millions of weekly downloads.

Pattern 3: The "npm audit clean" Illusion

12 projects had teams that said "we run npm audit regularly." When we scanned them, we found vulnerabilities that npm audit doesn't catch — compromised maintainers, license conflicts, deprecated packages with known issues that haven't been assigned CVEs yet.

Pattern 4: The Lockfile False Security

Teams believed their lockfile protected them. It does — until someone runs npm install and the tree resolves to new versions. Or until a dependency publishes a malicious patch that your lockfile will happily install next time.

What This Means for You

If you're shipping JavaScript — which, statistically, you probably are — the question isn't whether you have vulnerable dependencies. You almost certainly do.

The question is: do you know about them? Do you have a system that tells you when a new CVE affects your stack? Do you have an SBOM you could show a client or regulator if they asked?

For most teams, the honest answer is no.

This is why we built Code Sentinel. Not because security scanning is new — Snyk and Dependabot exist. But because those tools are built for enterprises with dedicated security teams. If you're a 3-person agency managing 5 client projects, or a solo founder with 3 repos, you need something simpler, cheaper, and more opinionated.

Code Sentinel runs weekly scans, generates SBOMs, cross-references CVE databases, and sends you a report with specific remediation steps. Starting at $299/month for up to 3 projects.

The first scan is free. No credit card. Connect one repo and see what's there.

Run your free scan