From dd42b7fa956ffec6c6006b8b7be443d9857afcdd Mon Sep 17 00:00:00 2001 From: Sameer6305 Date: Fri, 7 Aug 2026 12:11:48 +0530 Subject: [PATCH] fix(milvus): add backward compatibility alias and sanitize query - Added insert_vectors alias to add_vectors for backward compatibility. - Sanitized vector_id in get_vector and get_metadata to prevent query injection. --- semantica/vector_store/milvus_store.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/semantica/vector_store/milvus_store.py b/semantica/vector_store/milvus_store.py index af88567b..f188df3f 100644 --- a/semantica/vector_store/milvus_store.py +++ b/semantica/vector_store/milvus_store.py @@ -399,6 +399,10 @@ class MilvusStore: except Exception as e: raise ProcessingError(f"Failed to get collection: {str(e)}") + def insert_vectors(self, vectors: List[Union[np.ndarray, List[float]]], **options) -> Any: + """Backward compatibility alias for add_vectors.""" + return self.add_vectors(vectors, **options) + def add_vectors( self, vectors: List[Union[np.ndarray, List[float]]], @@ -544,8 +548,9 @@ class MilvusStore: return None try: + safe_id = vector_id.replace('"', '\\"') res = self.collection.collection.query( - expr=f'id == "{vector_id}"', + expr=f'id == "{safe_id}"', output_fields=["vector"] ) if res and len(res) > 0: @@ -560,8 +565,9 @@ class MilvusStore: return None try: + safe_id = vector_id.replace('"', '\\"') res = self.collection.collection.query( - expr=f'id == "{vector_id}"', + expr=f'id == "{safe_id}"', output_fields=["metadata"] ) if res and len(res) > 0: