secretsifter/secretsifter-desktop
GitHub: secretsifter/secretsifter-desktop
一款实时扫描网站和Web应用以检测泄露敏感信息的独立桌面安全工具。
Stars: 7 | Forks: 6
# SecretSifter 桌面版
[](https://opensource.org/licenses/MIT)
[](https://github.com/secretsifter/secretsifter-desktop/releases/latest)
[](https://github.com/secretsifter/secretsifter-desktop/releases)
[](https://github.com/secretsifter/secretsifter-desktop/releases/latest)
SecretSifter Desktop 是一款 Windows 原生扫描器,能够在实时单页应用、API 响应、请求头、JavaScript 包和代理流量中查找 API 密钥、凭证、令牌和个人身份信息。它内置了由 Playwright 驱动的爬虫、嵌入式 MITM 代理、HAR 导入功能以及一个使用 Bearer 令牌认证的 REST + MCP 服务器——无需 Burp 许可证。
## ⬇️ 快速安装
1. 从[最新版本](https://github.com/secretsifter/secretsifter-desktop/releases/latest)下载 **`SecretSifter-1.7.7.exe`**。
2. 双击运行。Windows SmartScreen → *更多信息 → 仍要运行*。
3. 按用户安装,无需管理员权限。默认路径:`%LOCALAPPDATA%\SecretSifter`。
4. 从开始菜单启动。在“扫描”选项卡中粘贴 URL → 点击 **开始扫描**。
就这么简单。已内置 Java。Chrome 会被自动检测(若无,则回退到系统 Edge 或内置的 Chromium)。
## ✨ 为什么选择 SecretSifter
| 问题 | SecretSifter 的解决方案 |
|---|---|
| Burp 许可证昂贵;并非每位分析师都有 | 免费独立版,无 Burp 依赖 |
| API 密钥硬编码在 2-8 MB 的 Angular/React 包中 | GENERIC_KV 对**全文本**进行扫描,并提供行级感知报告(每个出现位置都在每一行,如同 Burp) |
| 供应商特定令牌(AWS、Azure、Stripe、GitHub、JWT、Google 等) | 100 多个锚定的高置信度规则 |
| OAuth `access_token=...&resource=...` 正文中的密钥 | 表单编码预处理步骤提取每个键值对 |
| `__NEXT_DATA__` / `__INITIAL_STATE__` SSR 块中的密钥 | 专用的 SSR + JSON_SCRIPT_TAG 扫描器 |
| 埋藏在 JSON 深处(`data.user.config.apiKey`)的密钥 | 递归 JSON_WALK |
| 企业 WiFi 的 WAF 封锁无头浏览器 | 爬虫使用 `--disable-blink-features=AutomationControlled` 启动**真实 Chrome**,以绕过 Akamai / Cloudflare |
| 需要每个发现的请求/响应上下文 | Burp 风格的 **详情** 面板,包含“请求”和“响应”选项卡 |
| 无需扫描器噪音即可使用自定义组织规则包 | **原始模式**中的“仅使用自定义规则”开关 — 跳过所有默认的噪音过滤器 |
| 需要将扫描器输出集成到自动化中 | 使用 Bearer 令牌认证的 **REST + MCP** 服务器 |
## 🔍 检测覆盖范围
| 类别 | 规则数 | 置信度 |
|---|---|---|
| 锚定供应商令牌(AWS、Azure、GCP、Stripe、GitHub、Slack、JWT、Twilio、SendGrid、Mailgun、Heroku、npm、PyPI 等) | 100+ | CERTAIN |
| 上下文门控规则(数据库连接字符串、OAuth 流程、请求头) | 40+ | FIRM |
| GENERIC_KV(语义键 + 熵门控,全文本) | 1(丰富的过滤器链) | FIRM / CERTAIN |
| JSON_WALK(递归深层键遍历器) | 1 | FIRM |
| 基于熵门控的未锚定令牌 | 1 | FIRM |
| Getter 函数返回值(JS) | 1 | FIRM |
| SSR 状态块递归 | 1 | 变化 |
| 用户自定义规则 | 无限制 | FIRM(原始模式下为 NOISE) |
**扫描层级:** FAST(仅供应商令牌)· LIGHT(+ 数据库字符串 + 上下文门控)· FULL(+ GENERIC_KV + 熵 + getter 函数 + SSR 块)。
## 🚀 功能特性
- **批量 URL 扫描** — 粘贴 1 到 N 个 URL,可选择启用浏览器模式以应对单页应用。
- **Playwright 爬虫** — 驱动真实 Chrome,捕获每个请求和响应。
- **MITM 代理** — 内置的 HTTP/1.1 代理,支持即时生成每主机的 TLS 证书(Bouncy Castle CA)。将任何浏览器指向 `127.0.0.1:8888`。
- **HAR 导入** — 通过扫描器回放任何 DevTools 保存的 HAR 文件;详情面板的工作方式相同。
- **发现仪表板** — 可排序/可过滤,带严重性徽章,NOISE 分级,掩码值/掩码 URL 开关,列可见性菜单。
- **捕获存储** — 有界的 LRU 缓存,按 URL 为键存储 HTTP 请求/响应捕获,支撑详情/请求/响应侧边栏。
- **自定义规则** — 每行一条格式为 `规则名 | 正则表达式 | 严重性`。可累加运行,或在跳过所有默认噪音过滤器的原始模式下运行。
- **报告包** — 一体化 ZIP(HTML + CSV + JSON + 被抑制的 CSV)和按域名 ZIP。每个产出物都带有 `yyyyMMdd_HHmmss` 时间戳。
- **REST + MCP** — 使用 Bearer 令牌认证的本地主机服务器。完整的路由表(`/api/scan`、`/api/findings`、`/api/report`、`/api/settings`、`/api/rules`、`/api/logs`)以及 `/mcp` 处的 JSON-RPC。
## 🤖 REST API 示例
启用 MCP 后(设置 → AI / MCP → 应用),即可使用任何语言进行自动化扫描:
```
$port = 8765
$token = ""
$h = @{ Authorization = "Bearer $token" }
# 开始扫描
$body = @{ urls = @("https://example.com") } | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:$port/api/scan" `
-Method POST -Headers $h -Body $body -ContentType "application/json"
# 获取结果
Invoke-RestMethod -Uri "http://localhost:$port/api/findings" -Headers $h |
Format-Table severity, ruleId, keyName, value -AutoSize
```
或通过 Python:
```
import requests
h = {"Authorization": f"Bearer {TOKEN}"}
requests.post(f"http://localhost:{PORT}/api/scan", headers=h,
json={"urls": ["https://example.com"]})
findings = requests.get(f"http://localhost:{PORT}/api/findings", headers=h).json()
```
Claude Code 单行命令:
```
claude mcp add --transport http secretsifter-desktop \
http://localhost:/mcp \
--header "Authorization: Bearer "
```
## 截图
### 扫描仪表板 — 为每个发现提供 Burp 风格的详情/请求/响应面板

### 扫描结果 — 可排序/可过滤的发现表格,带严重性徽章

### HTML 报告 — 可过滤、可共享的交付物

### 设置 — 扫描器

### 设置 — 自定义规则(带“仅使用”原始模式开关)

### 设置 — AI / MCP 服务器

### 设置 — MITM 代理

### 实时日志 — 代理拦截、爬虫活动、扫描进度

## 📚 文档
- **[用户文档](https://htmlpreview.github.io/?https://github.com/secretsifter/secretsifter-desktop/blob/main/docs/SecretSifter_Desktop_User_Documentation_v1.7.6.html)** — 安装指南、每种工作流、严重性/置信度模型、分级指南、设置参考、REST API 快速入门、故障排除。
## ⚙️ 系统要求
- Windows 10/11 (x64)
- 约 500MB 磁盘空间(安装程序 + 内置 JRE + Chromium 回退)
- 无需管理员权限(按用户安装)
- 已内置 Java — 无需外部 JRE
- 推荐使用 Google Chrome 以获得最佳的 WAF 绕过覆盖;若无 Chrome,爬虫将回退到内置的 Chromium / 系统 Edge
## 🔨 从源代码构建
```
# 前提条件:JDK 17+ 与 jpackage,WiX Toolset 3.11+ 在 PATH 上
cd secretsifter-windows
.\gradlew.bat reinsertObfuscatedClasses # obfuscated fat JAR (~1m)
.\gradlew.bat buildAppImage # portable app folder (~2m)
.\gradlew.bat buildExeInstaller # full Windows EXE installer (~3m)
```
输出:
| 路径 | 产物 |
|---|---|
| `build/libs/secretsifter-.jar` | 混淆后的 fat JAR |
| `build/app-image-protected/SecretSifter/` | 便携文件夹 + JRE |
| `build/exe-installer/SecretSifter-.exe` | Windows 安装程序 |
## 🛡️ 仅限授权使用
SecretSifter 是一款安全研究和渗透测试工具。请**仅**对您拥有或已获得明确书面授权测试的系统使用它。未经授权扫描第三方系统可能违反美国的《计算机欺诈和滥用法案》、英国的《计算机滥用法》、欧盟的《关于打击信息系统攻击的指令》或同等的当地法律。作者和贡献者对滥用行为不承担任何责任。
## 📜 许可证
[MIT 许可证](LICENSE.txt) · 版权所有 © 2024–2026 Hemanth Gorijala。
桌面版捆绑了开源组件:Playwright for Java(Apache 2.0)、Bouncy Castle(MIT 风格)、org.json(JSON 许可证)、Chromium(BSD)、OpenJDK 21(GPLv2 + 类路径例外)、WiX Toolset(MS-RL,仅构建时使用)。
SecretSifter v1.7.7 · Windows 桌面版 · 作者:Hemanth Gorijala · MIT 许可证
标签:API响应分析, API密钥检测, GraphQL安全矩阵, HAR导入, HTML报告, JS文件枚举, MCP服务器, PII检测, Redis利用, REST API, Web安全, 令牌检测, 免费工具, 凭证泄露检测, 单页应用扫描, 后端开发, 安全扫描器, 实时扫描, 桌面应用, 浏览器爬虫, 特征检测, 独立应用, 网络安全, 蓝队分析, 请求头分析, 输入验证, 隐私保护