GhostFree
io.github.shane-js由 GitHub 账号 shane-js 发布v0.2.0更新于 Oct 24, 2026
MCP server that scans your repo's dependencies for security vulnerabilities based on published CVEs.
概览
本地 MCP 服务器,通过 OSV.dev 扫描仓库依赖清单中的已知 CVE,并用 NVD 与 CISA KEV 数据补充详情,同时管理已接受的风险。
- 可以做什么
- 发现依赖:解析 npm、PyPI、Go、Rust、Java 和 .NET 的清单文件,按生态列出已锁定版本的包
- 检查 CVE:向 OSV.dev 查询漏洞,按最低严重级别过滤,并排除已接受的风险
- 补充 CVE 详情:从 NVD 获取 CVSS 向量、CWE 分类与参考链接,并查询 CISA KEV 的在野利用状态
- 管理已接受风险:列出、记录(含理由与到期日)或删除保存在仓库中的风险接受记录
- 适用场景
- 适合希望让 AI 编程助手依据最新漏洞数据(而非模型训练截止时间)审查项目依赖、分诊发现项,并在仓库中保留可审计的风险接受记录的场景。
- 运行要求
- 通过 npx 以 stdio 在本地运行(需要 Node.js)。扫描需要访问 OSV.dev;NVD 与 CISA KEV 补充在无法访问时会降级并给出警告。无需账号或付费。可选 NVD_API_KEY 可提高 NVD 速率限制;可选 GHOSTFREE_MIN_SEVERITY 与 GHOSTFREE_DIR 用于设置严重级别阈值和数据目录。
安装
在 SourceWeft 中
- 打开 控制台中的 GhostFree,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
What is GhostFree 🚫👻?
Every software team could use some help ridding their code base of the ghosts haunting their dependencies.
GhostFree is a local MCP server that scans your repository's dependencies for known vulnerabilities based on issued CVEs using OSV.dev, helps you triage and fix findings with NVD and CISA KEV enrichment, and lets you manage accepted risks — all directly from your AI coding assistant.
Quick Start
No installation, signup, or payment required. Add GhostFree to your MCP settings for whatever code tool you use and run /ghostfree.scan.
VS Code Copilot (Extension — easiest)
Search @mcp ghostfree in the Extensions view (Ctrl+Shift+X) and click Install. Then open the Command Palette (Ctrl+Shift+P), run MCP: List Servers, select GhostFree, choose Start Server, and confirm trust when prompted. No JSON config needed.
VS Code Copilot (Manual config)
Create or update .vscode/mcp.json in your project root:
Claude Code
Create .mcp.json in your project root:
Cursor
Create .cursor/mcp.json:
Claude Desktop
Add to your claude_desktop_config.json (location varies by OS):
How to Use
The /ghostfree.scan Prompt
The recommended way to run a scan is via the built-in prompt. In your AI client, type:
This drives the following flow:
- Discover — finds all manifest files (requirements.txt, package.json, go.mod, Cargo.toml, pom.xml, *.csproj, etc.)
- Threshold — asks you for a minimum severity level (CRITICAL / HIGH / MEDIUM / LOW) if not already configured
- Scan — queries OSV.dev for CVEs across all discovered packages
- Triage — presents numbered results, 10 at a time. You pick which ones to investigate.
- Enrich — fetches CVSS vectors, CWE classification, and CISA KEV "actively exploited" status for your selections
- Remediate — recommends upgrades, code changes, or risk acceptance with a reason and expiry date
Example Session
Example: Accepting a Known Risk
Example: Enriching a Specific CVE
Tools Reference
All read-only tools are safe to auto-approve in your MCP client. Write tools (accept_risk, remove_accepted_risk) will prompt for confirmation.
check_cves Inputs
accept_risk Inputs
Configuration
Create .ghostfree/config.yml in your repo root to set a persistent severity threshold that's shared with your team via source control:
This takes priority over the environment variable. If neither is set, GhostFree will prompt you to choose at scan time.
Environment Variables
VS Code extension users: create a .env file in your workspace root — the extension reads it automatically and forwards the values to the server. For all other setups (manual MCP JSON config): add these to the "env" block in your client's config file (.vscode/mcp.json, .mcp.json, .cursor/mcp.json, claude_desktop_config.json, etc.), or export them as system environment variables.
Accepted Risk Management
When you accept a risk, GhostFree writes it to .ghostfree/accepted.yml in your repo root. Commit this file to share accepted decisions with your team.
Rules:
expires_onis required — no open-ended acceptances- Expiry within 1 year: accepted immediately
- Expiry beyond 1 year: requires
confirm_extended_expiry=true - Expired acceptances are never silently dropped — they resurface as warnings on every scan
Supported Ecosystems & Manifests
Version range handling
When a manifest specifies a version range rather than an exact version, GhostFree extracts a single version to query vulnerability databases. We use two taxonomies to keep the reasoning clear: VRC (what a specifier means) and VRHP (what we do about it).
Version Range Concepts (VRC)
A VRC is an ecosystem-agnostic label for what a version specifier expresses. Multiple VRCs can apply to the same entry (e.g. a caret range with a prerelease tag is vrc-caret + vrc-prerelease).
Version Range Handling Principles (VRHP)
A VRHP is the action GhostFree takes once a VRC is identified. String-keyed so ordering never matters.
Ecosystem examples
FAQ
Q: Why would I need something more than my current AI coding agent(s)?
Your AI agent's knowledge of vulnerabilities is frozen at its training cutoff. New CVEs are disclosed daily — example: Log4Shell, for example, was disclosed in December 2021 and would be invisible to any model trained before that.
GhostFree queries live authoritative vulnerability reporting organizations for up to date information, so every scan reflects the current threat landscape regardless of when your model was trained. This extra context is also critical in increasing the accuracy or whatever suggestions or recommendations your agent can provide.
It also tracks your accepted risks with reasons and expiry dates, building an auditable record that lives in your repo.
It aims to do all of this with as much determinism as can be introduced while still at its coring being run by your chosen agent that interacts with GhostFree. While running it with the best model you can afford is our recommendation, this determinism strategy helps cheaper/weaker models be decently effective vulnerability remediationa assistants when aided with GhostFree from our testing.
Q: Does GhostFree upload my code anywhere?
No. Only package names and versions are sent to OSV.dev. No source code leaves your machine.
Q: Do I need an API key?
No. OSV.dev requires no auth. NVD enrichment works without a key (rate-limited to 5 req/30s) which you are unlikely to hit in typical human use of this tool (you would start to see if running in some autonomous agent setup though). Set env variable NVD_API_KEY for higher limits (see nist.gov website for more details).
Q: What if I'm offline?
The scan requires OSV.dev access. NVD and KEV enrichment will gracefully degrade with a warning if unreachable.
Q: Does it scan transitive dependencies?
Partially. When a lock file is present, GhostFree scans the full resolved dependency graph (direct + transitive): package-lock.json for Node.js, Cargo.lock for Rust, go.sum for Go, and Pipfile.lock for Python. For ecosystems without lock file support (Java, .NET), only directly declared dependencies are scanned.
Q: The scan found a CVE I've already fixed. What do I do?
Update the package version in your manifest. On the next scan it will no longer appear.
Support
For bugs and feature requests, open an issue on GitHub.
Privacy Policy
GhostFree processes your repository's dependency manifests locally on your machine. Here is exactly what data leaves your machine and where it goes:
No source code, file contents, repository names, user identifiers, or telemetry data of any kind are ever coded to be sent anywhere by us. As when interacting with any AI assisted tools, your underlying environment, AI model, agent, IDE, etc. are beyond our control in how it chooses to interact with our code and your code. Anyone making use of this tool should familiarize themselves with the information in our included LICENSE.txt (MIT).
GhostFree does not collect, store, or share any data. All processing happens locally. The accepted risks file (.ghostfree/accepted.yml) stays in your repository under your control.
For questions, open an issue on GitHub.
Acknowledgements
GhostFree is built entirely on the shoulders of three organizations that have made their vulnerability intelligence freely available to the world and all the vulnerability researchers around the world that report CVEs. Without them, this tool would not exist.
Google Open Source Security Team — Open Source Vulnerabilities (OSV)
OSV.dev is the backbone of every GhostFree scan. It provides a free, open API for querying known vulnerabilities across all major package ecosystems by package name and version, and includes severity scores and fix version data in a single response. Its generous rate limits and zero-auth design make it ideal for a tool that runs locally on every developer's machine.
U.S. National Institute of Standards and Technology — National Vulnerability Database (NVD)
The National Vulnerability Database, maintained by NIST within the U.S. Department of Commerce, is the authoritative source for standardised CVSS severity vectors and CWE classification for every published CVE. GhostFree calls the NVD API 2.0 during per-CVE triage to surface the full technical detail a developer needs to make an informed remediation decision.
U.S. Cybersecurity and Infrastructure Security Agency — Known Exploited Vulnerabilities (KEV)
CISA, part of the U.S. Department of Homeland Security, publishes and maintains the Known Exploited Vulnerabilities catalog — a curated list of CVEs confirmed to be actively exploited in the wild. GhostFree downloads and uses this catalog to answer the one question that most changes how urgently a team should act: Is this being exploited right now?
Our goal is to make the security intelligence these organizations produce — gathered at significant public expense and shared freely in the interest of a safer internet — as accessible as possible to every developer, wherever they work. The bad actors chasing these vulnerabilities don't sleep. Neither does the data.
来源:README.md,提交 a14ab63
工具
0版本历史
1- v0.2.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分