hope / router.py
Cunt1257's picture
Upload 11 files
a67fbf4 verified
Raw
History Blame Contribute Delete
1.44 kB
from src.agents.base import BaseAgent
from src.config.security import SecurityConfig
import json
class RouterAgent(BaseAgent):
def __init__(self):
super().__init__()
self.security = SecurityConfig()
async def execute(self, request, reply=None):
"""
Route requests and apply security checks.
request should have: url, ip, method, body
"""
# Check honeypots
if self.security.is_honeypot(request.get('url', '')):
print(f"🚨 HONEYPOT HIT: {request.get('ip', 'unknown')}")
# Log to security_events.log
with open('data/security_events.log', 'a') as f:
f.write(f"HONEYPOT HIT: {request.get('ip', 'unknown')} - {request.get('url', '')}
")
return {"error": "Not found"}, 404
# Check for blocked patterns in body
body = request.get('body', {})
if isinstance(body, dict):
body_str = json.dumps(body)
else:
body_str = str(body)
if self.security.is_blocked(body_str):
print(f"🚨 BLOCKED REQUEST: {request.get('ip', 'unknown')}")
with open('data/security_events.log', 'a') as f:
f.write(f"BLOCKED REQUEST: {request.get('ip', 'unknown')} - {body_str[:100]}
")
return {"error": "Request blocked"}, 403
return {"status": "routed", "url": request.get('url')}