mirror of
https://github.com/Vyntral/god-eye.git
synced 2026-02-12 16:52:45 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"),
|
||||
|
||||
Reference in New Issue
Block a user