
HackerOne、Bugcrowd、Intigriti、YesWeHack、Immunefi向けのスコープ集約ツール!
WebインターフェースおよびAPI。HackerOne、Bugcrowd、Intigriti、YesWeHackのバグバウンティプログラムスコープを集約します。
cd website
cp .env.example .env
# Edit .env — at minimum set POSTGRES_PASSWORD and your platform credentials
docker compose up -d --build
サイトは https://yourdomain.com で利用可能になります(CaddyがLet's Encrypt経由でHTTPSを自動処理します)。
サーバーが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 はバックグラウンドポーリングを無効にするため、プラットフォームの認証情報は不要です。
データベース接続は環境変数 DB_URL または ~/.bbscope.yaml の db_url から読み取られます。
すべてのプラットフォーム認証情報はオプションです。設定されていないプラットフォームはポーリング時に単にスキップされます。
OPENAI_API_KEY とオプションで OPENAI_MODEL(デフォルトは gpt-4.1-mini)を設定すると、AIベースのスコープターゲット正規化が有効になります。ターゲットごとにキャッシュされ、API呼び出しを最小限に抑えます。
HTTP Basic認証でサイトを保護するには:
パスワードハッシュを生成:
docker run --rm caddy:2-alpine caddy hash-password --plaintext 'yourpassword'
サンプル設定を conf.d/ にコピー:
cp basicauth.caddy.example conf.d/basicauth.caddy
conf.d/basicauth.caddy を編集し、ユーザー名とハッシュを追加:
basic_auth {
myuser $2a$14$hashgoeshere...
}
Caddyを再起動: docker compose restart caddy
無効にするには、conf.d/basicauth.caddy を削除して再起動します。
caddy (ports 80/443) → bbscope-web (:8080) → postgres
conf.d/*.caddy 内の追加設定フラグメントは自動インポートされます。サイトは公開APIを公開しています:
クエリパラメータ: scope (in/out/both), platform, type, raw (AIスキップ), format (json/text)。
デフォルトの出力は改行区切りのテキストです。JSONの場合は format=json を追加してください。レスポンスは5分間キャッシュされます。
| フラグ | デフォルト | 説明 |
|---|
--dev, -d | false | 開発モード(HTTP、TLSなし) |
--poll-interval | 6 | ポーリングサイクル間の時間(0で無効) |
--listen | :8080 | HTTPリッスンアドレス |
--domain | bbscope.com | サイトマップ/robots.txt用のドメイン |
| プラットフォーム | 環境変数 | 備考 |
|---|
| HackerOne | H1_USERNAME, H1_TOKEN | APIトークン |
| Bugcrowd | BC_EMAIL, BC_PASSWORD, BC_OTP | またはパブリックプログラムのみの場合は BC_PUBLIC_ONLY=1 を設定 |
| Intigriti | IT_TOKEN | ベアラートークン |
| YesWeHack | YWH_EMAIL, YWH_PASSWORD, YWH_OTP | メール + パスワード + OTP |
| エンドポイント | 説明 |
|---|
GET /api/v1/programs | すべてのプログラムを一覧表示 |
GET /api/v1/programs/{platform}/{handle} | 単一プログラムの詳細 |
GET /api/v1/targets/{type} | タイプ別ターゲット: wildcards, domains, urls, ips, cidrs |