make bucket-scan wordlist opt-in (default off)

Discovery is now driven purely by incoming CT domains (stem + suffix
expansion); the hardcoded generic-name wordlist is only used when
BUCKET_SCAN_WORDLIST=true.
This commit is contained in:
StasonJatham committed 2026-09-22 16:04:47 +02:00
1 parent a899362e18
commit ebb020c6b7
4 files changed
+9 -1

No files matched your search

+1
View File
@@ -35,3 +35,4 @@ BUCKET_SCAN_QPS=50
BUCKET_SCAN_WORKERS=16
BUCKET_SCAN_QUEUE=65536
BUCKET_SCAN_DO=false
BUCKET_SCAN_WORDLIST=false
+1
View File
@@ -132,6 +132,7 @@ Environment variables only; no config files, no runtime pattern files.
| `BUCKET_SCAN_WORKERS` | `16` | discovery probe workers |
| `BUCKET_SCAN_QUEUE` | `65536` | sampled domain backlog |
| `BUCKET_SCAN_DO` | `false` | also test DigitalOcean Spaces regions |
| `BUCKET_SCAN_WORDLIST` | `false` | also test a built-in list of common generic names |
| `DEDUP_TTL` | `1h` | hostname/finding dedup window |
| `METRICS_ADDR` | `:9090` | metrics/health/UI listener |
| `UI_USER` / `UI_PASS` | *(unset)* | optional HTTP basic auth for the web UI |
+5 -1
View File
@@ -167,12 +167,16 @@ func run() error {
},
})
discoverer.Start(ctx)
wordlist := 0
if cfg.BucketScanWordlist {
for _, name := range discover.Wordlist() {
discoverer.SubmitName(name)
}
wordlist = len(discover.Wordlist())
}
slog.Info("bucket name discovery enabled", "event", "startup",
"qps", cfg.BucketScanQPS, "workers", cfg.BucketScanWorkers, "do_spaces", cfg.BucketScanDO,
"wordlist", len(discover.Wordlist()))
"wordlist", wordlist)
}
var prober *probe.Prober
+2
View File
@@ -44,6 +44,7 @@ type Config struct {
BucketScanWorkers int
BucketScanQueue int
BucketScanDO bool
BucketScanWordlist bool
MetricsAddr string
UIUser string
@@ -90,6 +91,7 @@ func Load() (*Config, error) {
BucketScanWorkers: envInt("BUCKET_SCAN_WORKERS", 16),
BucketScanQueue: envInt("BUCKET_SCAN_QUEUE", 65536),
BucketScanDO: envBool("BUCKET_SCAN_DO", false),
BucketScanWordlist: envBool("BUCKET_SCAN_WORDLIST", false),
MetricsAddr: envString("METRICS_ADDR", ":9090"),
UIUser: envString("UI_USER", ""),
UIPass: envString("UI_PASS", ""),