Защитная диагностика Shescape escape/escapeAll for Zsh по ghsa-6v4m-fw66-8r4x: применимость, обратимый локальный control, измеримый verdict, stop-rule и минимальный пакет данных для владельца системы.
Короткий ответ — Shescape и Zsh: сохранение аргумента буквально
Эта страница решает узкую задачу: проверить, что Shescape сохраняет синтетические path-like аргументы буквально при поддерживаемых Zsh option profiles. Advisory ghsa-6v4m-fw66-8r4x — актуальный сигнал для inventory, но не доказательство состояния конкретной системы. Зафиксируйте фактически загруженный Shescape escape/escapeAll for Zsh, lock-файл или image digest и границу «shescape: introduced 0, fixed 2.1.14; introduced 3.0.0, fixed 3.0.1». Пользовательская боль: экранированный аргумент при отдельных Zsh options может пройти home/glob expansion и раскрыть имена локальных путей. Проверка должна завершиться артефактом «таблица zsh options / raw digest / escaped digest / received argv digest / expansion count», который можно повторить без production-данных, внешней сети и предположений о том, что одна версия автоматически означает безопасное поведение.
Как очертить границу Shescape escape/escapeAll for Zsh
Нарисуйте только один путь: raw argument → Shescape output → Zsh parser options → argv captured by stub. На каждом переходе отметьте владельца значения, допустимый тип, policy decision и возможный side effect. Инварианта этой проверки: stub получает ровно исходную строку, а shell не выполняет tilde, glob или equal substitution. NOT_APPLICABLE допустим только при доказанном отсутствии компонента или недостижимости ветки; неизвестный digest, effective config или способ вызова дают UNKNOWN. Не расширяйте scope на соседние API или похожие классы ошибок: их доказательства и remediation могут отличаться.
Инвентаризация и применимость до эксперимента
Сопоставьте SBOM, package manager, container digest и runtime readback с диапазоном «shescape: introduced 0, fixed 2.1.14; introduced 3.0.0, fixed 3.0.1». Выберите один reason code: AFFECTED_PATH, PATCHED_PATH, COMPONENT_ABSENT или PROVENANCE_UNKNOWN. Затем подтвердите, что вызывается именно исследуемая функция, а не vendored fork, fallback или другой worker. Сам по себе номер исправленного релиза, отсутствие инцидента, HTTP 200 или активный сервис не доказывают инварианту «stub получает ровно исходную строку, а shell не выполняет tilde, glob или equal substitution». Эта развилка не требует опасного входа и должна предшествовать любому control.
Обратимый тест для Shescape escape/escapeAll for Zsh
Используйте disposable fixture: в disposable shell fixture вызвать только stub, печатающий argv digest; использовать временный HOME и пустой каталог без реальных имён. Подмените сеть, файловую систему, subprocess, database, очереди, токены и пользовательские объекты fake/spies. До начала сохраните baseline digest и нулевые counters; задайте лимиты времени, памяти и операций. Boundary-case должен менять ровно один признак и оставаться коротким синтетическим маркером, не эксплуатационным payload. После каждой строки полностью восстанавливайте fixture, иначе результат может объясняться предыдущим состоянием.
Матрица наблюдений и ожидаемые строки
Benign control сначала доказывает достижимость нужной ветки. Затем boundary-case проверяет боль «экранированный аргумент при отдельных Zsh options может пройти home/glob expansion и раскрыть имена локальных путей». Для каждой строки сохраните таблица zsh options / raw digest / escaped digest / received argv digest / expansion count, duration, reason code, counters до/после и digest состояния. Успешная обработка не равна PASS, пока не подтверждено: stub получает ровно исходную строку, а shell не выполняет tilde, glob или equal substitution. Если recorder пропустил side effect, control не достиг функции или окружение нельзя вернуть к baseline, verdict — UNKNOWN. Более сильный вход или больше повторов не исправляют слабую наблюдаемость.
Правила PASS, FAIL и UNKNOWN
PASS требует пяти элементов: подтверждённый provenance, успешный benign control, соблюдение инварианты «stub получает ровно исходную строку, а shell не выполняет tilde, glob или equal substitution», нулевые запрещённые side effects и cleanup proof. FAIL требует подтверждённого пути и наблюдаемого нарушения именно этой policy. UNKNOWN ставят при нехватке version readback, effective config, recorder или воспроизводимого fixture. Немедленный stop-rule: stub получил больше одного argv, изменённый digest или shell обратился к пути вне fixture. После него не повторяйте boundary-case и не переносите тест на production.
Cleanup и сравнение после обновления
Закройте ресурсы, удалите disposable state, верните fake adapters и сравните hashes и counters с baseline. Остаточный файл, socket, процесс, новая строка БД или изменение очереди блокирует PASS. После обновления повторите те же входы и лимиты, не меняя размер данных. Сравните таблица zsh options / raw digest / escaped digest / received argv digest / expansion count: только так видно, исправлен ли переход «raw argument → Shescape output → Zsh parser options → argv captured by stub», а не маскируется ли результат другим окружением или иной веткой выполнения.
Самостоятельная ценность и пакет для владельца
Отделяет literal-preservation аргумента под Zsh от command injection, поиска binary и раскрытия переменных окружения. Поэтому URL отвечает на отдельный intent «проверить, что Shescape сохраняет синтетические path-like аргументы буквально при поддерживаемых Zsh option profiles», а не является заменой бренда, ОС или устройства. Передайте владельцу ghsa-6v4m-fw66-8r4x, digest компонента, effective version/config, диапазон «shescape: introduced 0, fixed 2.1.14; introduced 3.0.0, fixed 3.0.1», схему «raw argument → Shescape output → Zsh parser options → argv captured by stub», control и boundary rows, таблица zsh options / raw digest / escaped digest / received argv digest / expansion count, verdict, stop reason и cleanup proof. Advisory опубликована 2026-07-24 и обновлена 2026-08-12; эти даты подтверждают свежесть источника, но не популярность запроса, эксплуатацию и применимость к конкретному deployment.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; даты, версии и ссылки сверены по GitHub Advisory Database и первичному upstream-материалу. Текст самостоятельный, не копирует источники, не содержит эксплуатационных последовательностей и предназначен для безопасной локальной проверки.
Источники и проверка
- GitHub Advisory Database — ghsa-6v4m-fw66-8r4x проверено 2026-09-03
- Первичный upstream-материал — Shescape escape/escapeAll for Zsh проверено 2026-09-03
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.