ComCat
Joined 8 months ago
Joined 8 months ago
CVE databases can't catch these. The package isn't "vulnerable," it's intentionally malicious. I built a tool that analyzes what packages actually do: 46 behavioral detectors scan for network exfiltration, credential theft, shell execution, obfuscation, filesystem persistence, timegated payloads, and more across npm and PyPI.
The key insight: individual signals are noise. Most legitimate packages use child_process or make network calls. So I built a correlator with 59 cross signal amplifiers that combine findings into attack patterns. "Network access" alone gets suppressed on popular packages. Network access + CI secret theft + fresh publish + no GitHub repo = critical alert.
It also does version diff analysis. Not just "this package has network access" but "this package just added network access in this version."
Tested against 53,000 real packages (50,000 known malicious + 3,000 top clean npm packages): 99.95% precision. Catches attacks like event-stream, ua-parser-js, and ShaiHulud that CVE only tools miss entirely.
Available as a GitHub Action, CLI (dg npm install), or API. Free tier available.
curious if anyone here has dealt with a supply chain attack hitting production before? what tipped you off and what the blast radius looked like.
The container comparison misses where these attacks actually happen. Containers limit what code can do at runtime. We flag what code intends to do before it ever runs. These are complementary. A container won't stop a postinstall script from reading ~/.ssh/id_rsa and posting it to an attacker's server if your CI environment has network access and a mounted home directory — which most do.
Yes sophisticated attackers adapt. But the current state of npm supply chain attacks is that most don't even try to evade — because nobody's looking at the code. Every major attack in 2025 used the same playbook: credential theft + network exfil + install script abuse. Raising the floor from "zero analysis" to "26 behavioral detectors with cross-signal correlation" eliminates the entire class of low effort attacks and forces the rest into increasingly constrained patterns.
Shai Hulud, the chalk and debug hijack, and S1ngularity all spread before any advisory existed. Tools that rely on vulnerability databases like npm audit, Dependabot, or Snyk passed them clean because there was nothing in the database yet.
That annoyed me enough that I built a different approach.
Instead of checking advisories, the scanner reads the package source and looks for behaviors common in supply chain attacks. Things like install script abuse, credential theft, unexpected filesystem access, network exfiltration, and obfuscated payloads.
Right now it uses 46 deterministic detectors. No LLMs. same result every time.
Full methodology and dataset notes are here: westbayberry.com/benchmark
Curious what attack patterns people here people here have dealt with before and how they handled them.