---
title: "Dev override seam — модель угроз и отключение"
description: "Как Blok проверяет globalThis.__BLOK_DEV_OVERRIDE__ перед откатом на встроенный код и как убрать эту ветку из сборки."
source: https://blokeditor.com/ru/docs/dev-override-seam/
lastmod: 2026-09-08
---

Фреймворк JavaScript

Расширение и система Подмена версии для разработки

# Dev override seam: модель угроз и отключение

Механизм для разработки, который есть в каждой опубликованной точке входа: как он работает, почему это безопасно и как убрать его из своего бандла.

Обновлено 8 сент. 2026 г. [Редактировать на GitHub](https://github.com/JackUait/blok/blob/main/docs/src/components/api/DevOverrideSeamContent.tsx)

## Что это такое

Каждая опубликованная точка входа `@bloklabs/core` сначала проверяет `globalThis.__BLOK_DEV_OVERRIDE__` и только потом откатывается на встроенную реализацию. Это механизм для собственных инструментов разработки Blok: он позволяет расширению браузера подставить локальную сборку в работающее приложение.

## Почему это безопасно

Это пассивное чтение в пределах текущего окружения. blok никогда не делает fetch, не вызывает eval и не разрешает URL. Сам механизм никогда не читает localStorage, мета-теги, параметры URL или атрибуты DOM.

Поэтому он ничего не даёт атакующему, который ещё не может выполнять код в вашем origin. Значения, являющиеся DOM-узлами, отклоняются, и это закрывает DOM clobbering.

## Как отключить

Чтобы полностью убрать эту ветку из своей сборки, задайте для каждой точки входа алиас на её файл реализации. Используйте алиас с точным совпадением (регулярное выражение). Обычный строковый ключ вида `'@bloklabs/core'` совпадает по префиксу и со всеми подпутями.

Для Vite/Rollup: `resolve: { alias: [{ find: /^@bloklabs\/core$/, replacement: '@bloklabs/core/dist/blok-impl.mjs' }] }`. Каждой точке входа с подпутём (`/tools`, `/full`, …) нужна своя пара, указывающая на её модуль `-impl`.
