К обсуждениям

Mermaid: CSS остаётся внутри границы диаграммы

Редакция VOne Технологии

Защитная диагностика Mermaid: CSS остаётся внутри границы диаграммы по GHSA-6X64-9X62-F2GX: применимость, изолированный тест, измеримый verdict, критерий остановки и пакет данных для владельца системы.

Короткий ответ и применимость — Mermaid: CSS остаётся внутри границы диаграммы

Проверяемая задача: проверить, что стили диаграммы не применяются к соседним элементам страницы. Сначала подтвердите фактически загруженный компонент Mermaid, его runtime digest, затронутый entry point и границу версий «mermaid >= 11.0.0-alpha.1; fixed 11.16.1 | mermaid >= 0; fixed 10.9.8». Только после inventory выполняется ограниченный regression: Сгенерировать DOM из benign diagram и selector fixture в detached document; внешние узлы отметить immutable styles. Пользовательская боль конкретна: селектор из diagram definition может выйти из SVG-контейнера и изменить интерфейс вокруг. Результат оформляется как таблица selector / rewritten selector / matched external nodes / style diff. GHSA GHSA-6X64-9X62-F2GX — ориентир для проверки, но не доказательство состояния вашей установки, инцидента или эксплуатации.

Граница данных и решения — Mermaid: CSS остаётся внутри границы диаграммы

Разложите именно этот путь на входное представление, canonical form, policy verdict и side effect. Специальная инварианта: Каждое CSS rule либо scoped к уникальному container, либо отклонено; computed style соседей не меняется. Для каждой границы укажите владельца решения, ожидаемое состояние и запрещённый переход. NOT_APPLICABLE возможен только при доказанном отсутствии Mermaid или функции. Неизвестная версия, digest либо конфигурация означает UNKNOWN, а не безопасность; номер исправленного релиза сам по себе не заменяет runtime readback.

Изолированный стенд — Mermaid: CSS остаётся внутри границы диаграммы

Используйте disposable temp directory, in-memory repository, detached DOM или pure adapter — по типу компонента, но никогда production. Протокол стенда: Сгенерировать DOM из benign diagram и selector fixture в detached document; внешние узлы отметить immutable styles. Все внешние действия — сеть, shell, database, filesystem, browser, message broker, выдача сессии — заменяются spies, recorders или счётчиками. Применяйте короткие synthetic labels; реальные токены, IP, аккаунты, конфиги, логи и пользовательские данные запрещены. Перед control сохраните baseline hash и нулевые counters.

Control и один boundary-case — Mermaid: CSS остаётся внутри границы диаграммы

Benign control доказывает достижимость нужной ветки. Boundary-case меняет ровно один структурный признак и обязан остановиться до состояния «селектор из diagram definition может выйти из SVG-контейнера и изменить интерфейс вокруг». Сохраните таблица selector / rewritten selector / matched external nodes / style diff, reason code, monotonic duration и cleanup state. Проверяемое правило: Каждое CSS rule либо scoped к уникальному container, либо отклонено; computed style соседей не меняется. Не увеличивайте размер, глубину или число повторов после первого нарушения; статья не требует эксплуатационного payload, внешней цели или реального секрета.

Как вынести PASS, FAIL и UNKNOWN — Mermaid: CSS остаётся внутри границы диаграммы

PASS требует подтверждённых component digest и entry point, успешного control, соблюдения инварианты «Каждое CSS rule либо scoped к уникальному container, либо отклонено; computed style соседей не меняется», остановки boundary до side effect и доказанного cleanup. FAIL — тот же provenance и наблюдаемый запрещённый call, counter либо state transition. UNKNOWN — нет digest, конфигурации, точки наблюдения, control или восстановления. NOT_APPLICABLE — компонент или функция доказанно отсутствуют. Для воспроизводимости приложите таблица selector / rewritten selector / matched external nodes / style diff; субъективного «выглядит нормально» недостаточно.

Красная линия и восстановление — Mermaid: CSS остаётся внутри границы диаграммы

Немедленно остановитесь, если найден внешний match или изменился computed style контрольного sibling. Не повторяйте проверку с более сильным вводом. Верните disposable state к исходному hash, освободите объекты и выполните один benign control. Любой неожиданный ненулевой counter сети, процессов, файлов, записей, маршрутов, браузерной навигации или сессий блокирует PASS и фиксируется отдельно от parser/policy результата. Production, реальные учётные записи и чужие данные в этот тест не входят.

Почему это самостоятельный intent — Mermaid: CSS остаётся внутри границы диаграммы

Измеряет DOM reach селектора, а не только наличие экранирования строки. Не JavaScript execution: самостоятельна CSS-инъекция и нарушение визуальной границы sibling elements. Поэтому механическая замена бренда, ОС или устройства не создаёт ещё один URL. Самостоятельная практическая ценность выражена deliverable «таблица selector / rewritten selector / matched external nodes / style diff» и инвариантой «Каждое CSS rule либо scoped к уникальному container, либо отклонено; computed style соседей не меняется». Если опубликованная страница уже покрывает тот же вопрос, пользовательскую боль и дерево решения, правильное действие — update/merge по отдельному контракту, а не соседняя страница.

Минимальный пакет для владельца — Mermaid: CSS остаётся внутри границы диаграммы

Передайте владельцу GHSA GHSA-6X64-9X62-F2GX, runtime digest, границу «mermaid >= 11.0.0-alpha.1; fixed 11.16.1 | mermaid >= 0; fixed 10.9.8», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Advisory опубликована 2026-08-06, обновлена 2026-08-06; даты подтверждают свежесть проверенного источника, но не популярность запроса и не состояние конкретной системы. После remediation повторите тот же fixture и сравните state transition без изменения тестового масштаба.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика; даты, версии, границы и ссылки сверены по GitHub Advisory Database и прямому upstream-материалу. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.