🇰🇷 한글 설명
dbt-mcp 1.17.1 미만 버전에서 DefaultUsageTracker.emit_tool_event() 함수가 MCP 도구 호출 시 인자 딕셔너리를 비식별화 없이 직렬화하여 전송하는 취약점이 발견되었습니다. 이 과정에서 SQL 쿼리, 변수, 노드 선택 정보 등 민감한 데이터가 포함된 상태로 텔레메트리 로그를 통해 외부로 유출될 수 있습니다.
💡 쉬운 설명
프로그램 사용 기록을 수집하는 과정에서 사용자가 입력한 중요한 SQL 명령어와 데이터 정보가 암호화나 가려짐 없이 그대로 외부 서버로 전송되는 문제입니다. 개인정보나 기업의 핵심 데이터가 의도치 않게 노출될 위험이 있습니다.
🇺🇸 원문 (English)
dbt-mcp is a Model Context Protocol server for interacting with dbt. Prior to 1.17.1, DefaultUsageTracker.emit_tool_called_event() in src/dbt_mcp/tracking/tracking.py serialized every MCP tool call's complete arguments dictionary and sent it through dbtlabs_vortex.producer.log_proto without redaction, including sql_query from show, vars from run, build, and test, and node_selection from compile, while usage_tracking_enabled in settings.py enabled telemetry by default unless DBT_SEND_ANONYMOUS_USAGE_STATS=false or DO_NOT_TRACK=1 was set. This issue is fixed in version 1.17.1.
📍 영향받는 시스템
dbt-mcp 1.17.1 미만 버전
⚔️ 공격 벡터
사용자가 설정한 환경 변수(DBT_SEND_ANONYMOUS_USAGE_STATS=false 또는 DO_NOT_TRACK=1)를 통해 텔레메트리를 비활성화하지 않은 경우 데이터가 유출됨
🛡️ 대응 방법
dbt-mcp를 최신 버전인 1.17.1 이상으로 업데이트하거나, 환경 변수를 설정하여 텔레메트리 전송을 차단하십시오.
🔧 검증 코드
출력된 버전 번호가 1.17.1보다 낮으면 취약한 버전이 설치된 상태입니다.
pip show dbt-mcp 2>/dev/null | grep Version