diff --git a/reme/core/memory_store/base_memory_store.py b/reme/core/memory_store/base_memory_store.py index ed8f59e7..3357e282 100644 --- a/reme/core/memory_store/base_memory_store.py +++ b/reme/core/memory_store/base_memory_store.py @@ -1,5 +1,6 @@ """Base storage interface for memory manager.""" +import re from abc import ABC, abstractmethod from ..embedding import BaseEmbeddingModel @@ -19,6 +20,13 @@ class BaseMemoryStore(ABC): **kwargs, ): """Initialize""" + # Validate store_name to prevent SQL injection + # Only allow alphanumeric characters and underscores + if not re.match(r"^[a-zA-Z0-9_]+$", store_name): + raise ValueError( + f"Invalid store_name: '{store_name}'. " + "Only alphanumeric characters and underscores are allowed." + ) self.store_name: str = store_name self.embedding_model: BaseEmbeddingModel = embedding_model self.fts_enabled: bool = fts_enabled