feat(12-04): wire all 10 Phase 12 sources into RegisterAll + cmd/recon.go credentials
- Add 8 Phase 12 credential fields to SourcesConfig (Shodan, Censys, ZoomEye, FOFA, Netlas, BinaryEdge) - Register all 10 Phase 12 sources in RegisterAll (6 IoT + 4 cloud storage) - Wire env/viper credential lookup in cmd/recon.go buildReconEngine - Update reconCmd Long description to mention Phase 12 sources
This commit is contained in:
@@ -39,14 +39,25 @@ type SourcesConfig struct {
|
||||
// Brave Search API subscription token.
|
||||
BraveAPIKey string
|
||||
|
||||
// Phase 12: IoT scanner API keys.
|
||||
ShodanAPIKey string
|
||||
CensysAPIId string
|
||||
CensysAPISecret string
|
||||
ZoomEyeAPIKey string
|
||||
FOFAEmail string
|
||||
FOFAAPIKey string
|
||||
NetlasAPIKey string
|
||||
BinaryEdgeAPIKey string
|
||||
|
||||
// Registry drives query generation for every source via BuildQueries.
|
||||
Registry *providers.Registry
|
||||
// Limiters is the shared per-source rate-limiter registry.
|
||||
Limiters *recon.LimiterRegistry
|
||||
}
|
||||
|
||||
// RegisterAll registers every Phase 10 code-hosting and Phase 11 search
|
||||
// engine / paste site source on engine (18 sources total).
|
||||
// RegisterAll registers every Phase 10 code-hosting, Phase 11 search engine /
|
||||
// paste site, and Phase 12 IoT scanner / cloud storage source on engine
|
||||
// (28 sources total).
|
||||
//
|
||||
// All sources are registered unconditionally so that cmd/recon.go can surface
|
||||
// the full catalog via `keyhunter recon list` regardless of which credentials
|
||||
@@ -149,4 +160,56 @@ func RegisterAll(engine *recon.Engine, cfg SourcesConfig) {
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
|
||||
// Phase 12: IoT scanner sources.
|
||||
engine.Register(&ShodanSource{
|
||||
APIKey: cfg.ShodanAPIKey,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&CensysSource{
|
||||
APIId: cfg.CensysAPIId,
|
||||
APISecret: cfg.CensysAPISecret,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&ZoomEyeSource{
|
||||
APIKey: cfg.ZoomEyeAPIKey,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&FOFASource{
|
||||
Email: cfg.FOFAEmail,
|
||||
APIKey: cfg.FOFAAPIKey,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&NetlasSource{
|
||||
APIKey: cfg.NetlasAPIKey,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&BinaryEdgeSource{
|
||||
APIKey: cfg.BinaryEdgeAPIKey,
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
|
||||
// Phase 12: Cloud storage sources (credentialless).
|
||||
engine.Register(&S3Scanner{
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&GCSScanner{
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&AzureBlobScanner{
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
engine.Register(&DOSpacesScanner{
|
||||
Registry: reg,
|
||||
Limiters: lim,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user