🇰🇷 한글 설명
MLflow 2.19.0부터 3.17.0 이전 버전의 mlflow.crewai.autolog()는 CrewAI Agent 객체를 기록할 때 중첩된 자격 증명 값을 일관되게 정제하지 않습니다. 이로 인해 LLM 제공자의 API 키가 평문으로 MLflow 트레이스 백엔드나 OTLP 대상에 저장되어 트레이스 조회 권한이 있는 사용자에게 노출될 수 있습니다.
💡 쉬운 설명
AI 에이전트 작업 기록을 저장하는 도구가 AI 서비스 접속 열쇠(API 키)를 비밀번호 가리기 없이 그대로 기록합니다. 기록을 볼 수 있는 사람은 이 열쇠를 가져갈 수 있습니다.
🇺🇸 원문 (English)
MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 2.19.0 until 3.17.0, mlflow.crewai.autolog() records CrewAI Agent objects without consistently sanitizing nested credential-bearing values. mlflow/crewai/autolog.py::_get_agent_attributes() converts the Agent llm field to a string that includes the provider API key, while mlflow/crewai/autolog.py::_construct_full_inputs() expands the Agent object into mlflow.spanInputs. Applications can therefore send plaintext provider credentials to the MLflow trace backend or a configured OTLP destination, where trace readers can obtain them. This issue is fixed in version 3.17.0.
📍 영향받는 시스템
MLflow 2.19.0 이상 3.17.0 미만 버전 (mlflow.crewai.autolog 사용 환경)
⚔️ 공격 벡터
트레이스 데이터를 조회할 수 있는 권한을 가진 사용자나 OTLP 대상에 접근 가능한 주체가 저장된 트레이스에서 평문 API 키를 획득
🛡️ 대응 방법
MLflow를 3.17.0 이상으로 업그레이드하고, 노출이 의심되는 LLM 제공자 API 키는 즉시 폐기 후 재발급
🔧 검증 코드
출력된 버전이 2.19.0 이상 3.17.0 미만이면 취약하며, 3.17.0 이상이면 수정된 버전입니다.
pip show mlflow 2>/dev/null | grep -i '^version'