🇰🇷 한글 설명
picklescan 1.0.3 이전 버전의 scan_pytorch 함수에는 __reduce__ 트릭을 이용한 동적 eval로 악성 매직 넘버를 삽입하여 스캐닝을 우회할 수 있는 취약점이 있습니다. 공격자는 picklescan 탐지를 회피하면서도 실행 가능한 악성 PyTorch 페이로드를 제작할 수 있으며, 이를 torch.load()로 로드하면 임의 코드가 실행될 수 있습니다.
💡 쉬운 설명
악성 AI 모델 파일을 검사하는 보안 도구가 특정 기법으로 속여져 위험한 파일을 놓칠 수 있습니다. 이 파일을 열면 공격자가 컴퓨터를 제어할 수 있습니다.
🇺🇸 원문 (English)
picklescan before 1.0.3 contains a scanning bypass vulnerability in the scan_pytorch function that allows attackers to embed malicious magic numbers via dynamic eval using the __reduce__ trick. Attackers can craft malicious PyTorch payloads that evade picklescan detection while remaining executable, enabling arbitrary code execution when loaded with torch.load().
📍 영향받는 시스템
picklescan 1.0.3 미만 버전을 사용하는 PyTorch 모델 검사 환경
⚔️ 공격 벡터
__reduce__ 기법으로 동적 eval을 삽입한 악성 PyTorch 모델 파일을 제작해 사용자가 torch.load()로 로드하도록 유도
🛡️ 대응 방법
picklescan을 1.0.3 이상으로 업그레이드하고 신뢰할 수 없는 모델 파일 로드를 피하십시오
🔧 검증 코드
출력된 Version 값이 1.0.3 미만이면 취약한 버전이므로 1.0.3 이상으로 업그레이드가 필요하고, 1.0.3 이상이면 패치된 상태입니다.
pip show picklescan 2>/dev/null | grep -i version