샌드박스
1분 미만
샌드박스
되는 사용 시나리오에서 SubQuery 노드는 일반적으로 신뢰할 수 있는 호스트에 의해 실행되며, 사용자가 노드에 제출한 SubQuery 프로젝트의 코드는 완전히 신뢰할 수 있는 것은 아닙니다.
일부 악의적인 코드는 호스트를 공격하거나 침해할 수 있으며 같은 호스트 내 다른 프로젝트의 데이터에 손상을 줄 수 있습니다. 따라서, 위험을 줄이기 위해 VM2 샌드박스 보안 메커니즘을 사용합니다. 이는:
신뢰할 수 없는 코드를 격리된 콘텍스트에서 안전하게 실행하고 악의적인 코드는 공개된 인터페이스를 통해 샌드박스에 주입하지 않는 한 호스트의 네트워크와 파일 시스템에 접근하지 않습니다.
샌드박스 간에 메소드를 안전하게 호출하여 데이터와 콜백을 교환합니다.
많은 기존의 공격방법에 면역이 있습니다.
제한 사항
특정 임베디드 모듈에 대한 액세스를 제한하기 위해
assert
,buffer
,crypto
,util
와path
만이 화이트 리스트에 표시됩니다.저희는 ESM 를 디폴트로서 사용하는CommonJS 과 hybrid등의 라이브러리,
@polkadot/*
와 같은 기술된 3rd party modules 을 지원 합니다.HTTP
을 사용하는 임의의 모듈 및WebSocket
은 금지되어 있습니다.