mcpField
G
GuardianShield

GuardianShield

本地服务
github.com/sparkvibe-io安全334 周前更新

关于 GuardianShield

GuardianShield 是开源 MCP 服务,为代码、输入、输出和依赖项提供安全检查。它结合漏洞与密钥扫描、PII 和提示词注入检测、安全配置及审计日志。

主要功能

  1. 01扫描代码中的漏洞和密钥
  2. 02追踪跨行数据流
  3. 03检查依赖项中的已知 CVE
  4. 04检测提示词注入和 PII
  5. 05应用五种安全配置
  6. 06保存并查询审计记录

适用场景

  1. 01在开发过程中扫描源代码
  2. 02检查依赖项中的已知漏洞
  3. 03检查 Agent 输入和输出风险
  4. 04跟踪发现并执行严重性阈值

MCP 相关

GuardianShield 向 MCP 客户端提供安全扫描、依赖项审计、配置管理和审计日志工具。可注册到 Claude Code、VS Code 和 Cursor 等客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sparkvibe-io-guardianshield": {
"command": "uvx",
"args": [
"guardianshield"
],
"env": {
"GUARDIANSHIELD_PROFILE": "<GUARDIANSHIELD_PROFILE>",
"GUARDIANSHIELD_AUDIT_PATH": "<GUARDIANSHIELD_AUDIT_PATH>",
"GUARDIANSHIELD_DEBUG": "<GUARDIANSHIELD_DEBUG>"
}
}
}
}
启动命令uvx guardianshield
需要配置的环境变量
GUARDIANSHIELD_PROFILEDefault safety profile (general, education, healthcare, finance, children)
GUARDIANSHIELD_AUDIT_PATHPath to the SQLite audit database
GUARDIANSHIELD_DEBUGSet to 1 for debug logging

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiguardianshield1.2.1

工具

27

收录的工具列表 · 更新于 2 周前

参数类型必填说明
codestring是要扫描的源代码。
enginesarray否用于此次扫描的可选引擎名称列表。
languagestring否可选的编程语言提示。
file_pathstring否用于在发现结果中提供上下文的可选文件路径。

详细介绍

GuardianShield

PyPI version Python License Tests

通用 AI 安全层——用于代码扫描、PII 检测、提示词注入防御、密钥检测、依赖项审计和审计日志的开源 MCP 服务。

零依赖项 · 27 个 MCP 工具 · 5 种安全配置 · 108+ 种检测模式

功能

  • 代码漏洞扫描 — 检测 SQL 注入、XSS、命令注入和路径遍历,提供 CWE ID 和自动修复方案
  • 跨行数据流分析 — DeepEngine 使用基于 AST 的污点传播(Python)和正则表达式(JS/TS),跨多行追踪从源到汇的数据
  • 依赖项安全 — 针对 PyPI、npm、Go 和 Packagist 生态系统,与 OSV.dev 进行版本感知型 CVE 匹配
  • 清单解析 — 自动检测 11 种格式(requirements.txt、package.json、yarn.lock、go.mod、composer.json 等)
  • 提示词注入防御 — 提供 9+ 种检测模式,用于检测指令覆盖、角色劫持和 ChatML 注入
  • PII 检测 — 检测电子邮件、SSN、信用卡、电话和 IP,并自动在检测结果中隐去相关信息
  • 密钥检测 — 检测 AWS 密钥、GitHub 令牌、Stripe 密钥、JWT、密码和连接字符串
  • 安全配置 — 提供 5 种内置配置(通用、教育、医疗保健、金融、儿童)
  • 审计日志 — 基于 SQLite 的扫描历史记录,支持检测结果检索和筛选

安装

pip install guardianshield

快速入门

# Register with Claude Code
claude mcp add guardianshield -- guardianshield-mcp

# Or run directly
guardianshield-mcp

编辑器集成

# Claude Code
claude mcp add guardianshield -- guardianshield-mcp

# VS Code (.vscode/mcp.json)
{"servers": {"guardianshield": {"type": "stdio", "command": "guardianshield-mcp"}}}

# Cursor (.cursor/mcp.json)
{"mcpServers": {"guardianshield": {"command": "guardianshield-mcp"}}}

# Claude Desktop (claude_desktop_config.json)
{"mcpServers": {"guardianshield": {"command": "guardianshield-mcp"}}}

MCP 工具

扫描
工具说明
scan_code扫描源代码,查找漏洞和硬编码密钥
scan_file扫描单个文件(根据扩展名自动检测语言)
scan_directory递归扫描目录,支持筛选和进度流式输出
scan_input检查用户/Agent 输入,查找提示词注入尝试
scan_output检查 AI 输出,查找 PII 泄露和内容违规
check_secrets检测硬编码密钥和凭据
scan_files在一次调用中扫描多个文件
scan_diff解析统一差异格式,仅扫描新增行
依赖项安全
工具说明
check_dependencies通过 OSV.dev 检查软件包是否存在已知 CVE(PyPI、npm、Go、Packagist)
sync_vulnerabilities同步本地 OSV 漏洞数据库
parse_manifest将任意受支持的清单文件(11 种格式)解析为依赖项对象
scan_dependencies扫描目录中的清单文件,并检查所有依赖项是否存在漏洞
误报管理
工具说明
mark_false_positive将检测结果标记为误报(标记会应用于后续匹配)
list_false_positives列出有效的误报记录,可选择筛选条件
unmark_false_positive根据指纹移除误报记录
引擎管理
工具说明
list_engines列出可用的分析引擎及其功能
set_engine设置代码扫描使用的活动分析引擎

内置提供三种引擎:regex(逐行模式匹配,默认启用)、deep(跨行污点追踪)和 semantic(根据代码结构调整置信度)。

CI 与开发者工作流
工具描述
export_sarif将发现的问题导出为 SARIF 2.1.0 JSON,供 GitHub Code Scanning 和 CI 使用
save_baseline将当前发现的问题保存为基线,用于增量扫描
scan_with_baseline扫描代码,并仅报告相较于基线新增的问题
check_quality_gate根据严重性阈值评估发现的问题(通过/失败/警告)
scan_files在一次调用中扫描多个文件
scan_diff解析统一差异,并仅扫描新增行
配置与实用工具
工具描述
get_profile获取当前安全配置文件
set_profile切换安全配置文件(general、education、healthcare、finance、children)
test_pattern使用示例代码测试正则表达式,以开发自定义模式
audit_log查询安全审计日志
get_findings使用筛选条件检索过去发现的问题
shield_status获取运行状况、配置和 OSV 缓存统计信息

配置

设置环境变量以自定义行为:

变量描述默认值
GUARDIANSHIELD_PROFILE默认安全配置文件general
GUARDIANSHIELD_AUDIT_PATHSQLite 审计数据库的路径~/.guardianshield/audit.db
GUARDIANSHIELD_DEBUG启用调试日志记录(1)已禁用

文档

完整文档:sparkvibe-io.github.io/GuardianShield

许可证

Apache 2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。