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

Фреймворк JavaScript

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

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

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

Обновлено 20 авг. 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`.
