Защитная диагностика Ghost Content API: allowlist полей после filter по GHSA-jx35-x7fj-vgpr: runtime inventory, bounded fixture, измеримый verdict, красная линия и evidence bundle без production-данных.
Решение в двух шагах — Ghost Content API: allowlist полей после filter
Сначала подтвердите, что runtime действительно использует ghost в диапазоне «npm:ghost >= 5.46.1, < 6.21.2; first patched 6.21.2» и что функция «Ghost Content API: allowlist полей после filter» включена. Затем выполните только bounded fixture: В in-memory repository создать synthetic public/private attributes; query parser и serializer оставить, сеть не открывать. Боль, которую проверяет эта страница: условие фильтра может сделать приватное поле доступным в публичном ответе. Выходной артефакт — filter field / requested include / response schema / verdict. GHSA GHSA-jx35-x7fj-vgpr не заменяет inventory и не доказывает уязвимость конкретной системы.
Карта границы — Ghost Content API: allowlist полей после filter
Нарисуйте последовательность Source → Normalize → Authorize/Validate → Side effect. Для «Ghost Content API: allowlist полей после filter» особая карта такова: Карточка разделяет использование поля для внутреннего selection и право вернуть его клиенту. Финальный serializer применяет allowlist после query, а не наследует internal model. На каждой стрелке укажите тип данных, владельца решения и измеримый counter. Если две стадии видят разные представления одной строки или объекта, итог UNKNOWN до устранения неоднозначности.
Подготовка без production-данных — Ghost Content API: allowlist полей после filter
Создайте temp directory, in-memory graph/cache/store либо pure adapter, соответствующий протоколу: В in-memory repository создать synthetic public/private attributes; query parser и serializer оставить, сеть не открывать. Используются только короткие canary labels; IP, токены, customer records, реальные пути и environment values запрещены. Network, shell, database, filesystem и session issuance заменяются spies. Зафиксируйте hash fixture и нулевые counters до control.
Control и boundary-case — Ghost Content API: allowlist полей после filter
Control подтверждает достижимость ветки на разрешённом входе. Boundary-case меняет ровно один параметр и должен остановиться до состояния «условие фильтра может сделать приватное поле доступным в публичном ответе». Запишите filter field / requested include / response schema / verdict, reason code и monotonic duration. Карточка разделяет использование поля для внутреннего selection и право вернуть его клиенту. Финальный serializer применяет allowlist после query, а не наследует internal model. Не повышайте размер/глубину после первого превышения, не используйте эксплуатационный payload и не сравнивайте разные ОС как доказательство исправления.
Таблица verdict — Ghost Content API: allowlist полей после filter
PASS: применимый runtime подтверждён, control прошёл, boundary остановился до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемое запрещённое состояние. UNKNOWN: отсутствуют версия, configuration snapshot, control, counter или cleanup. NOT_APPLICABLE: package либо entry point доказанно отсутствует. Версия вне диапазона без runtime readback остаётся только inventory clue.
Красная линия — Ghost Content API: allowlist полей после filter
Стоп-условие: private field появляется в response независимо от фильтра или include. После остановки не повторяйте тест с большим вводом. Верните disposable state к hash, обнулите spies, освободите buffers/objects и выполните один benign control. Несовпадение state после cleanup блокирует PASS и должно войти в handoff как отдельный дефект harness или компонента.
Самостоятельная польза — Ghost Content API: allowlist полей после filter
Связывает query grammar и финальную response projection. Не secret redaction одного endpoint: проверяется public schema invariant. Практический результат не сводится к названию CVE: читатель получает filter field / requested include / response schema / verdict. Карточка разделяет использование поля для внутреннего selection и право вернуть его клиенту. Финальный serializer применяет allowlist после query, а не наследует internal model. Механическая замена framework, устройства или платформы не создаёт новый intent; совпадающая старая страница становится update/merge-кандидатом.
Минимальный handoff — Ghost Content API: allowlist полей после filter
Передайте GHSA GHSA-jx35-x7fj-vgpr, runtime digest, диапазон «npm:ghost >= 5.46.1, < 6.21.2; first patched 6.21.2», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-05, обновлён 2026-08-05; это дата advisory, а не показатель спроса или эксплуатации. После remediation повторите тот же fixture и сравните границу/side-effect counters.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-jx35-x7fj-vgpr проверено 2026-09-02
- Первичный upstream — ghost проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.