How to override a method in post-cooked.js.es6 in a plugin?

После дня блужданий я наткнулся на этот ответ.

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

Когда я присваиваю elem.innerHTML значение &lt;script&gt;alert(1)&lt;/script&gt;, оно становится неэкранированным: <script>alert(1)</script>. (Я замечаю это, когда ввожу это в редакторе: если ввести неэкранированный код, он исчезнет в предпросмотре.) Это проблема, или CSP это остановит?

https://meta.discourse.org/t/mitigate-xss-attacks-with-content-security-policy/104243!csp error|690x191

Посты, содержащие теги <script> в качестве части объяснения, также, похоже, вызывают эти ошибки CSP. Я сейчас в полном замешательстве. Нужно ли мне вообще беспокоиться о сохранённых XSS-атаках, или CSP просто заблокирует их? В редакторе я использую CKEditor, который предотвращает self-XSS. Если мне всё же нужно беспокоиться, похоже, мне нужно удалять небезопасные теги. В данный момент я делаю так:

  value = Loofah.fragment(value).scrub!(:escape).to_s

Но, похоже, это не даёт никакого эффекта, потому что при присваивании этого значения elem.innerHTML HTML-сущности просто раскрываются.

РЕДАКТИРОВАНИЕ: Наконец, я нашёл источник своего замешательства: функция «Inspect Element» не показывает настоящий HTML — она уже преобразует HTML-сущности.

Если кликнуть «Edit as HTML» в инспекторе, становится ясно, что на самом деле всё в порядке. Тот факт, что рендерятся невидимые теги, должен был уже указать мне в этом направлении.