Браузерная песочница представляет собой изолированную среду выполнения, в которой веб-приложения могут работать, не угрожая целостности операционной системы или данных пользователя. Она накладывает строгие ограничения на доступ к системным ресурсам, файловой системе, сети и аппаратным устройствам. Эти ограничения критически важны для безопасности, особенно при работе с библиотеками машинного обучения, такими как ONNX Runtime Web.
Каждое веб-приложение выполняется в собственном контексте JavaScript, что предотвращает произвольное вмешательство в работу других сайтов. Песочница обеспечивает:
Для ONNX Runtime Web это означает, что модели, загружаемые в браузер, не могут напрямую вмешиваться в работу системы пользователя или других приложений, обеспечивая безопасное тестирование и инференс.
В веб-среде нет прямого доступа к локальной файловой системе. Работа с файлами осуществляется через File API, Blob, IndexedDB или пользовательский выбор через диалоговые окна. Это препятствует случайной или злонамеренной модификации системных данных. Для ONNX Runtime Web:
Песочница ограничивает сетевые запросы по принципу same-origin policy, блокируя произвольные соединения с другими доменами без явного разрешения. Для ONNX Runtime Web это означает:
Браузеры ограничивают прямой доступ к графическому процессору, камере, микрофону и другим устройствам. ONNX Runtime Web использует WebGL или WebGPU для ускоренного вычисления, но только через официальные API браузера. Это гарантирует:
В песочнице ограничен доступ стороннего кода к критическим API. ONNX Runtime Web использует WebAssembly и JavaScript для выполнения моделей, что накладывает дополнительные слои защиты:
Ограничения браузерной песочницы выполняют ключевую функцию в предотвращении потенциальных угроз:
Для приложений на ONNX Runtime Web это означает, что модели машинного обучения можно безопасно запускать в браузере, не создавая угроз для системы или данных пользователя.
Использование песочницы обеспечивает баланс между производительностью и безопасностью, позволяя применять сложные модели машинного обучения в клиентской части без необходимости доверять код и данные серверу.