Files
transcriber/tasks/items/speechkit-error-text-leak.md
T

2.5 KiB
Raw Blame History

🔬 Адрес объекта в тексте отказа SpeechKit

  • Тип: research
  • Категория: Очередь
  • Зачем: Текст отказа операции приходит от Yandex и уезжает в журнал и в колонку error_text: если он несёт URI объекта, из журнала снова собирается ссылка на чужую запись.

Гипотеза ревью задачи pocketbase-storage 2026-08-12, оставшаяся без оракула: поднять настоящий отказ Yandex нечем, а прогон на реальных ключах запрещён. Собственные цепочки отказов задача оборвала — чтение из хранилища и выгрузка в Object Storage больше не называют ключ, — но текст, пришедший чужими руками, идёт в журнал и в задачу как есть.

Вопрос

Несёт ли текст отказа операции распознавания адрес объекта, который мы отдали SpeechKit, и в каких случаях? Если несёт — чем его отсечь, не потеряв причину отказа: разбором по образцу, перечнем известных кодов отказа или отказом писать чужой текст вовсе.

Куда ляжет ответ

  • Наблюдение с командой и условиями — записка в docs/research/, рядом с pocketbase-defaults.md.
  • Если адрес приходит — норма в спеку storage, требование «Файл отдаётся ссылкой», и строка в docs/security.md, раздел «Из чего строятся пути и ключи»; сама правка — отдельной задачей.
  • Если не приходит — строка в ту же записку, чтобы гипотезу не поднимали заново.

Рамки

Реальные ключи Yandex и боевые данные не трогаем. Отказ придётся вызывать дешёвым способом: битый объект, объект вне бакета, отозванный доступ — что из этого доступно, решается по ходу. Цена прогона в деньгах называется до запуска.