Практическая проверка utcp-http по GHSA-9qhg-99ww-9mqc: диапазон версий, безопасный локальный fixture, критерии PASS/FAIL/Unknown, stop-rule и пакет данных для поддержки без production-секретов.
Что именно проверить в utcp-http
Прямой ответ для владельца utcp-http: не ищите подтверждение по одному баннеру или общему журналу. Проблема формулируется так: первый URL может быть разрешён, а следующий Location уводит запрос в запрещённый адресный диапазон. Сначала установите provenance зависимости, затем воспроизведите только безопасную границу на одноразовом контексте. Короткий ответ: для utcp-http сначала подтвердите фактическую зависимость и границу «pip/utcp-http <= 1.1.3; первая исправленная версия — 1.1.4». Затем выполните только обратимую проверку на синтетических данных: подтвердить 1.1.4 и проверить локальный fixture с разрешённым первым адресом и заблокированной тестовой целью. Результат считается доказанным лишь при рабочем positive control, явном PASS/FAIL/Unknown и отсутствии побочных изменений. Оценка severity high взята из GHSA-9qhg-99ww-9mqc; локальный статус остаётся Unknown до инвентаризации и control-теста.
Попадает ли сборка utcp-http в затронутую границу
До fixture нужен ответ на четыре вопроса: присутствует ли utcp-http, входит ли версия в «<= 1.1.3», доступна ли описанная ветка и есть ли подтверждённый backport. Первая исправленная upstream-версия — 1.1.4. Зафиксируйте ответы рядом, не сворачивая их в одно `safe/unsafe`. Если пакет отсутствует, результат `not applicable`; если версия или сборка неизвестна — `Unknown`; если путь отключён — `not reachable` с доказательством конфигурации. Только сочетание версии и достижимости переводит кандидата к тесту.
Как провести обратимый тест для GHSA-9qhg-99ww-9mqc
Рекомендуемая обратимая проверка: подтвердить 1.1.4 и проверить локальный fixture с разрешённым первым адресом и заблокированной тестовой целью. Практический артефакт — дерево решения для каждого hop и журнал только классов адресов без чувствительных URL. Подготовьте пару минимальных локальных fixture: обычный корректный ввод и один синтетический пограничный вариант, который описан в advisory. Данные не должны содержать исполняемую нагрузку, сетевые адреса третьих лиц, реальные письма, ключи или пользовательские объекты. До запуска запишите ожидаемый результат positive control и отрицательного случая. После каждого шага сравните состояние с исходным снимком и удалите временные сущности. Fixture должен отвечать только на один вопрос из GHSA-9qhg-99ww-9mqc; добавление реального трафика, секретов или чужих объектов ухудшает доказательство, а не делает его убедительнее.
Какие наблюдения означают PASS, FAIL или Unknown
Decision matrix содержит три исхода, а не два. PASS: обычный control сохраняет ожидаемое поведение, пограничный ввод безопасно отклоняется или нормализуется согласно исправлению, побочных эффектов нет. FAIL: нарушается заявленная граница. UNKNOWN: fixture не достигает нужной ветки либо сборка не подтверждена. Сравните выбранную ветку парсера, нормализованный результат, тип ошибки, число созданных объектов и отсутствие побочного выполнения. Сохраняйте hash fixture и версию зависимости, но не сам чувствительный ввод. Для PASS обязательны версия либо backport, рабочий positive control и отсутствие запрещённого эффекта. Для FAIL нужен причинный negative fixture и подтверждённый путь. Любой пропуск оставляет Unknown. Добавьте hash fixture, имя теста и короткий обезличенный read-back; не прикладывайте токены, полные логи или пользовательские записи.
Что делать после проверки utcp-http
Не меняйте конфигурацию вслепую. Сначала сохраните зависимости и тестовый baseline, затем обновите utcp-http до исправленной ветки и повторите одинаковый сценарий. Если результат не совпал, откатите только изменение пакета и проверьте provenance. Не переносите fixture в production и не расширяйте его до эксплуатационного примера; если для вывода нужен реальный секрет или внешний target, остановитесь. Эскалация нужна, когда доказательство требует production trace, реальных учётных данных, необратимой миграции или спорного толкования upstream. В обращение включайте только обезличенные наблюдения и контрольные hashes.
Какой пакет доказательств сохранить для GHSA-9qhg-99ww-9mqc
Evidence-карта этой проверки начинается не с общего списка полей, а с отдельной боли: первый URL может быть разрешён, а следующий Location уводит запрос в запрещённый адресный диапазон. Проверяемая гипотеза формулируется как «подтвердить 1.1.4 и проверить локальный fixture с разрешённым первым адресом и заблокированной тестовой целью». Её практический результат — дерево решения для каждого hop и журнал только классов адресов без чувствительных URL. Причина не объединять страницу с соседним advisory: Отдельная версия и механизм GHSA-9qhg-99ww-9mqc: utcp-http SSRF: HTTP tool invocation follows redirects without re-validating the target. Ответ строится вокруг конкретной границы пакета utcp-http и не заменяется общим советом по обновлению. В карточке GHSA-9qhg-99ww-9mqc сохраните точное имя pip/utcp-http, resolved version, digest или commit, состояние функции, границу «<= 1.1.3 → 1.1.4», дату fixture, hash синтетического ввода и отдельные результаты positive и negative control. Поля наблюдения зависят от механизма категории `parser`: для границы доступа важны владелец и неизменность объекта; для парсера — нормализованный результат и отсутствие выполнения; для resource-case — время, память и доступность следующего запроса. Содержание входа, токены, адреса, полные логи и пользовательские данные не прикладывайте. Итоговая строка должна позволить другому специалисту повторить решение именно для utcp-http, не получая доступ к production. Если upstream summary, локальная сборка и результат fixture расходятся, запишите расхождение дословно как Unknown и передайте его maintainer; не заменяйте отсутствующее доказательство предположением о том, что обновление «скорее всего» достаточно.
Материал подготовлен редакцией VOne с помощью ИИ; версионные границы, прямые источники, безопасный fixture, критерии решения, privacy-ограничения и отсутствие рекламных обещаний перепроверены человеком.
Источники и проверка
- GitHub Reviewed Advisory GHSA-9qhg-99ww-9mqc проверено 2026-08-31
- Upstream security source for utcp-http проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.