업데이트로 돌아가기
UpdatedJul 20, 2026

bbscope — Updated!

HackerOne, Bugcrowd, Intigriti, YesWeHack, Immunefi를 위한 범위 집계 도구!

공유

bbscope.com

HackerOne, Bugcrowd, Intigriti 및 YesWeHack의 버그 바운티 프로그램 범위를 집계하기 위한 웹 인터페이스 및 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 DNS 플러그인이 포함된 사용자 지정 Caddy를 빌드하는 Cloudflare compose 파일을 사용하세요.

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

.envCF_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은 백그라운드 폴링을 비활성화하므로 플랫폼 인증 정보가 필요하지 않습니다.

Serve 명령 플래그

플래그기본값설명
--dev, -dfalse개발 모드 (HTTP, TLS 없음)
--poll-interval6폴링 주기 간격 (시간 단위, 0은 비활성화)
--listen:8080HTTP 수신 주소
--domainbbscope.com사이트맵/robots.txt용 도메인

데이터베이스 연결은 DB_URL 환경 변수 또는 ~/.bbscope.yamldb_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}유형별 대상: wildcards, domains, urls, ips, cidrs

쿼리 매개변수: scope (in/out/both), platform, type, raw (AI 건너뛰기), format (json/text).

기본 출력은 줄바꿈으로 구분된 텍스트입니다. JSON을 원하면 format=json을 추가하세요. 응답은 5분 동안 캐시됩니다.

카테고리