Penthera
Offline, rule-based security checks for your repo, dependencies, AI agent config and local app.
作者提供的说明(英文原文)
Predictive dependency security engine. Trust scores, zombie detection, blast radius analysis.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"dep-oracle": {
"command": "npx",
"args": [
"-y",
"dep-oracle"
]
}
}
}在终端中运行这条命令
claude mcp add dep-oracle -- npx -y dep-oracle粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"dep-oracle": {
"command": "npx",
"args": [
"-y",
"dep-oracle"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"dep-oracle": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"dep-oracle"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 ertugrulakben 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.3.0)于9个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Penthera, Draugr, Harbor
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Offline, rule-based security checks for your repo, dependencies, AI agent config and local app.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Read-only access to Harbor: projects, artifacts, vulnerabilities, robots, replication, agent skills.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
dep-oracle Predictive Dependency Security Engine
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.
npm audit only catches known CVEs — dep-oracle predicts future risks# Zero install — just run it
npx dep-oracle
npm install -g dep-oracle dep-oracle scan
dep-oracle check express
| Feature | Description |
|---|---|
| Trust Score | 0-100 weighted score per package (security, maintainer health, activity, popularity, funding, license) |
| Zombie Detection | Finds unmaintained but critical packages (no commits in 12+ months) |
| Blast Radius | Shows how many files are affected if a dependency is compromised |
| Typosquat Detection | 1,847+ known packages + live npm registry lookup to catch suspicious names |
| Trend Prediction | 3-month risk projection based on download/commit/release trends |
| Migration Advisor | 131 package mappings with 192 safer alternatives for risky dependencies |
| Offline Mode | Works from cache without internet (--offline) |
| MCP Server | Native Claude Code integration — ask about your dependencies in natural language |
| Multi-Format Output | Terminal (colored tree), HTML, JSON, and SARIF |
| GitHub Action | Automate trust checks in your CI/CD pipeline |
# Scan current project
dep-oracle scan
dep-oracle scan --format json dep-oracle scan --format html dep-oracle scan --format sarif
dep-oracle check lodash dep-oracle check express@4.18.2
dep-oracle scan --offline
dep-oracle scan --threshold 60
dep-oracle scan --ignore deprecated-but-needed,legacy-pkg
dep-oracle scan --verbose
dep-oracle v1.2.0
Scanning package.json... Found 47 direct dependencies, 683 transitive Collecting data... [=============================] 100% (2.3s)
DEPENDENCY TRUST REPORT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CRITICAL (score < 50)
■ event-stream@3.3.6 Score: 12 ZOMBIE Last commit: 2018 | 0 maintainers active Blast radius: 14 files | Alternative: highland
WARNING (score 50-79)
■ moment@2.29.4 Score: 58 ZOMBIE Maintenance mode | No new features Blast radius: 23 files | Alternative: dayjs, date-fns, luxon
SAFE (score 80+): 679 packages
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SUMMARY Overall Trust Score: 74/100 Critical: 2 | Warning: 3 | Safe: 679 Zombies: 2 | Deprecated: 1
Each package is scored 0-100 based on six weighted metrics:
| Metric | Weight | What It Measures |
|---|---|---|
| Security History | 25% | CVE count with diminishing penalty, average patch time, fast-patch bonus |
| Maintainer Health | 25% | Active maintainers (bus factor), issue response time, PR merge speed |
| Activity | 20% | Commit frequency trend, release cadence, last publish recency |
| Popularity | 15% | Weekly downloads, dependent count, GitHub stars |
| Funding | 10% | GitHub Sponsors, OpenCollective, corporate backing |
| License | 5% | MIT/Apache = safe, GPL = risk, Unknown = red flag |
Score Ranges: 80-100 Safe | 50-79 Warning | 0-49 Critical
The security metric uses a diminishing penalty model — the first vulnerability has the highest impact, and each additional one has progressively less effect:
| Vulnerabilities | Security Score |
|---|---|
| 0 | 100 |
| 1 | 85 |
| 2 | 72 |
| 3 | 60 |
| 4 | 50 |
| 5+ | max(20, 100 - n*12) |
Packages that patch vulnerabilities quickly (within 7 days) receive a +10 bonus. Slower patches (within 30 days) receive +5.
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.
The blast radius metric counts how many of your source files directly import a given dependency:
.js, .ts, .jsx, .tsx, .mjs, .mts, .cjs, .cts filesnode_modules, .git, dist, build, coverage, and other build directoriesimport ... from 'pkg', require('pkg'), and dynamic import('pkg') patternsCurrent limitations:
import statements are not yet analyzed (blast radius returns 0 for Python-only projects)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.
dep-oracle uses a multi-layer approach to catch typosquatting:
dep-oracle check expresss # Catches: similar to "express" (distance: 1)
dep-oracle check lodashe # Catches: similar to "lodash" (distance: 1) dep-oracle check react-js # Catches: suffix pattern of "react"
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:
moment → dayjs, date-fns, luxon
request → axios, got, node-fetch, undici lodash → lodash-es, radash, just (native alternatives) express → fastify, koa, hono gulp → esbuild, tsup, vite mocha → vitest, jest, node:test ...and 125 more
Each suggestion includes difficulty rating (easy/moderate/hard) and migration context.
dep-oracle is listed on the official [MCP Registry](https://modelcontextprotocol.io/registry) and works as an MCP server for Claude Code:
// .claude/settings.json
{ "mcpServers": { "dep-oracle": { "command": "npx", "args": ["dep-oracle", "mcp"] } } }
Then in Claude Code, just ask:
Available MCP Tools:
| Tool | Description |
|---|---|
dep_oracle_scan | Full project dependency scan |
dep_oracle_trust_score | Trust score for a single package |
dep_oracle_blast_radius | Impact analysis for a package |
dep_oracle_zombies | List all zombie dependencies |
dep_oracle_suggest_migration | Get alternative package suggestions |
dep_oracle_typosquat_check | Check typosquatting risk for a package name |
dep_oracle_compare | Compare two packages side-by-side |
dep_oracle_report | Generate a JSON report, optionally to file |
name: Dependency Trust Check
on: [pull_request]
jobs: dep-oracle: runs-on: ubuntu-latest steps:
Create .dep-oraclerc.json in your project root:
{
"threshold": 60, "ignore": ["known-risky-but-needed"], "format": "terminal", "offline": false, "githubToken": "$GITHUB_TOKEN", "cacheTtl": 86400 }
Or add to package.json:
{
"dep-oracle": { "threshold": 60, "ignore": [] } }
| Option | Default | Description |
|---|---|---|
threshold | 60 | Minimum trust score. Packages below trigger warnings and non-zero exit |
ignore | [] | Packages to skip during scanning |
format | "terminal" | Output format: terminal, json, html, sarif |
offline | false | Use only cached data, skip all API calls |
githubToken | null | GitHub token for higher API rate limits (5000/hr vs 60/hr) |
cacheTtl | 86400 | Cache TTL in seconds (default: 24 hours) |
| Manager | Manifest | Lock File | Status |
|---|---|---|---|
| npm | package.json | package-lock.json | Supported |
| yarn | package.json | yarn.lock | Supported |
| pnpm | package.json | pnpm-lock.yaml | Supported |
| pip | requirements.txt | Pipfile.lock | Supported |
| poetry | pyproject.toml | poetry.lock | Supported |
| Feature | npm audit | Dependabot | Socket.dev | Snyk | dep-oracle |
|---|---|---|---|---|---|
| Known CVE scan | Yes | Yes | Yes | Yes | Yes |
| Predictive risk | No | No | Partial | Partial | Yes |
| Trust Score (0-100) | No | No | No | No | Yes |
| Zombie detection | No | No | No | No | Yes |
| Blast radius | No | Partial | No | No | Yes |
| Typosquat detection | No | No | Yes | No | **Yes*
只显示了开头部分;其余内容请在仓库中阅读