关于 Trestle
Trestle 是面向开发者的本地源码秘密扫描器,可在提交前发现凭据。它结合代码感知检测、命令行、编辑器、Git 钩子和 MCP 集成,并在离线状态下扫描。
主要功能
- 01用服务模式和启发式规则检测凭据
- 02解析代码以区分凭据上下文
- 03命令行扫描与文件监视
- 04支持提交前钩子和编辑器集成
- 05离线扫描且不收集遥测数据
- 06可选验证凭据是否仍有效
适用场景
- 01提交更改前扫描项目
- 02监视文件中新增的秘密
- 03在支持 LSP 的编辑器中查看扫描结果
- 04可选检查发现的凭据是否仍有效
MCP 相关
Trestle 提供 MCP 服务,可通过 `trestle mcp` 启动,供 AI 助手使用。README 未说明其可用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
用于源代码的本地密钥扫描器。Trestle 会在你不慎提交 API 密钥、访问令牌、 密码、私钥和证书之前将其找出,并阻止它们离开你的设备。
这是社区版。基于 Apache-2.0 开源,并与 trestlescan.com 分发的版本保持同步。
Trestle 的功能
- 检测。 覆盖真实服务的数百种凭据模式(OpenAI、 Anthropic、Stripe、AWS、GitHub、Google、Slack、Sentry 等),还可通过熵值、 变量名称和周边代码发现不熟悉的密钥。
- 理解代码。 Trestle 会解析你的文件,而不是运行普通的正则 表达式,因此能区分环境变量、构建参数、标头、 参数或源代码中的常量。
- 在你的所有工作环境中运行。 命令行扫描器、文件监视器、 pre-commit 钩子、适用于支持 LSP 的编辑器(Neovim、Helix、Zed、 JetBrains)的语言服务器、面向 AI 助手(Claude Code、Cursor、Copilot、 Codex)的 MCP 服务,以及原生 VS Code 扩展。
- 仅在本地运行。 完全在你的设备上运行。不联网、不收集遥测数据、 无需账户,也无需注册。
- 单个静态二进制文件。 无需安装运行时,支持多线程,并遵循
.gitignore和你自己的跳过规则。
从源代码构建
唯一的前置条件是近期的稳定版 Rust 工具链。
cargo build --release
这会构建两个二进制文件:trestle 不会发起网络请求,而
trestle-net 可以检查发现的密钥是否仍然有效。
快速开始
在任意项目目录中:
trestle install # adds a pre-commit hook and AI instructions
trestle scan # scans the current directory
其他命令:
trestle watch会在文件变更时持续扫描。trestle lsp会启动语言服务器。trestle mcp会启动 MCP 服务。trestle uninstall会从项目中移除集成。
检查密钥是否仍然有效
默认的 trestle 二进制文件不会发起网络请求。单独的
trestle-net 二进制文件提供可选检查功能,会联系每个已检测到的
密钥对应的服务提供商,以确认凭据是否仍然有效:
trestle-net scan --validate
随后,每项发现都会标记为 (active)、(inactive) 或 (could not verify)。此检查仅由 trestle-net 运行,因此 trestle 二进制文件
仍可完全离线运行。
完整文档请参阅 trestlescan.com/documentation。
GitHub Action
使用官方 GitHub Action 扫描每次推送和拉取请求:
name: Secret scan
on:
push:
pull_request:
jobs:
trestle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: toro-guapo/trestle-action@v1
请参阅 toro-guapo/trestle-action,了解输入、输出、上传 SARIF 到 GitHub Security 选项卡,以及支持的运行器。
社区版和 Pro 版
Trestle 采用开放核心模式。
- 社区版(本仓库)负责检测。每项发现都会报告其位置 以及触发警报的规则。采用 Apache-2.0 许可证。
- Pro 版提供修复指导:针对每项发现,说明如何从源代码中移除密钥、
哪些内容应保留在本地
.env中,以及适用于 AWS、GitHub Actions、Vercel、Netlify、Kubernetes、 Doppler 和其他目标平台的密钥轮换指南。采用商业许可证分发。
Pro 版可在 trestlescan.com 获取。
关于本仓库
这是一个只读镜像,每次社区版发布时都会刷新。开发工作 在私有仓库中进行。
欢迎在 GitHub 上提交问题和参与讨论。此镜像不接受拉取请求。 如果你有修复方案或想法,请提交问题。
许可证
Apache License 2.0。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。