From 4d0d2d685f9ea9948a0a7ff6da376501291d45c7 Mon Sep 17 00:00:00 2001 From: Jorge Date: Wed, 2 Jul 2025 12:07:05 +0200 Subject: [PATCH] fix: Set parameter usedforsecurity=False when calling hashlib.md5 in order to fix rag_tool.insert on FIPS clusters (#2577) # What does this PR do? Set parameter `usedforsecurity=False` when calling hashlib.md5 in order to fix rag_tool.insert on FIPS clusters Closes #2571 --------- Signed-off-by: Jorge Garcia Oncins --- llama_stack/providers/utils/vector_io/chunk_utils.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/llama_stack/providers/utils/vector_io/chunk_utils.py b/llama_stack/providers/utils/vector_io/chunk_utils.py index 68cf11cad..2a939bfba 100644 --- a/llama_stack/providers/utils/vector_io/chunk_utils.py +++ b/llama_stack/providers/utils/vector_io/chunk_utils.py @@ -9,6 +9,11 @@ import uuid def generate_chunk_id(document_id: str, chunk_text: str) -> str: - """Generate a unique chunk ID using a hash of document ID and chunk text.""" + """ + Generate a unique chunk ID using a hash of the document ID and chunk text. + + Note: MD5 is used only to calculate an identifier, not for security purposes. + Adding usedforsecurity=False for compatibility with FIPS environments. + """ hash_input = f"{document_id}:{chunk_text}".encode() - return str(uuid.UUID(hashlib.md5(hash_input).hexdigest())) + return str(uuid.UUID(hashlib.md5(hash_input, usedforsecurity=False).hexdigest()))