We screened the most-downloaded packages from npm, PyPI, and Maven for signs of inactivity: stale commits, archived repos, deprecated metadata, bot-only activity. Hundreds of packages came back flagged. We handed a sample to an AI agent. Ten packages came back with confirmed CVEs - ranging from remote code execution to denial of service.
We built a pipeline to screen the most-downloaded packages from npm, PyPI, and Maven for measurable signals of inactivity, then handed a sample to an AI agent. The results came back faster than a manual review ever could.
Responsible public disclosure. Each maintainer has received the vulnerability report along with a verified, tested patch from Seal, ready to ship. They're given time to respond and merge before publication. If unreachable or unresponsive, Seal publishes the patches openly.
From the most-downloaded packages to confirmed CVEs
The most common signal: 83% of flagged packages had no meaningful commits in years.
31% were explicitly archived by their maintainer.
In dozens of repos, the only recent activity was automated dependency-bump PRs.
Discovered by Claude Sonnet, verified by Seal's research team, and patched independently. Each maintainer received the report with a tested fix attached.
Ten confirmed CVEs from a single sample. As AI-driven discovery accelerates, Seal's patch pipeline keeps pace - so you aren't left behind.
We deliver a verified, tested patch directly to the maintainer - ready to merge. When the maintainer is unreachable, or when you're on an older version that's no longer supported, Seal bridges the gap with a drop-in patched build - so your dependency tree stays clean either way. As we showed in our previous research, the standard disclosure process is too slow for the age of agentic exploitation.
Every disclosure goes to the maintainer with a patch already written, tested, and ready to ship.
Working directly with MITRE so the vulnerability gets a proper identifier and the ecosystem can track it - whether the upstream patch lands or not.
For abandoned packages and out-of-support versions, Seal publishes a version-compatible replacement that installs through Seal's CLI. No code changes required.
We built the same abandonment heuristic used in this research into an open source Claude Code skill. Point it at any npm, PyPI, or Maven package and get a verdict with evidence.
We'll scan your dependencies and flag any abandoned packages with known or suspected vulnerabilities. We'll reach out with findings.
One where the maintainer has stopped actively developing it - no meaningful commits in years, an archived or deprecated repository, or only automated bot activity with no human oversight. The package keeps getting downloaded despite having no one responsible for fixing security vulnerabilities.
Key signals: no commits in 2+ years, a GitHub repository marked as archived, deprecated metadata on the registry, or only automated dependency-bump PRs with no human reviewer.
Seal reports the vulnerability with a verified, tested patch attached - ready for the maintainer to merge. When upstream is responsive, the fix lands fast. When the maintainer is unreachable, or when the affected version is no longer supported, Seal files the CVE directly with MITRE and ships a standalone patched build as a drop-in replacement.
Yes. In our research, Claude suggested packages from our vulnerable abandoned list when asked to complete tasks in relevant domains - without any library names mentioned. AI coding assistants do not check package maintenance status before recommending a dependency.
The packages we found vulnerabilities in are downloaded over a billion times per week. Seal already ships verified, tested patches for all 10 CVEs - and for hundreds more. Scan your dependencies and see what's covered.