skincare_agent / utils /security.py
V-k-11
fix: move all code to root level
6880a04
Raw
History Blame Contribute Delete
843 Bytes
from jsonschema import validate, ValidationError
from loguru import logger
A2A_SCHEMA = {
"type": "object",
"required": ["sender_agent", "payload", "timestamp"],
"properties": {
"sender_agent": {"enum": ["input_guard", "skin_analysis", "rag_retrieval",
"ingredient_safety", "reasoning", "output_validation"]},
"payload": {"type": "object"},
"timestamp": {"type": "string"}
},
"additionalProperties": False
}
def validate_agent_message(msg: dict) -> dict:
"""Validate all inter-agent A2A messages against schema."""
try:
validate(instance=msg, schema=A2A_SCHEMA)
return msg
except ValidationError as e:
logger.error(f"A2A injection attempt blocked: {e.message}")
raise ValueError(f"Invalid agent message: {e.message}")