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

OpenClaw MCP SSE: credential header не следует за чужим redirect

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

People-first проверка OpenClaw MCP SSE по ghsa-9c3v-684m-579c: применимость, безопасный fixture для границы «удаление Authorization при смене origin в SSE redirect chain», измеримый контракт и stop-rule без production-данных.

Определите применимость OpenClaw MCP SSE

Создайте карточку применимости для OpenClaw MCP SSE: installed version, package source, build digest, feature/config reachability и роль вызывающего субъекта. Reviewed Advisory описывает «OpenClaw MCP SSE redirects could forward Authorization headers», опубликована 2026-07-01, обновлена 2026-07-01 и задаёт диапазон «openclaw < 2026.6.5; first patched 2026.6.5». Эти данные не доказывают состояние конкретного развёртывания. Проверьте vendor backport и commit provenance; при неизвестной сборке оставьте applicability=unknown. Фактическая граница статьи — «удаление Authorization при смене origin в SSE redirect chain», а не общее обсуждение severity или продукта.

Опишите доверительную границу

Сформулируйте отдельную пользовательскую боль: учётные данные исходного MCP endpoint могут быть отправлены адресу с другой доверительной зоной. Запишите доверенный субъект, объект, управляющую policy и первый потенциальный побочный эффект. Заранее задайте защитный контракт: same-origin следует документированной политике, а cross-origin достигается без credential header и без повторной передачи чувствительного тела. Его нельзя подменять отсутствием исключения или HTTP 200: важна стадия до чтения, передачи, allocation, mutation или delivery. Рабочий артефакт — redirect-status / origin-before / origin-after / header-present / body-replayed / decision. В нём нужны только классы и счётчики; значения credentials, содержимое файлов, IP, account identifiers и персональные данные исключаются.

Соберите обратимый стенд

Постройте минимальный обратимый стенд: два loopback stub разных origin, redirect-ответы 302/307 и журнал только header-present без значения. Затем провести same-origin и cross-origin переходы с фиктивным признаком credential, запретив любую внешнюю сеть. Сеть должна быть отключена или замкнута на loopback, filesystem — на disposable temp, state — на in-memory либо transaction rollback. Добавьте normal-control и отрицательный boundary-case, дайте каждому bounded timeout и одинаковую конфигурацию. До опыта зафиксируйте digest входа; после опыта зафиксируйте result class, side-effect counters и cleanup proof. Не увеличивайте нагрузку и не пытайтесь воспроизвести вредный эффект на чужой системе.

Измерьте контракт до побочного эффекта

Сведите observed в матрицу «redirect-status / origin-before / origin-after / header-present / body-replayed / decision» и сравните с критерием «same-origin следует документированной политике, а cross-origin достигается без credential header и без повторной передачи чувствительного тела». Для каждого ряда отметьте decision stage, mutation/read/send counter, final state digest и отклонение от expected. Normal-control обязан пройти тот же код, иначе отрицательный исход ничего не говорит о защите. Повторите лишь малый детерминированный набор; расхождение порядка считается отдельным race/cache сигналом. Pass ставится только когда запрет срабатывает раньше чувствительного действия, а разрешённый сценарий сохраняет documented behavior.

Свяжите patch с узким механизмом

Проверьте исправление по механизму, а не по номеру версии: upstream patch должен напрямую обеспечивать «удаление Authorization при смене origin в SSE redirect chain». Сопоставьте pre/post build на том же контрольный сценарий и сравните «redirect-status / origin-before / origin-after / header-present / body-replayed / decision». Для диапазона «openclaw < 2026.6.5; first patched 2026.6.5» отдельно зафиксируйте vendor patch provenance и release artifact digest. Canary допускается только в лаборатории; production rollout требует отдельного change contract, backup и rollback. Не объявляйте систему безопасной целиком: этот опыт подтверждает один узкий invariant и не говорит об эксплуатации, ущербе, спросе, индексации или позиции страницы.

Остановитесь и подготовьте поддержку

Примените жёсткий stop-rule: прекратить опыт до внешнего URL, настоящего секрета или более одного bounded redirect. Красные флаги также включают внешний адрес, реальный credential, privilege prompt, необратимую запись, рост ресурсов, данные не из контрольный сценарий, отсутствие cleanup и изменившийся объект вне test root. При первом флаге остановитесь и оставьте статус blocked. Для поддержки соберите для ghsa-9c3v-684m-579c, OpenClaw MCP SSE, «openclaw < 2026.6.5; first patched 2026.6.5», reachability evidence, sanitized matrix, normal-control, stop reason и две прямые ссылки. Не публикуйте payload и чужие логи; неизвестное обозначьте unknown, а не выдуманным фактом.

Используйте минимальное дерево решения

Минимальное дерево решения для OpenClaw MCP SSE: если версия вне доказанного affected range и patch provenance подтверждён — not-applicable; если ветвь недостижима по документированной конфигурации — not-reachable; если контрольный сценарий даёт «same-origin следует документированной политике, а cross-origin достигается без credential header и без повторной передачи чувствительного тела» на candidate build — ready-for-reviewed-update; если наблюдается «учётные данные исходного MCP endpoint могут быть отправлены адресу с другой доверительной зоной» — fail и эскалация владельцу. Во всех остальных случаях статус unknown. К карточке приложите «redirect-status / origin-before / origin-after / header-present / body-replayed / decision» и criterion «прекратить опыт до внешнего URL, настоящего секрета или более одного bounded redirect». Такое дерево не превращает один advisory в универсальную рекомендацию и сохраняет people-first приоритет: минимальное воздействие, ясная остановка и проверяемый ответ.

Материал подготовлен редакцией VOne с помощью ИИ; даты, диапазоны, прямые ссылки, безопасный опыт, privacy-ограничения и отсутствие рекламных обещаний затем перепроверены по первичным источникам.

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

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

Ответы

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

Ваш ответ

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

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

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