WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-389 · Задача · — · web

Prompt-инъекция в теле документа частично исполняется: ответ повторяет «правила цитирования отключены» и теряет факты

Закрыт P1 · важно ведёт: —
Доказательства
[2026-08-26 22:35Z] Автор web389fix @cbddfd7: documentPromptSanitizer.ts — узкий карантин императивов про цитирование/general-knowledge/override/prompt-теги; обычные императивы (Сделай X) не трогаются (анти-false-positive контроль); соседние факты сохраняются; имя-инъекция заменяется [Quarantined document name]. Вшит во все document-backed пути генерации (notebook, global RAG, outline, council). Citation payloads хранят оригинал для подсветки. -> review.
[2026-08-27 00:20Z] acc389 NO-GO: adversarial 8/12 — пробиты homoglyph (латинская a в Отвечaй), zero-width разрыв, английская переформулировка, многострочная инъекция; санитайзер возвращает атакующий текст без карантина. False-positive контроль — чисто. -> web389fix2 (NFKC+zero-width+homoglyph нормализация до матчинга, семантические классы en/ru, многострочность).
[2026-08-27 05:20Z] Цикл 4 @2b7ecb6: капс-с-пробелами схлопывается (осторожно с аббревиатурами), 22/22 + author 17/17 + related 56/56, diff --check rc=0. Финальная приёмка finacc389 в очереди (+fp на инициалах).
[2026-08-27 09:05Z] ПРИНЯТ finacc389b (5 циклов: буквальные -> homoglyph/zero-width/en/многострочные -> digit-leet -> spaced-caps -> точки-разделители): полная пунктуация детектируется с карантином, факты сохраняются, fp-набор (т.е., и.о., С.С.С.Р., инициалы, версии, п.5.1) чист, diff --check rc=0, негативный контроль жив. -> done, ветка web389fix@61f0084 в мердж l59.
Починено в
61f0084
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-389","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-26T20:03:43.036Z