파일 로드 중에 임의로 운영 체제 명령을 호출할 수 있는 Python 명령이 실행되지 않도록 Python 샌드박스를 구현했습니다. 기본 설정 > 스크립트에서 구성할 수 있습니다. 샌드박스는 기본적으로 활성화되어 다음 작업을 차단합니다.
프로젝트 파일에 포함된 Python 스크립트가 이러한 작업 중 하나를 처리하려고 하면 경고 대화상자가 표시됩니다. 그런 다음 작업을 수동으로 허용 또는 차단할 수 있습니다.
이 작업을 모든 이후 인스턴스에 적용이 선택되어 있는 경우 선택한 작업이 동일한 명령의 모든 후속 발생에 적용됩니다.
이 프로젝트에 대해 허용 작업을 선택하면 새 장면이 호출되거나 다른 프로젝트 파일이 로드될 때까지 작업을 허용합니다.
실행 안 함을 선택하면 작업이 차단되고 Python 예외가 발생합니다.
스크립트 기본 설정을 사용하여 Python 샌드박스를 활성화, 비활성화 또는 구성합니다.
Python 샌드박스 사용 - Python 샌드박스를 활성화 또는 비활성화할 때 사용합니다. 샌드박스를 비활성화한 경우 스크립트 실행에 제한이 없습니다. 이 옵션을 활성화한 경우 Python 스크립트에서 새 네트워크 연결을 만들고, Python 입출력 모듈을 통한 파일 시스템 액세스를 제공하고, 새 프로세스를 시작하는 것이 차단됩니다.
고급 검색 - 예외 구성에 사용합니다. 이 옵션을 활성화한 경우 VRED는 추가된 함수에 대해 허용되는 함수를 확인하고 추가된 모듈 예외에 대해 허용되는 모듈을 확인합니다.
socket
이 허용 목록에 추가되면 소켓 모듈에서 제공하는 모든 함수가 더 이상 차단되지 않습니다.
socket.getaddrinfo
가 허용되는 함수 목록에 추가되면 소켓 모듈에서 제공하는 함수 getaddrinfo
만 더 이상 차단되지 않습니다.
허용되는 모듈 예외는 Python 샌드박스에서 사용자 지정 Python 모듈을 제외하는 데 사용할 수도 있습니다.
기본 설정 외에도 명령행 옵션 및 환경 변수를 사용하여 샌드박스를 제어할 수도 있습니다.
-insecure_python
을 사용합니다.-force_secure_python
을 사용합니다.VRED_SECURE_PYTHON
을 설정합니다.