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

Shescape и Zsh: сохранение аргумента буквально

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

Защитная диагностика 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-материалу. Текст самостоятельный, не копирует источники, не содержит эксплуатационных последовательностей и предназначен для безопасной локальной проверки.

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

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

Ответы

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

Ваш ответ

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

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

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