fix: AI bug fixes

- Fix confidence always showing 0% (use coordinator confidence)
- Simplify AI report prompt to prevent hallucinated subdomain names
- Update slogan to reflect AI-powered capabilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Vyntral
2025-11-21 16:06:07 +01:00
parent 7b611f6041
commit f0bda8cc44
4 changed files with 12 additions and 21 deletions

View File

@@ -18,8 +18,8 @@ func main() {
rootCmd := &cobra.Command{
Use: "god-eye -d <domain> [flags]",
Short: "Ultra-fast subdomain enumeration tool",
Long: `God's Eye - Ultra-fast subdomain enumeration & reconnaissance tool written in Go
Short: "AI-powered attack surface discovery & security analysis",
Long: `God's Eye - AI-powered attack surface discovery & security analysis tool written in Go
Examples:
god-eye -d example.com Basic scan with all features

View File

@@ -148,6 +148,9 @@ func (ao *AgentOrchestrator) Analyze(ctx context.Context, finding Finding) (*Age
result.Duration = time.Since(start)
result.Reasoning = reasoning
// Always use coordinator confidence (fast classification is more reliable than LLM output parsing)
result.Confidence = confidence
// Update stats
ao.updateStats(agentType, result.Confidence, result.Duration)

View File

@@ -227,27 +227,15 @@ Format: SEVERITY: finding`, truncate(summary, 4000))
// GenerateReport creates executive summary and recommendations
func (c *OllamaClient) GenerateReport(findings string, stats map[string]int) (string, error) {
prompt := fmt.Sprintf(`You are a security analyst. Create a brief security report from the scan data below.
prompt := fmt.Sprintf(`Security scan report. Stats: %d total, %d active, %d vulns, %d takeovers.
STATISTICS: %d subdomains scanned, %d active, %d vulnerabilities, %d takeovers
SCAN FINDINGS:
DATA:
%s
RULES:
- Use ONLY the subdomain names shown in SCAN FINDINGS above
- Do NOT invent or make up any subdomain names
- If no vulnerabilities found, say "No critical issues identified"
FORMAT:
## Summary
(2 sentences about what was found)
## Issues
(List each real subdomain with its actual issues, or "None" if clean)
## Actions
(1-3 specific recommendations)`,
Write a 3-line summary:
1. What was scanned (copy exact subdomain names from DATA)
2. Main security issues found (or "clean" if none)
3. Top recommendation`,
stats["total"], stats["active"], stats["vulns"], stats["takeovers"], truncate(findings, 3000))
response, err := c.query(c.DeepModel, prompt, 45*time.Second)

View File

@@ -50,7 +50,7 @@ func PrintBanner() {
fmt.Println(BoldWhite(" ╚██████╔╝╚██████╔╝██████╔╝") + BoldGreen("███████║") + BoldWhite(" ███████╗ ██║ ███████╗"))
fmt.Println(BoldWhite(" ╚═════╝ ╚═════╝ ╚═════╝ ") + BoldGreen("╚══════╝") + BoldWhite(" ╚══════╝ ╚═╝ ╚══════╝"))
fmt.Println()
fmt.Printf(" %s %s\n", BoldGreen("⚡"), Dim("Ultra-fast subdomain enumeration & reconnaissance"))
fmt.Printf(" %s %s\n", BoldGreen("⚡"), Dim("AI-powered attack surface discovery & security analysis"))
fmt.Printf(" %s %s %s %s %s %s\n",
Dim("Version:"), BoldGreen("0.1"),
Dim("By:"), White("github.com/Vyntral"),