How sadvik-asus/self-evolving-ai-honeypot works
The product is an AI-driven SSH honeypot with a web dashboard. Attackers connect over SSH, are accepted into a simulated shell, and receive AI-generated command output; connection and interaction records support the dashboard and persona evolution. The browser dashboard also offers a demo terminal and an evolution trigger. The README documents these capabilities; sampled source confirms the main handlers and calls, while some database lifecycle details and dashboard markup were not sampled.
Main entry points: web_app.py Web API · server.py SSH Server · ai_engine.py AI Engine · db.py SQLite Store
Components 14
Access Surfaces
- SSH Server
backend/ssh/server.py - Web API
backend/api/web_app.py
Honeypot Simulation
- AI Engine
backend/core/ai_engine.py - Persona Prompt
data/persona.txt - Evolution Engine
backend/core/evolution.py
Threat Intelligence
- GeoIP Lookup
backend/core/geoip.py - SQLite Store
backend/core/db.py
Dashboard
- Dashboard Client
frontend/static/app.js - Dashboard Page
frontend/templates/index.html
Other components
- SSH Attacker
- Dashboard User
- Google Gemini
- IP Geolocation Service
- CARTO Map Tiles
Connections 21
- SSH Attacker → SSH Server: connects via SSH
- SSH Server → GeoIP Lookup: looks up location
- GeoIP Lookup → IP Geolocation Service: requests IP data
- SSH Server → SQLite Store: logs connection
- SSH Server → AI Engine: requests command output
- AI Engine → Persona Prompt: reads prompt
- AI Engine → Google Gemini: sends command context
- Google Gemini → AI Engine: returns generated output
- SSH Server → SQLite Store: logs interaction
- Dashboard User → Dashboard Client: uses dashboard
- Dashboard Client → Web API: calls dashboard APIs
- Dashboard Page → Dashboard Client: loads client
- Dashboard Client → CARTO Map Tiles: loads map tiles
- Web API → SQLite Store: queries and logs
- SQLite Store → Web API: returns dashboard records
- Web API → AI Engine: requests terminal output
- Web API → Evolution Engine: triggers evolution
- Evolution Engine → SQLite Store: reads recent commands
- Evolution Engine → Google Gemini: generates updated persona
- Evolution Engine → Persona Prompt: writes updated prompt
- Web API → Persona Prompt: reads current prompt