
Dep Oracle
io.github.ertugrulakbenPublished by GitHub account ertugrulakbenv1.3.0Updated Nov 3, 2026
Predictive dependency security engine. Trust scores, zombie detection, blast radius analysis.
Overview
Local MCP server that scores the trust and supply-chain risk of a project's npm and Python dependencies, flagging zombies, typosquats and blast radius.
- What you can do
- Scan a project's dependency tree and produce a full trust report
- Get a 0-100 trust score for a single package and compare two packages side by side
- List zombie dependencies and measure a package's blast radius across source files
- Check a package name for typosquatting risk and get safer migration alternatives
- Generate a JSON report, optionally written to a file
- When to use it
- Useful when you want an assistant to audit dependency risk in a JavaScript/TypeScript or Python project: finding unmaintained packages, judging whether a package is safe to add, or planning a migration away from a risky library.
- Requirements
- Runs locally via npx or a global npm install (Node.js required); no authentication is declared. Network access to npm and GitHub is used for live data, and an optional githubToken in .dep-oraclerc.json raises GitHub API rate limits. Offline mode works from cache only.
Installation
In SourceWeft
- Open Dep Oracle in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
dep-oracle
Predictive Dependency Security Engine
[npm version] [License: MIT] [npm downloads] [GitHub stars] [MCP Registry]
Quick Start · Features · Algorithm · MCP · Comparison
English | Turkce
Your dependencies have dependencies. Who's watching them?
dep-oracle is a predictive dependency security engine that calculates Trust Scores (0-100) for every package in your dependency tree. It detects zombie dependencies, measures blast radius, catches typosquatting attempts, and predicts future risks — before they become vulnerabilities.
Claude Code Security scans YOUR code. dep-oracle scans everything your code depends on.
Why?
- Supply chain attacks increased 742% since 2019 (Sonatype 2024 Report)
- The average npm project pulls in hundreds of transitive dependencies — any one could be compromised
npm auditonly catches known CVEs — dep-oracle predicts future risks- You audit your code. But do you audit your trust?
Quick Start
Features
Usage
Output Example
Trust Score Algorithm
Each package is scored 0-100 based on six weighted metrics:
Score Ranges: 80-100 Safe | 50-79 Warning | 0-49 Critical
Security Scoring
The security metric uses a diminishing penalty model — the first vulnerability has the highest impact, and each additional one has progressively less effect:
Packages that patch vulnerabilities quickly (within 7 days) receive a +10 bonus. Slower patches (within 30 days) receive +5.
Graceful Degradation
If an API is unreachable (GitHub down, no internet, rate limited), dep-oracle doesn't crash. The missing metric weight is redistributed across available metrics. If 3+ metrics are unavailable, a reliability warning is shown.
Blast Radius Methodology
The blast radius metric counts how many of your source files directly import a given dependency:
- Recursively collects all
.js,.ts,.jsx,.tsx,.mjs,.mts,.cjs,.ctsfiles - Skips
node_modules,.git,dist,build,coverage, and other build directories - Searches each file for
import ... from 'pkg',require('pkg'), and dynamicimport('pkg')patterns - Reports the count, file paths, and percentage of codebase affected
Current limitations:
- Only scans JavaScript/TypeScript import patterns
- Python
importstatements are not yet analyzed (blast radius returns 0 for Python-only projects) - Does not trace re-exports or barrel files — counts direct imports only
Weight Rationale
Weights are based on the principle that security vulnerabilities and maintainer abandonment are the strongest predictors of supply chain risk, followed by development activity signals. Weights are fully configurable via .dep-oraclerc.json — enterprise teams can adjust to match their specific risk tolerance.
When data is unavailable for a metric, the score is pulled toward the midpoint (50) proportionally to the fraction of missing weight, preventing artificial inflation from missing data.
Typosquat Detection
dep-oracle uses a multi-layer approach to catch typosquatting:
- Static registry — 1,847+ known popular package names across 40+ categories (React, Vue, Angular, Express, testing, CLI tools, etc.)
- Dynamic npm lookup — Fetches the top 5,000 most-downloaded packages from npm and caches them for 7 days
- Pattern matching — Levenshtein distance, prefix/suffix manipulation, character swap, missing/extra letter detection
Migration Advisor
When a package scores low or is flagged as a zombie, dep-oracle suggests safer alternatives from a curated database of 131 package mappings with 192 alternatives:
Each suggestion includes difficulty rating (easy/moderate/hard) and migration context.
Claude Code Integration (MCP)
dep-oracle is listed on the official MCP Registry and works as an MCP server for Claude Code:
Then in Claude Code, just ask:
- "What's the riskiest dependency in this project?"
- "Is lodash safe to use?"
- "Show me zombie dependencies"
- "Suggest alternatives for moment.js"
Available MCP Tools:
GitHub Action
Configuration
Create .dep-oraclerc.json in your project root:
Or add to package.json:
Configuration Options
Supported Package Managers
Comparison
Note: dep-oracle is not a replacement for Snyk or Socket.dev in enterprise environments. They have dedicated security research teams and CVE databases. dep-oracle focuses on predictive signals (trust scores, maintenance health, funding, zombie detection) that complement existing tools.
Programmatic API
Test Suite
dep-oracle has comprehensive test coverage:
Changelog
v1.2.0 (2026-02-22)
- Security: Path traversal protection in MCP tools (validated dir/output paths)
- Security: Package name validation (npm naming rules enforced)
- Security: HTML reporter metric values escaped (XSS defense-in-depth)
- Security: GitHub username/repo validation in URL parser
- Security: GitHub Sponsors username validation in funding collector
- Feature: Programmatic API —
import { scan, checkPackage } from 'dep-oracle' - Feature: 3 new MCP tools:
dep_oracle_typosquat_check,dep_oracle_compare,dep_oracle_report(8 total) - Feature: GitHub Action now builds correctly (self-contained bundle)
- Fix: Collector timeout (30s) prevents hanging on slow APIs
- Fix: Trust score weight validation (must sum to 1.0)
- Fix: Patch bonus only applies when vulnerabilities exist
- Fix: Python parser preserves
#egg=fragments in git URLs - Fix: Typosquat homoglyph detection now catches 2-character substitutions
- Fix: Cache error handling distinguishes JSON corruption from I/O errors
- Fix:
server.jsonnow included in npm package for MCP registry
v1.1.4 (2026-02-22)
- Package.json Fix: Removed invalid
readmefield that caused npm to display literal string instead of README content
v1.1.3 (2026-02-22)
- npm README Fix: English README now correctly shown on npmjs.com (excluded Turkish README from npm package via prepack/postpack lifecycle)
v1.1.2 (2026-02-22)
- MCP Registry Links: Updated to official documentation URL
v1.1.1 (2026-02-22)
- MCP Registry: Listed on the official MCP Registry as
io.github.ertugrulakben/dep-oracle - Dynamic Versioning: MCP server and SARIF reporter now read version from package.json (no more hardcoded versions)
v1.1.0 (2026-02-22)
- Typosquat Detection: Expanded to 1,847+ known packages across 40+ categories, plus dynamic npm registry fetch (top 5,000 packages, 7-day cache)
- Migration Advisor: Expanded to 131 package mappings with 192 safer alternatives
- Trust Score Calibration: Diminishing vulnerability penalty (first CVE has highest impact), fast-patch bonus (+10 for <=7 days)
- Poetry.lock Support: Full poetry.lock parsing for Python projects
- Comprehensive Test Suite: 10 test files, 144 tests covering all analyzers, parsers, cache, and utilities
- Turkish README: Full Turkish documentation (README.tr.md)
- Dynamic CLI Version: Version automatically synced from package.json
v1.0.0 (2026-02-22)
- Initial release
- Trust Score engine with 6 weighted metrics
- npm + Python (pip, poetry, pyproject.toml) parsers
- Zombie detection, blast radius analysis
- Typosquat detection with Levenshtein distance
- Trend prediction (3-month risk projection)
- Migration advisor with curated alternatives
- Terminal, HTML, JSON, SARIF output formats
- MCP server for Claude Code integration
- GitHub Action support
- Offline mode with SQLite-compatible cache
- Badge generator (SVG)
Contributing
See CONTRIBUTING.md for development setup, coding standards, and how to add new collectors, parsers, or analyzers.
License
Source: README.md at commit 856003a
Tools
0Version history
1- v1.3.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts