rust-memo/caido-js-secret-hunter

GitHub: rust-memo/caido-js-secret-hunter

Caido 插件,通过后台扫描 HTTP 响应自动发现和分类 JavaScript 中的 secrets、credentials 和敏感端点,并提供专门的分类工作区和脱敏报告导出。

Stars: 0 | Forks: 0

# Caido 的 JS Secret Hunter 在 Caido HTTP 流量中专业地进行后台发现和分类 secrets、credentials、endpoints、identifiers 以及敏感配置。 ## 核心亮点 - 扫描现有的 HTTP History 并监控新的 response,且不会阻塞 Caido。 - 使用包含 41 条版本化规则的 detector pack,分析 JavaScript、source maps、HTML、JSON、XML 及其他文本 response。 - 将绝对 URL、根/点相对路由、遗留 action 资源和动态 template 路径提取到专用的 Endpoint Intelligence 工作区中。 - 对每个 response 的转义和 Base64 内容进行一次解码,将证据映射回源代码行,并从预览中编辑相邻的 credentials。 - 提供专用的 Dashboard、Findings、Sensitive Files、Assets、Rules、Reports 和 Settings 工作区。 - 使用服务端搜索、过滤器、排序、分页和有界队列,确保大型项目不会将完整数据集发送到 UI。 - 支持批量分类、持久化审查笔记、可逆的规则/主机排除、Replay 交接以及去重和脱敏的 Caido Findings。 - 导出经过净化的 HTML、JSON 和 CSV 报告。CSV 单元格受到保护,可防止电子表格公式注入。 - 可以在不清除现有项目结果的情况下分析一个已保存的 Caido Request ID。 ## 安全与隐私 - 原始匹配值是瞬态的,插件**不会持久化**它们。存储的结果包含掩码值、SHA-256 值哈希和脱敏的证据预览。 - 自动获取 asset **默认关闭**。启用后,每个 request 和重定向都必须保持在 Caido Scope 内。 - 转发 `Cookie` 和 `Authorization` 是独立的、明确的 opt-in 行为,并且仅限于完全同源的 request。 - 自动获取排除项可配置为有界的、不区分大小写的 URL 子字符串;捕获的 response 仍可用于本地分析。 - History、response 大小、递归深度、发现的 assets、保留的 findings 以及实时工作队列都是有界的。 - 保存 Settings 是非破坏性的。重建和清除操作是明确且经过确认的;匹配的审查状态和笔记在重建后会保留下来。 - 数据在每个 Caido 项目中都是隔离的。切换项目不会删除另一个项目的结果。 编码示例、公共 identifiers、测试 keys 和过期的 credentials 仍然可能产生误报。在报告之前,请手动验证 findings。 ## 安装说明 1. 从最新的 GitHub Release 下载 `plugin_package.zip`、`plugin_package.zip.sig` 和 `SHA256SUMS`。 2. 验证校验和与签名: sha256sum --check SHA256SUMS openssl pkeyutl -verify -pubin -inkey PUBLIC_KEY.pem \ -sigfile plugin_package.zip.sig -rawin -in plugin_package.zip 3. 在 Caido 中,打开 **Plugins**,选择 **Install Package**,然后选择 `plugin_package.zip`。 4. 从 Caido 侧边栏打开 **JS Secret Hunter**。 本仓库的验证密钥是 [PUBLIC_KEY.pem](PUBLIC_KEY.pem)。 ## 推荐的首次运行 1. 在 **Caido Scope** 中配置授权目标。 2. 打开插件并运行 **Scan History**。 3. 检查 **Sensitive Files**,然后在 **Findings** 中对各个候选项进行分类。 4. 添加审查笔记,将确认的候选项标记为已审查,并将干扰项归类为误报。 5. 仅当捕获的流量尚未包含所需的 dependencies 时,才启用自动获取 asset。 默认设置最多覆盖 5,000 条最近的 History 条目、每个 response 5 MiB、两个依赖级别、每个根目录 200 个 assets 以及 10,000 个保留的 findings。这些限制是可配置的。 ## 开发 要求: - Node.js 22 或更高版本 - pnpm 11.13.0 - 与 plugin SDK 0.57.1 兼容的 Caido 版本 ``` pnpm install --frozen-lockfile pnpm typecheck pnpm test:coverage pnpm lint pnpm knip pnpm audit --audit-level high pnpm build ``` 可安装的包生成在 `dist/plugin_package.zip`。贡献和发布期望记录在 [CONTRIBUTING.md](CONTRIBUTING.md) 中。 ## العربية 该插件在后台扫描旧的与新的 **HTTP History** 响应,随后将结果呈现在专业的界面中,包含摘要仪表板、Findings、Sensitive Files、Assets、Rules、Reports 以及 Settings。 原始机密值不会被保存;系统仅保留一个掩码值、SHA-256 哈希以及脱敏后的预览。默认情况下,自动获取 JavaScript 文件的功能处于关闭状态,且任何被触发的请求都必须保持在 **Caido Scope** 内。传递 `Cookie` 或 `Authorization` 需要单独授权,并且仅适用于完全相同的来源。 保存设置不会清除结果。仅在明确需要时使用 **Rebuild results** 或 **Clear results**,并在确认为真实泄露之前手动检查每一项结果。 ## License [MIT](LICENSE) © 2026 rust-memo 引用链接发现在概念上受到了 PortSwigger 基于 MIT 许可证的 [js-link-finder](https://github.com/portswigger/js-link-finder) 的启发。Caido 提取器是一个独立的 TypeScript 实现,具备更严格的噪声过滤、template-route 标准化、脱敏处理和有界处理。请参阅 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
标签:DLL注入, MITM代理, StruQ, Web安全测试, 安全审计插件, 敏感信息发现, 流量审计, 自动化攻击, 自动化漏洞扫描