Skip to content

Commit 95e5725

Browse files
spidering
1 parent 13c9dad commit 95e5725

12 files changed

Lines changed: 4006 additions & 16 deletions

File tree

cmd/root.go

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,19 @@ func GetLogger() *logger.Logger {
172172
func runIntelligentDiscovery(target string) error {
173173
log.Infow("Starting intelligent discovery", "target", target)
174174

175-
// Create discovery engine
175+
// Create discovery engine with enhanced features
176176
discoveryConfig := discovery.DefaultDiscoveryConfig()
177-
discoveryEngine := discovery.NewEngine(discoveryConfig, log.WithComponent("discovery"))
177+
discoveryConfig.MaxDepth = 5
178+
discoveryConfig.MaxAssets = 10000
179+
discoveryConfig.EnableDNS = true
180+
discoveryConfig.EnableCertLog = true
181+
discoveryConfig.EnableSearch = true
182+
discoveryConfig.EnablePortScan = true
183+
discoveryConfig.EnableWebCrawl = true
184+
discoveryConfig.EnableTechStack = true
185+
discoveryConfig.Timeout = 60 * time.Minute
186+
187+
discoveryEngine := discovery.NewEngineWithConfig(discoveryConfig, log.WithComponent("discovery"), cfg)
178188

179189
// Start discovery
180190
session, err := discoveryEngine.StartDiscovery(target)
@@ -2278,16 +2288,17 @@ func runMainDiscovery(cmd *cobra.Command, args []string, log *logger.Logger, db
22782288
// Start comprehensive discovery
22792289
fmt.Println("🔍 Starting comprehensive asset discovery and scanning...")
22802290

2281-
// Create discovery config
2291+
// Create discovery config with all features enabled
22822292
discoveryConfig := discovery.DefaultDiscoveryConfig()
2283-
discoveryConfig.MaxDepth = 3
2284-
discoveryConfig.MaxAssets = 1000
2293+
discoveryConfig.MaxDepth = 5 // Increased for recursive discovery
2294+
discoveryConfig.MaxAssets = 10000 // Increased for comprehensive spidering
22852295
discoveryConfig.EnableDNS = true
22862296
discoveryConfig.EnableCertLog = true
2287-
discoveryConfig.EnableSearch = true
2297+
discoveryConfig.EnableSearch = true // Search engines enabled
22882298
discoveryConfig.EnablePortScan = true
2289-
discoveryConfig.EnableWebCrawl = true
2299+
discoveryConfig.EnableWebCrawl = true // Web spidering enabled
22902300
discoveryConfig.EnableTechStack = true
2301+
discoveryConfig.Timeout = 60 * time.Minute // Increased timeout for thorough discovery
22912302

22922303
// Create scope validator if we have programs configured
22932304
var scopeValidator *discovery.ScopeValidator
@@ -2298,9 +2309,12 @@ func runMainDiscovery(cmd *cobra.Command, args []string, log *logger.Logger, db
22982309
fmt.Printf("⚠️ Scope validation disabled - all discovered assets will be processed\n\n")
22992310
}
23002311

2301-
// Initialize discovery engine with scope validation
2312+
// Initialize discovery engine with enhanced discovery and scope validation
23022313
engine := discovery.NewEngineWithScopeValidator(discoveryConfig, log, scopeValidator)
23032314

2315+
// Register enhanced discovery module
2316+
engine.RegisterModule(discovery.NewEnhancedDiscovery(discoveryConfig, log, cfg))
2317+
23042318
// Start discovery with the target
23052319
session, err := engine.StartDiscovery(target)
23062320
if err != nil {

internal/config/config.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@ import (
55
)
66

77
type Config struct {
8-
Logger LoggerConfig `mapstructure:"logger"`
9-
Database DatabaseConfig `mapstructure:"database"`
10-
Redis RedisConfig `mapstructure:"redis"`
11-
Worker WorkerConfig `mapstructure:"worker"`
12-
Telemetry TelemetryConfig `mapstructure:"telemetry"`
13-
Security SecurityConfig `mapstructure:"security"`
14-
Tools ToolsConfig `mapstructure:"tools"`
8+
Logger LoggerConfig `mapstructure:"logger"`
9+
Database DatabaseConfig `mapstructure:"database"`
10+
Redis RedisConfig `mapstructure:"redis"`
11+
Worker WorkerConfig `mapstructure:"worker"`
12+
Telemetry TelemetryConfig `mapstructure:"telemetry"`
13+
Security SecurityConfig `mapstructure:"security"`
14+
Tools ToolsConfig `mapstructure:"tools"`
15+
ShodanAPIKey string `mapstructure:"shodan_api_key"`
16+
CensysAPIKey string `mapstructure:"censys_api_key"`
17+
CensysSecret string `mapstructure:"censys_secret"`
1518
}
1619

1720
type LoggerConfig struct {

internal/discovery/engine.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@ func NewEngine(discoveryConfig *DiscoveryConfig, structLog *logger.Logger) *Engi
4040
return NewEngineWithScopeValidator(discoveryConfig, structLog, nil)
4141
}
4242

43+
// NewEngineWithConfig creates a new discovery engine with full config
44+
func NewEngineWithConfig(discoveryConfig *DiscoveryConfig, structLog *logger.Logger, cfg *config.Config) *Engine {
45+
engine := NewEngineWithScopeValidator(discoveryConfig, structLog, nil)
46+
47+
// Register enhanced discovery module with config
48+
engine.RegisterModule(NewEnhancedDiscovery(discoveryConfig, structLog, cfg))
49+
50+
return engine
51+
}
52+
4353
// NewEngineWithScopeValidator creates a new discovery engine with scope validation
4454
func NewEngineWithScopeValidator(discoveryConfig *DiscoveryConfig, structLog *logger.Logger, scopeValidator *ScopeValidator) *Engine {
4555
if discoveryConfig == nil {
@@ -69,7 +79,7 @@ func NewEngineWithScopeValidator(discoveryConfig *DiscoveryConfig, structLog *lo
6979
}
7080

7181
// Register default modules
72-
// Context-aware discovery runs first with highest priority
82+
// Context-aware discovery
7383
engine.RegisterModule(NewContextAwareDiscovery(discoveryConfig, structLog))
7484
engine.RegisterModule(NewDomainDiscovery(discoveryConfig, structLog))
7585
engine.RegisterModule(NewNetworkDiscovery(discoveryConfig, structLog))

0 commit comments

Comments
 (0)