🇰🇷 한글 설명
LangSmith SDK의 prompt pull 메서드가 공개 프롬프트를 조직 내부 프롬프트와 구분하지 않아 외부 공격자가 조작된 프롬프트 manifest를 주입할 수 있습니다. 이는 직렬화된 LangChain 객체와 모델 설정을 통해 런타임 동작을 변조할 수 있습니다.
💡 쉬운 설명
LangSmith SDK가 공개된 AI 프롬프트를 다운로드할 때 신뢰할 수 없는 코드가 포함될 수 있는 버그가 있었습니다. 악의적인 사용자가 AI 애플리케이션의 동작을 변조할 수 있었습니다.
🇺🇸 원문 (English)
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to LangSmith SDK Python 0.8.0 and JS/TS 0.6.0, the LangSmith SDK's prompt pull methods (pull_prompt / pull_prompt_commit in Python, pullPrompt / pullPromptCommit in JS/TS) fetch and deserialize prompt manifests from the LangSmith Hub. These manifests may contain serialized LangChain objects and model configuration that affect runtime behavior. When pulling a public prompt by owner/name identifier, the manifest content is controlled by an external party, but prior versions of the SDK did not distinguish this from pulling a prompt within the caller's own organization. This vulnerability is fixed in LangSmith SDK Python 0.8.0 and JS/TS 0.6.0.
📍 영향받는 시스템
LangSmith SDK Python <0.8.0, JavaScript/TypeScript <0.6.0
⚔️ 공격 벡터
공개 프롬프트를 owner/name 식별자로 pull할 때 외부 공격자가 조작된 manifest 제공
🛡️ 대응 방법
LangSmith SDK를 Python 0.8.0 이상, JS/TS 0.6.0 이상으로 업그레이드
🔧 검증 코드
Python은 Version이 0.8.0 이상, npm은 [email protected] 이상이면 패치된 버전입니다.
pip show langsmith | grep Version || npm list langsmith | grep langsmith