MLflow CrewAI autolog records LLM provider API keys into trace spans
MLflow CrewAI autologging records LLM provider API keys in logged trace spans
A GitHub security advisory discloses that MLflow's mlflow.crewai.autolog() writes CrewAI LLM provider API keys in plaintext into trace telemetry, affecting versions 2.19.0 and above and before 3.17.0, and fixed in 3.17.0. The advisory states that when autolog serializes an Agent's __dict__, it does not redact objects containing credentials such as llm and function_calling_llm, and there are two independent leak paths: span attributes and mlflow.spanInputs; in verification on MLflow 3.16.0 and CrewAI 1.15.18, a fake key appeared in 5 attribute positions across 2 spans. Anyone able to access the MLflow trace store or the OTLP destination can obtain the key and may abuse the corresponding provider account.
The advisory identifies two independent leak paths, span attributes and spanInputs; teams that have enabled CrewAI autolog can use this to check historical traces and rotate keys.