harshzagade/Guardx-mcp

GitHub: harshzagade/Guardx-mcp

一款无需 API 密钥的防御性 MCP 服务器,通过自然语言让 AI 助手完成代码机密扫描、依赖漏洞审计和泄露密码检查。

Stars: 1 | Forks: 0

# 🛡️ GuardX **一个无密钥的防御性(蓝队)代码安全审计工具,专为 [Model Context Protocol](https://modelcontextprotocol.io) 设计。** 让你的 AI 助手扫描代码库以查找机密信息,审计依赖项中的已知 CVE,并根据泄露数据检查密码——所有这些都通过自然语言完成。 [![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![MCP](https://img.shields.io/badge/MCP-compatible-8A2BE2)](https://modelcontextprotocol.io) [![License: MIT](https://img.shields.io/badge/License-MIT-2ea44f)](LICENSE) [![No API Keys](https://img.shields.io/badge/API%20keys-none%20required-success)]() [![Use](https://img.shields.io/badge/use-defensive%20only-orange)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)]()
} 与探测实时网站的红队侦察工具不同,这个服务器会检查**你自己的代码和凭证**——这使其成为你红队工具的蓝队好搭档。 ## 目录 - [功能](#features) - [截图](#screenshots) - [安装](#installation) - [连接到 MCP Client](#connect-to-an-mcp-client) - [使用方法](#usage) - [隐私安全的密码检查工作原理](#how-the-privacy-safe-password-check-works) - [工具参考](#tool-reference) - [项目结构](#project-structure) - [贡献](#contributing) - [许可证](#license) ## 功能 - 🔑 **机密扫描** — 检测硬编码的 AWS 密钥、GitHub/Slack token、私钥、JWT 以及通用凭证。扫描结果会被**打码**,因此可以安全地分享报告。 - 📦 **依赖审计** — 将 `requirements.txt` (PyPI) 和 `package.json` (npm) 与免费的 [OSV.dev](https://osv.dev) 漏洞数据库进行比对。 - 🔐 **泄露密码检查** — 使用 **k-anonymity** 查询 [Have I Been Pwned](https://haveibeenpwned.com/Passwords);密码永远不会离开你的机器。 - 🚫 **无需 API 密钥,无需注册账号** — 克隆、安装、运行。 - 🤖 **原生 MCP** — 兼容 Claude Code、Claude Desktop、Gemini CLI、OpenAI Codex、Cursor 以及任何 MCP client。 ## 截图 ### 🔑 扫描项目中的硬编码机密

scan_secrets output

### 📦 将依赖项与 OSV 漏洞数据库进行比对审计

audit_dependencies output

### 🔐 检查密码是否已经泄露

check_pwned_password output

## 安装 ``` git clone https://github.com/harshzagade/guardx-mcp.git cd guardx-mcp # (推荐)创建 virtual environment python -m venv .venv # Windows: .venv\Scripts\activate # macOS / Linux: source .venv/bin/activate pip install -r requirements.txt ``` **环境要求:** Python 3.10+ 以及 `mcp` + `httpx` 包(通过 `requirements.txt` 安装)。 ## 连接到 MCP Client GuardX 通过 **stdio** 在本地运行,因此任何支持 MCP 的 client 都可以启动它。在以下所有示例中,请将 `/absolute/path/to/guardx-mcp/server.py` 替换为你机器上的实际路径。如果你使用了虚拟环境,请将 `command` 指向该环境的 Python(例如 `.venv/bin/python` 或 `.venv\Scripts\python.exe`),而不是 `python`。
Claude Code (CLI) 使用一条命令注册服务器: ``` claude mcp add guardx -- python /absolute/path/to/guardx-mcp/server.py ``` - 添加 `--scope project` 可将其写入你仓库中的共享 `.mcp.json` 文件里。 - 使用 `claude mcp list` 验证,然后在 Claude Code 中输入 `/mcp` 即可使用。
Claude Desktop (应用) 编辑你的 `claude_desktop_config.json`: - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` ``` { "mcpServers": { "guardx": { "command": "python", "args": ["/absolute/path/to/guardx-mcp/server.py"] } } } ``` 重启 Claude Desktop;GuardX 会出现在 🔌 工具菜单中。
Gemini CLI(及 Gemini Code Assist) 编辑 `~/.gemini/settings.json`(全局)或 `.gemini/settings.json`(单个项目)。Gemini Code Assist IDE 扩展会读取同一个文件: ``` { "mcpServers": { "guardx": { "command": "python", "args": ["/absolute/path/to/guardx-mcp/server.py"] } } } ``` 然后运行 `gemini` 并使用 `/mcp` 确认服务器已连接。
OpenAI Codex (CLI 及 IDE 扩展) Codex 使用 **TOML** 并在 CLI 和 IDE 扩展之间共享配置。你可以运行: ``` codex mcp add guardx -- python /absolute/path/to/guardx-mcp/server.py ``` …或者手动编辑 `~/.codex/config.toml`(注意 `mcp_servers` 中的**下划线**): ``` [mcp_servers.guardx] command = "python" args = ["/absolute/path/to/guardx-mcp/server.py"] ```
Cursor / VS Code 在你的项目中创建 `.cursor/mcp.json`(或者全局的 `~/.cursor/mcp.json`): ``` { "mcpServers": { "guardx": { "command": "python", "args": ["/absolute/path/to/guardx-mcp/server.py"] } } } ``` VS Code(支持 MCP)在其设置中使用相同的 `mcpServers` 结构。
## 使用方法 连接成功后,只需用自然语言对你的助手说: | 你说…… | 使用的工具 | | --- | --- | | *"扫描 `./my-project` 中的硬编码机密"* | `scan_secrets` | | *"审计 `requirements.txt` 中的已知漏洞"* | `audit_dependencies` | | *"密码 `password123` 已经被泄露了吗?"* | `check_pwned_password` | ## 隐私安全的密码检查工作原理 `check_pwned_password` 遵循 Have I Been Pwned 推荐的 [k-anonymity 模型](https://haveibeenpwned.com/API/v3#PwnedPasswords): 1. 密码在本地使用 **SHA-1** 进行哈希处理。 2. 仅将哈希值的**前 5 个十六进制字符**发送到 HIBP range API。 3. API 返回所有共享该前缀的哈希后缀;然后在**本地**进行匹配查找。 ➡️ 你的密码及其完整哈希**永远不会离开你的机器**。 ## 工具参考 | 工具 | 签名 | 描述 | | --- | --- | --- | | **机密扫描器** | `scan_secrets(path, max_findings=200)` | 递归扫描文件或目录以查找硬编码的机密。会跳过二进制文件和常见的忽略目录(`.git`、`node_modules` 等)。返回带有文件名和行号的打码结果。 | | **依赖审计器** | `audit_dependencies(path)` | 解析 `requirements.txt` 或 `package.json`,并针对每个锁定的依赖项与 OSV.dev 进行比对。返回 CVE/GHSA ID 和摘要信息。 | | **泄露密码检查** | `check_pwned_password(password)` | 通过 k-anonymity 针对在 HIBP 检查密码。报告泄露次数,且不传输密码本身。 | ## 项目结构 ``` guardx-mcp/ ├── server.py # MCP server + the three tools ├── requirements.txt # runtime dependencies (mcp, httpx) ├── assets/ # README screenshots ├── README.md ├── LICENSE # MIT └── .gitignore ``` ## 许可证 基于 [MIT 许可证](LICENSE) 发布。
作为一个防御性的蓝队伴侣而构建。请负责任地进行扫描。🛡️
标签:CCS 2025, MCP服务, Python, 代码安全审计, 依赖漏洞审计, 无后门, 运行时操纵, 逆向工具