An AI-powered honeypot system that engages scammers in realistic conversations using a human persona, automatically extracts threat intelligence (UPI IDs, bank accounts, phone numbers, phishing URLs), detects scam patterns, and collects evidence for law enforcement.
Agentic AI Engagement - LLM-powered realistic persona (Rajesh Kumar, 67-year-old retired teacher)
Intelligence Extraction - Automatic extraction of UPI IDs, bank details, phone numbers, URLs
Scam Detection - Pattern-based detection of investment, lottery, phishing, and job scams
Threat Assessment - Real-time threat level calculation (0.0-1.0)
Evidence Collection - Structured storage of conversations and extracted intelligence
API Integration - RESTful API for external systems and law enforcement
- Backend: Spring Boot 3.2.2 (Java 17)
- LLM: Hugging Face API (Llama 3.3 70B Instruct)
- Security: Spring Security with API key validation
- Intelligence: Regex-based pattern extraction + keyword detection
- Build: Maven
- Java 17+
- Maven
- Hugging Face API key (get from https://huggingface.co/settings/tokens)
- Clone repository
git clone https://github.com/SahilKumar75/Varutri-Honeypot.git
cd Varutri-Honeypot- Configure API key in
src/main/resources/application.properties
llm.provider=huggingface
huggingface.api-key=YOUR_API_KEY_HERE- Build and run
mvn clean install
mvn spring-boot:runApplication starts on http://localhost:8080
Headers:
x-api-key: Your_api_key
Content-Type: application/json
Consumer-facing suspicious content analysis endpoint for mobile apps, browser extensions, and share flows.
First get a consumer bearer token:
POST /api/consumer/auth/token
{
"appId": "varutri-mobile",
"deviceId": "device-abc-123",
"platform": "ANDROID",
"appVersion": "1.0.0"
}Then call consumer endpoints using:
Authorization: Bearer <accessToken>
Example request:
{
"channel": "SMS",
"payload": {
"text": "You won 25 lakh. Send 5000 to claim now.",
"senderId": "+919876543210",
"url": "http://claim-prize-now.example"
},
"metadata": {
"platform": "ANDROID",
"sourceApp": "messages",
"locale": "en_IN"
}
}List recent consumer analyses.
Get detailed timeline and extracted indicators for one consumer session.
Return platform-aware channel automation limits and recommended flows.
Health check endpoint
Automatically detects:
- UPI IDs:
user@paytm,9876543210@ybl - Bank accounts with IFSC codes
- Phishing URLs
Deploy to AWS or Azure with $100 free credit: See AZURE_QUICKSTART.md for details.
- Flutter consumer shell: consumer_app/README.md
- Browser extension shell: consumer_extension/README.md
- Web command center: frontend/README.md
- HLD/LLD and flow architecture: CONSUMER_ARCHITECTURE.md
Already configured - push to GitHub and connect Render.
Key settings in application.properties:
llm.provider:huggingfaceorollamahuggingface.api-key: Your HF API keyvarutri.api-key: API key for requestsconsumer.cache.backend:MEMORY,REDIS, orHYBRIDspring.data.redis.*: Redis host/port/password/database for distributed cache modespring.data.redis.ssl.enabled: Toggle TLS for managed Redis providershackathon.callback-url: GUVI callback endpointvarutri.session.max-turns: Max conversation turns (default: 40)
- Set
CONSUMER_CACHE_BACKEND=REDIS(orHYBRIDfor local fallback mode). - Configure
REDIS_HOST,REDIS_PORT,REDIS_PASSWORD, and optionalREDIS_USERNAME. - For managed Redis over TLS set
REDIS_SSL_ENABLED=true. - Cache operation metrics are exported via actuator metric key:
varutri.consumer.cache.operations