关于 mcp-secret-scrub
mcp-secret-scrub 是确定性的 MCP 服务,可在文本进入 Agent 或存入记录前检测并清除其中的机密。它不使用大模型或网络进行结构化检测,且不会返回机密原文。
主要功能
- 01检测服务商密钥、凭据和连接字符串
- 02对检测到的机密进行遮盖、掩码或哈希
- 03扫描文本而不修改内容
- 04合并返回扫描结果与脱敏预览
- 05列出支持的检测配置
适用场景
- 01将日志发送给 Agent 前清除机密
- 02检查记录中是否暴露凭据
- 03存储文本或传给工具前脱敏
MCP 相关
它通过 stdio 或 Streamable HTTP 向 MCP 客户端提供机密扫描与清除工具;结果不会包含机密原文。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-secret-scrub
mcp-name: io.github.sudo-ai-git/mcp-secret-scrub
确定性、无大模型的 MCP 服务,可在文本、日志和 transcript 进入 Agent 上下文之前清除其中的密钥,且绝不泄露密钥值。
无大模型。无网络。纯结构化检测。MIT。无核心机密。
它解决的问题
在把原始文本交给 Agent(或存储文本、将其传给工具)之前,你往往不知道其中是否包含有效密钥。平台清理工具经常漏掉各种模式——私钥、nvapi- 令牌、github_pat_
令牌,或日志中间的 api_key= 赋值。如果这些文本进入大模型上下文
或持久化的 transcript,密钥实际上就被泄露了。
这个服务会确定性地回答:
这段文本中包含哪些密钥?能否在文本传到其他地方之前安全地将其 脱敏?
检测范围(确定性配置文件)
| 类别 | 示例 |
|---|---|
| AI 提供商密钥 | sk-proj-…、sk-ant-api…、sk-or-v1-…、sk-…、nvapi-… |
| 云 / GitHub | AKIA…、aws_secret_access_key=、ghp_…、gho_…、ghu_…、ghs_…、ghr_…、github_pat_… |
| 身份 / 认证 | JWT(eyJ…)、PEM 私钥、Bearer …、Basic …、OAuth 客户端密钥 |
| 赋值 | api_key=、token=、secret=、password=、client_secret=、webhook_secret= |
| 端点 / DSN | Discord webhook、Slack xox…、SQL/Redis/Mongo/AMQP 连接字符串 |
扫描绝不会返回密钥值,只会返回类型、数量和 位置。这是一项严格的安全承诺,并由测试强制验证。
工具(MCP)
| 工具 | 用途 |
|---|---|
scrub_text(text, mode, keep_label) | 对密钥进行脱敏 / 掩码 / 哈希;返回处理后的文本(绝不包含密钥值) |
scan_text(text) | 检测其中包含哪些密钥类型(不修改文本) |
report_full(text) | 在一次调用中完成扫描 + 脱敏,返回脱敏预览 + 检测结果 |
secret_profiles() | 列出所有受支持的检测配置文件 |
模式:
redact(默认)→[REDACTED:TYPE]mask→ 显示前 4 个 + 后 2 个字符hash→ 确定性 SHA-256 前缀(多次调用结果一致)
快速开始(stdio)
pip install mcp-secret-scrub
mcp-secret-scrub # stdio (default)
也可以通过 uv/pipx 使用可安装的控制台入口:
pipx install mcp-secret-scrub
MCP 客户端配置:
{ "mcpServers": {
"secret-scrub": { "command": "mcp-secret-scrub" }
}}
Streamable HTTP(远程 / 可发布到 Smithery)
python3 mcp_server.py --http --port 8138 # serves on http://<host>:8138/mcp/
确定性与安全保证
- 确定性:在任何模式、任何调用中,相同输入 → 相同输出。
- 绝不泄露:
scan_text和scrub_text绝不输出原始令牌;_deterministic_hash使用 SHA-256(无盐),因此输出可复现。 - 无大模型、无网络:纯正则表达式 + 可达结构检测。
- 输入安全:非字符串输入会返回清晰的错误,而非回溯信息。
验证
python3 test_detector.py— 14/14 项核心检查(检测、脱敏、 确定性、不泄露承诺、无害 / Unicode / 空输入、无效模式)python3 test_e2e.py— 驱动真实的 MCP stdio 传输,并断言 密钥不会通过网络传输
许可证与来源
MIT。属于 sudo-ai-git 确定性、无大模型的 Agent 信任 MCP 系列
(mcp-skill-sec · mcp-verify-claim · mcp-benchmark-hygiene ·
mcp-secret-scrub)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。