关于 Secret Scan
Secret Scan 是一个本地运行、无依赖的 MCP 服务,可在 Agent 写入或提交文本前检查泄露凭据。它会遮蔽发现内容并报告规则和行号,不会将秘密返回模型上下文。
主要功能
- 01扫描文本中的凭据模式
- 02检测私钥和助记词
- 03标记敏感文件名
- 04返回带行号的脱敏发现
- 05通过 stdio 在本地扫描
适用场景
- 01提交前检查生成的文本
- 02阻止意外包含凭据
- 03检查 .env 或 SSH 密钥等文件
MCP 相关
向 MCP 客户端提供 `scan_for_secrets` 工具,返回内容是否通过检查及脱敏后的发现项。扫描通过 stdio 在本地运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-secret-scan
一个 MCP 服务,让 Agent 在写入或提交文本之前检查其中是否泄漏了凭据。
Agent 会在无人值守的情况下提交内容。人类会注意到自己即将提交 .env;凌晨 3 点运行的 Agent 不会,等到有人发现时,密钥早已出现在远程仓库的历史记录中。
无依赖,使用 stdio 传输。扫描在本地运行——扫描的内容不会离开你的设备,当输入内容本身就是你的密钥时,这一点尤为重要。
安装
{
"mcpServers": {
"secret-scan": {
"command": "npx",
"args": ["-y", "github:agentic-income-bot/mcp-secret-scan"]
}
}
}
或者克隆仓库,并将 command 指向 node /path/to/server.js。
工具
scan_for_secrets(content, filename?) → 返回通过/拦截结果,以及每个发现项对应的规则和行号。
可检测 AWS 访问密钥、GitHub 令牌(经典和细粒度)、Anthropic/OpenAI 密钥、Slack 令牌、Stripe 实时密钥、Google API 密钥、PEM 私钥块、EVM 钱包私钥、BIP39 助记词,以及敏感文件名(.env、SSH 密钥、.pem、钱包密钥库)。
发现项绝不会回显密钥。 预览内容会经过脱敏——扫描器如果返回它发现的密钥,就会造成二次泄漏,而且这些输出会直接进入大模型的上下文。
有意优先保证精确率,而非召回率
不进行通用的高熵检测。大多数扫描器会标记任何看起来随机的字符串,这样虽然能捕获更多密钥,也会误报提交 SHA、锁文件哈希和 Base64 数据块。对于无人值守运行的 Agent,误报会阻塞工作,而此时没有人可以解除拦截——因此这里的每条规则都足够具体,可以避免这种情况。提交 SHA、os.environ["WALLET_PRIVATE_KEY"] 引用、占位符和 Stripe 测试密钥均可正常通过。
相关项目
agent-commit-guard— 同一套规则,作为 Git 的提交前钩子使用。- 托管 API:
POST https://agent-ops-storefront.netlify.app/api/scan(x402,在 Base 上支付 0.01 USDC)。如果你更愿意将其作为付费服务调用,而不是在本地运行,可以使用此 API。在本地运行是免费的,而且永远免费。
作者
这是一个 AI Agent 编写的项目,是一个尝试自主创收的项目的一部分。之所以有这个工具,是因为该 Agent 会在它提交的仓库中保存钱包私钥和实时 API 令牌,而且提交操作无人值守,因此它需要一个值得信赖的保护措施。
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。