[pyinstaller] 바이러스, 트로이 목마 문제 해결
2024. 2. 2. 20:00ㆍ개발로그/기타
반응형
pyinstaller를 사용하여 패키징 할 때, 멀웨어로 인식되는 문제를 해결한 방법을 정리 하였습니다.
문제
pyinstaller를 사용하여 python 프로그램을 패키징 할 때 아래와 같은 에러가 발생 하고 Windows Depender에서는 트로이목마 파일이 있다면서 에러를 출력 하였다.
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\build_main.py", line 1071, in main
build(specfile, distpath, workpath, clean_build)
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\build_main.py", line 1011, in build
exec(code, spec_namespace)
File "makeExeScript\0_pyinstaller.spec", line 21, in <module>
exe = EXE(pyz,
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\api.py", line 628, in __init__
self.__postinit__()
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\datastruct.py", line 184, in __postinit__
self.assemble()
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\api.py", line 741, in assemble
self._retry_operation(icon.CopyIcons, build_name, self.icon)
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\building\api.py", line 1003, in _retry_operation
return func(*args)
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\utils\win32\icon.py", line 209, in CopyIcons
return CopyIcons_FromIco(dstpath, [srcpath])
File "c:\Workspace\venv_phoenixon\lib\site-packages\PyInstaller\utils\win32\icon.py", line 143, in CopyIcons_FromIco
hdst = win32api.BeginUpdateResource(dstpath, 0)
File "c:\Workspace\venv_phoenixon\lib\site-packages\win32ctypes\pywin32\win32api.py", line 208, in BeginUpdateResource
with _pywin32error():
File "C:\Python310\lib\contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "c:\Workspace\venv_phoenixon\lib\site-packages\win32ctypes\pywin32\pywintypes.py", line 37, in pywin32error
raise error(exception.winerror, exception.function, exception.strerror)
win32ctypes.pywin32.pywintypes.error: (225, 'BeginUpdateResourceW', '파일에 바이러스 또는 기타 사용자 동의 없이 설치된 소프트웨어가 있기 때문에 작업이 완료되지 않았습니다.')
현재 환경
현재 사용 중인 Python 버전과 Pyinstaller 버전은 아래와 같다.
- python 3.10.11
- pyinstaller 6.3.0 사용
해결 방법
아래 참고 자료에 나온 글을 읽어 보니, PyInstaller가 생성한 파일을 Windows에서 말웨어로 잘못 보고 되는 문제가 있다고 한다. 스택오버플로우에서 글 처럼 pyinstaller 버전을 5.13.2로 다운그레이드 하니 문제가 해결 되었다.
아래 내용은 PyInstaller의 공식 입장이다.
이슈 #6062에서 PyInstaller 팀은 안티바이러스(AV) 보고서와 관련하여 공식 입장을 밝혔습니다. 이들은 PyInstaller가 생성한 파일을 말웨어로 잘못 보고하는 문제에 대해, AV 소프트웨어 제조사에게 직접 거짓 긍정(false positive)을 보고할 것을 권장합니다. 이 문제는 PyInstaller 도구 자체의 문제가 아니라, 안티바이러스 소프트웨어의 휴리스틱(heuristics) 방식 때문에 발생하는 것으로, PyInstaller는 이에 대해 직접적인 해결책을 제공하지 않습니다. 또한, 사용자들에게 자신의 컴파일러 체인이 감염되지 않았다는 것을 보증할 수 있는 방법도 제시합니다. 이러한 내용은 PyInstaller 커뮤니티와 사용자들에게 중요한 지침을 제공합니다.
참고 자료
반응형
'개발로그 > 기타' 카테고리의 다른 글
[윈도우]원격 데스크탑 오디오 설정 방법 (0) | 2023.06.08 |
---|---|
[Python] Exception 처리 시, 에러 코드 파일 위치 확인 하는 방법 (0) | 2023.05.22 |
[VNC 설정]Tiger VNC real screen 공유 (0) | 2023.05.19 |
pyocd "No available debug probes are connected" 문제 해결 (0) | 2022.10.03 |
[Windows]$WINDOWS.~BT, $WINDOWS.~WS, $WinREAgent 폴더 (0) | 2022.07.15 |