V3locidad/h1-caido
GitHub: V3locidad/h1-caido
H1Caido 是一款 Caido 插件,可将 HackerOne 漏洞赏金项目的测试范围和奖励信息直接导入 Caido 代理平台,帮助赏金猎人高效管理测试目标。
Stars: 0 | Forks: 0
# H1Caido
一个 [Caido](https://caido.io) 插件,可以获取**你的 HackerOne 漏洞赏金项目**,并将其范围直接导入到 Caido 中——这是 [YesWeCaido](https://github.com/yeswehack/yeswecaido) 的 HackerOne 对应版本。
## 功能
- 🔑 使用你的 **HackerOne API token** 连接(Basic auth — token 标识符 + 值)
- 📋 列出你的账户可以访问的每个项目(公开 + 私密邀请)
- 🔍 按名称/handle 过滤,或仅显示提供赏金的项目
- 🎯 一键将**项目范围**(URL / 通配符 / 域名 / IP 资产)导入到专用的 Caido scope (`h1:`) 中
- 🪪 可选地为每个项目添加标识性的 **User-Agent** Match & Replace 规则
- 💾 **按需**加载结构化 scope,以遵守 HackerOne 50 次请求/分钟的速率限制
- 🔒 凭据保存在浏览器的 local storage 中,并且仅发送给 `api.hackerone.com`
## 获取 API token
前往 **https://hackerone.com/settings/api_token/edit** 生成一个(需要 HackerOne
Community/Pro 账户)。token 标识符是“用户名”,token 值是“密码”。
## 开发
```
pnpm install
pnpm build # produces dist/plugin_package.zip
pnpm watch # rebuild on change
pnpm typecheck # type-check all packages
```
在 Caido 中通过 **Settings → Plugins → Install package** 加载构建好的 `dist/plugin_package.zip`。
## 架构
Monorepo(pnpm workspaces),镜像了 YesWeCaido 的布局:
| Package | 作用 |
|---------|------|
| `packages/common` | 用于 HackerOne JSON:API 响应的共享 zod 解析器 + 插件 API/事件契约 |
| `packages/backend` | 在 Caido 的 backend runtime 中运行 — 与 `api.hackerone.com` 通信(无 CORS),通过事件流将项目/scope 传输到 frontend |
| `packages/frontend` | Vue 3 UI — 凭据表单、项目列表、scope 导入按钮 |
### 使用的 HackerOne endpoint
| Endpoint | 用途 |
|----------|---------|
| `GET /v1/hackers/programs` | 列出可访问的项目(通过 `links.next` 分页) |
| `GET /v1/hackers/programs/{handle}/structured_scopes` | 项目的结构化 scope(速率限制:50次/分钟) |
## 与 YesWeCaido 的对比说明
- HackerOne 使用**带有专用 API token 的 HTTP Basic auth**,而不是从 local storage 中提取的 JWT — 更加健壮且可撤销。
- 响应是 **JSON:API** (`data[].attributes`) 格式,而不是扁平的 schema。
- HackerOne **不**公开每个项目的自定义 User-Agent,因此 UA 规则由项目 handle 构建。
## 许可证
MIT
标签:Caido插件, HackerOne, Vue3, Web安全, 自动化攻击, 蓝队分析