返回更新列表
已更新Jul 20, 2026

bbscope — 已更新!

HackerOne、Bugcrowd、Intigriti、YesWeHack 和 Immunefi 的范围聚合工具!

分享

bbscope.com

用于聚合来自 HackerOne、Bugcrowd、Intigriti 和 YesWeHack 的漏洞赏金计划范围的 Web 界面和 API。

快速开始 (Docker)

cd website
cp .env.example .env
# 编辑 .env — 至少设置 POSTGRES_PASSWORD 和你的平台凭证
docker compose up -d --build

站点将通过 https://yourdomain.com 访问(Caddy 通过 Let's Encrypt 自动处理 HTTPS)。

Cloudflare DNS 挑战

如果你的服务器位于 Cloudflare 之后(代理 DNS),标准的 HTTP ACME 挑战将无法工作。请改用 Cloudflare compose 文件,它会构建一个包含 Cloudflare DNS 插件的自定义 Caddy:

docker compose -f docker-compose.cloudflare.yml up -d --build

.env 中设置 CF_API_TOKEN。在 https://dash.cloudflare.com/profile/api-tokens 创建令牌,并赋予你的域名 Zone:DNS:Edit 权限。

本地开发

要求:Go 1.24+,以及一个运行的 PostgreSQL 实例。

DB_URL="postgres://postgres:yourpassword@localhost:5432/bbscope?sslmode=disable" \
  go run *.go serve --dev --poll-interval 0 --listen localhost:7001

--dev 标志启用仅 HTTP 模式(无 TLS)。--poll-interval 0 禁用后台轮询,因此你不需要平台凭证。

服务命令标志

标志默认值描述
--dev, -dfalse开发模式(HTTP,无 TLS)
--poll-interval6轮询周期间隔小时数(0 表示禁用)
--listen:8080HTTP 监听地址
--domainbbscope.com站点地图/robots.txt 的域名

数据库连接从环境变量 DB_URL~/.bbscope.yaml 中的 db_url 读取。

配置

平台凭证

所有平台凭证均为可选。未配置的平台在轮询期间将被跳过。

平台环境变量备注
HackerOneH1_USERNAME, H1_TOKENAPI 令牌
BugcrowdBC_EMAIL, BC_PASSWORD, BC_OTP或设置 BC_PUBLIC_ONLY=1 仅限公开项目
IntigritiIT_TOKENBearer 令牌
YesWeHackYWH_EMAIL, YWH_PASSWORD, YWH_OTP邮箱 + 密码 + OTP

AI 标准化(可选)

设置 OPENAI_API_KEY 和可选的 OPENAI_MODEL(默认为 gpt-4.1-mini)以启用基于 AI 的范围目标标准化。每个目标会缓存以减少 API 调用。

基本认证(可选)

要使用 HTTP 基本认证保护站点:

  1. 生成密码哈希:

    docker run --rm caddy:2-alpine caddy hash-password --plaintext 'yourpassword'
    
  2. 将示例配置复制到 conf.d/

    cp basicauth.caddy.example conf.d/basicauth.caddy
    
  3. 编辑 conf.d/basicauth.caddy 并添加你的用户名和哈希:

    basic_auth {
        myuser $2a$14$hashgoeshere...
    }
    
  4. 重启 Caddy:docker compose restart caddy

要禁用,删除 conf.d/basicauth.caddy 并重启。

架构

caddy (ports 80/443) → bbscope-web (:8080) → postgres
  • Caddy 处理 TLS 终止和反向代理。conf.d/*.caddy 中的额外配置片段会被自动导入。
  • bbscope-web 提供站点服务并运行后台轮询器。
  • PostgreSQL 存储项目、目标和范围变更历史。启动时会自动迁移模式。

API

站点提供了一个公开的 API:

端点描述
GET /api/v1/programs列出所有项目
GET /api/v1/programs/{platform}/{handle}单个项目详情
GET /api/v1/targets/{type}按类型的目标:wildcardsdomainsurlsipscidrs

查询参数:scope(in/out/both)、platformtyperaw(跳过 AI)、format(json/text)。

默认输出为换行分隔的文本;添加 format=json 以获取 JSON。响应会缓存 5 分钟。

分类