Практическая проверка github.com/sonirico/mcp-shell по GHSA-3x77-wg38-92r3: диапазон версий, безопасный локальный fixture, критерии PASS/FAIL/Unknown, stop-rule и пакет данных для поддержки без production-секретов.
Что именно проверить в github.com/sonirico/mcp-shell
Задача этой проверки — отделить версионный риск github.com/sonirico/mcp-shell от фактического нарушения. Исходная боль: список разрешённых команд не помогает, если оболочка по умолчанию остаётся неявно доступной. Если сборка не входит в затронутый диапазон либо путь отключён, тест не нужен; если входит, нужен минимальный fixture и рабочий control. Короткий ответ: для github.com/sonirico/mcp-shell сначала подтвердите фактическую зависимость и границу «go/github.com/sonirico/mcp-shell < 0.6.0; первая исправленная версия — 0.6.0». Затем выполните только обратимую проверку на синтетических данных: сверить 0.6.0 и проверить разрешённую и запрещённую безвредные команды в одноразовом контейнере. Результат считается доказанным лишь при рабочем positive control, явном PASS/FAIL/Unknown и отсутствии побочных изменений. Нельзя переносить вывод с advisory на production без этой причинной цепочки.
Попадает ли сборка github.com/sonirico/mcp-shell в затронутую границу
До fixture нужен ответ на четыре вопроса: присутствует ли github.com/sonirico/mcp-shell, входит ли версия в «< 0.6.0», доступна ли описанная ветка и есть ли подтверждённый backport. Первая исправленная upstream-версия — 0.6.0. Зафиксируйте ответы рядом, не сворачивая их в одно `safe/unsafe`. Если пакет отсутствует, результат `not applicable`; если версия или сборка неизвестна — `Unknown`; если путь отключён — `not reachable` с доказательством конфигурации. Только сочетание версии и достижимости переводит кандидата к тесту.
Как провести обратимый тест для GHSA-3x77-wg38-92r3
Постройте fixture вокруг отдельной пользовательской боли, а не вокруг демонстрации уязвимости. Рабочая формулировка: сверить 0.6.0 и проверить разрешённую и запрещённую безвредные команды в одноразовом контейнере. Материал сохраняет матрица executable–аргументы–политика–результат и критерий fail-closed. Создайте два пустых тестовых контекста и минимальную роль. Один объект должен принадлежать разрешённой области, второй — соседней запрещённой; имена и идентификаторы только синтетические. Сначала подтвердите positive control внутри разрешённой области, затем выполните единственный отрицательный запрос. Положительный контроль подтверждает, что разрешённая ветка функционирует; отрицательный — что конкретная граница закрыта. Сохраните hash входа, версию harness и нулевые счётчики побочных действий. Повторять сценарий на production после локального причинного результата не нужно.
Какие наблюдения означают PASS, FAIL или Unknown
Результат удобнее фиксировать одной строкой на каждую сборку. Поля: package/digest, feature state, positive control, negative fixture, ошибка или статус, read-back и решение. Запишите роль, область владельца, тип операции, HTTP/handler-результат и неизменность обоих тестовых объектов. Сообщение интерфейса само по себе недостаточно: сверяйте итоговое состояние через разрешённый read-back или журнал аудита без значений секретов. PASS: разрешённая операция работает, а пересечение границы отклоняется до изменения состояния. FAIL: минимальная роль получает данные или создаёт связь вне своей области. UNKNOWN: контроль не сработал, provenance сборки неизвестен или read-back недоступен. Добавьте владельца и срок повторной проверки для временной меры. Не переносите наблюдение со staging на другой image без сверки digest: одинаковый номер версии может скрывать разный backport.
Что делать после проверки github.com/sonirico/mcp-shell
Если применимость подтверждена, предпочтительный путь — обновить github.com/sonirico/mcp-shell до 0.6.0 или поддерживаемой более новой ветки из upstream, сохранив резервную копию и план отката. Повторите тот же fixture после изменения; новый тест не нужен, иначе сравнение потеряет причинность. Не используйте реальные аккаунты, арендаторов, активы, токены или производственные журналы; при необходимости чужих данных передайте проверку владельцу системы. Минимальный пакет для maintainer: GHSA-3x77-wg38-92r3, package/digest, версионная строка, feature state, обезличенный fixture hash, control, PASS/FAIL/Unknown и ссылка на upstream. Общий WAF, мониторинг или отсутствие инцидентов не считаются эквивалентом исправления.
Какой пакет доказательств сохранить для GHSA-3x77-wg38-92r3
Evidence-карта этой проверки начинается не с общего списка полей, а с отдельной боли: список разрешённых команд не помогает, если оболочка по умолчанию остаётся неявно доступной. Проверяемая гипотеза формулируется как «сверить 0.6.0 и проверить разрешённую и запрещённую безвредные команды в одноразовом контейнере». Её практический результат — матрица executable–аргументы–политика–результат и критерий fail-closed. Причина не объединять страницу с соседним advisory: Отдельная версия и механизм GHSA-3x77-wg38-92r3: mcp-shell has a Secure Mode Allowlist Bypass via Default `/bin/bash` Executable. Ответ строится вокруг конкретной границы пакета github.com/sonirico/mcp-shell и не заменяется общим советом по обновлению. В карточке GHSA-3x77-wg38-92r3 сохраните точное имя go/github.com/sonirico/mcp-shell, resolved version, digest или commit, состояние функции, границу «< 0.6.0 → 0.6.0», дату fixture, hash синтетического ввода и отдельные результаты positive и negative control. Поля наблюдения зависят от механизма категории `boundary`: для границы доступа важны владелец и неизменность объекта; для парсера — нормализованный результат и отсутствие выполнения; для resource-case — время, память и доступность следующего запроса. Содержание входа, токены, адреса, полные логи и пользовательские данные не прикладывайте. Итоговая строка должна позволить другому специалисту повторить решение именно для github.com/sonirico/mcp-shell, не получая доступ к production. Если upstream summary, локальная сборка и результат fixture расходятся, запишите расхождение дословно как Unknown и передайте его maintainer; не заменяйте отсутствующее доказательство предположением о том, что обновление «скорее всего» достаточно.
Материал подготовлен редакцией VOne с помощью ИИ; версионные границы, прямые источники, безопасный fixture, критерии решения, privacy-ограничения и отсутствие рекламных обещаний перепроверены человеком.
Источники и проверка
- GitHub Reviewed Advisory GHSA-3x77-wg38-92r3 проверено 2026-08-31
- Upstream security source for github.com/sonirico/mcp-shell проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.