Безопасная проверка API Platform: привязка relation IRI к ожидаемому типу по GHSA-9rjg-x2p2-h68h: runtime inventory, изолированный fixture, измеримый verdict, стоп-правило и минимальный evidence bundle.
Короткий ответ — API Platform: привязка relation IRI к ожидаемому типу
Для запроса «проверить, что relation IRI денормализуется только в класс свойства» нужен не агрессивный тест, а доказательная цепочка из четырёх состояний: runtime подходит под границу, entry point реально включён, безопасный control проходит, граничный fixture останавливается до побочного эффекта. Боль этого материала — IRI существующего объекта другого resource type может пройти как relation. Результат оформляется как property type / IRI resource class / resolver result / assignment calls / verdict. Advisory GHSA-9rjg-x2p2-h68h задаёт ориентир «composer:api-platform/core < 4.1.30; first patched 4.1.30 | composer:api-platform/core >= 4.2.0, < 4.2.26; first patched 4.2.26 | composer:api-platform/core >= 4.3.0, < 4.3.12; first patched 4.3.12», но сам по себе не доказывает состояние конкретной установки.
Что подтвердить в inventory — API Platform: привязка relation IRI к ожидаемому типу
Запишите фактически загруженный package api-platform/core, версию и immutable artifact digest. Сопоставьте их с диапазоном «composer:api-platform/core < 4.1.30; first patched 4.1.30 | composer:api-platform/core >= 4.2.0, < 4.2.26; first patched 4.2.26 | composer:api-platform/core >= 4.3.0, < 4.3.12; first patched 4.3.12» и отдельно подтвердите конфигурацию функции «API Platform: привязка relation IRI к ожидаемому типу». Статусы различаются: Not present, Outside range, Candidate и Unknown. Дата образа, зелёный health или запись в lockfile без runtime readback не переводят Candidate в PASS. Карточка разделяет «объект существует», «доступ разрешён» и «тип совместим». PASS требует ожидаемый class metadata до assignment; одинаковый numeric ID разных ресурсов не считается совместимостью.
Безопасный fixture — API Platform: привязка relation IRI к ожидаемому типу
Используйте только следующий изолированный протокол: В fake IRI resolver вернуть два synthetic resource classes; denormalizer/assignment заменить spies и не обращаться к API. Все данные синтетические, объём заранее ограничен, сеть и production-хранилища заменяются spies или in-memory adapters. До запуска сохраните hash fixture, нулевые counters и ожидаемое состояние. После каждой строки меняется одна переменная; роли, версия и конфигурация остаются теми же. Так наблюдение относится к «API Platform: привязка relation IRI к ожидаемому типу», а не к случайной разнице окружений.
Наблюдения и контроль — API Platform: привязка relation IRI к ожидаемому типу
Control обязан доказать, что harness достигает нужной ветки без нарушения. Boundary-case подтверждает stop до запрещённого действия. Снимайте только поля из «property type / IRI resource class / resolver result / assignment calls / verdict», монотонную длительность и sanitised reason code. Не сохраняйте payload, секреты, адреса, полные пути, пользовательские записи или environment dump. Специальная карта этого материала: Карточка разделяет «объект существует», «доступ разрешён» и «тип совместим». PASS требует ожидаемый class metadata до assignment; одинаковый numeric ID разных ресурсов не считается совместимостью.
Как присвоить verdict — API Platform: привязка relation IRI к ожидаемому типу
PASS возможен, когда runtime подтверждён и граничная строка останавливается до состояния «IRI существующего объекта другого resource type может пройти как relation». FAIL требует той же provenance плюс наблюдаемый запрещённый counter или неверный state transition. UNKNOWN ставится при отсутствии версии, configuration snapshot, control или точки наблюдения. NOT_APPLICABLE допустим только при доказанном отсутствии package/entry point. Номер исправленной версии без повторения fixture не считается runtime proof.
Стоп-правило и восстановление — API Platform: привязка relation IRI к ожидаемому типу
Немедленно прекратите проверку, если mismatched class присвоен свойству или ошибка возникла после mutation. Не увеличивайте объём для наглядности и не переносите fixture в production. Восстановите disposable state по исходному hash, освободите test objects и убедитесь, что счётчики сети, процессов, файлов, сессий или записей равны ожидаемым. Если cleanup не доказан, итог остаётся UNKNOWN независимо от основного наблюдения.
Чем материал отличается — API Platform: привязка relation IRI к ожидаемому типу
Создаёт type-binding matrix независимо от существования IRI. Не object authorization: здесь schema/type confusion до assignment. Поэтому нельзя создавать соседнюю страницу простой заменой продукта, ОС или устройства. Если существующий URL уже отвечает тем же intent, pain, answer и decision tree, нужен update/merge, а не новый адрес. Здесь самостоятельная практическая ценность — property type / IRI resource class / resolver result / assignment calls / verdict; особый диагностический контекст: Карточка разделяет «объект существует», «доступ разрешён» и «тип совместим». PASS требует ожидаемый class metadata до assignment; одинаковый numeric ID разных ресурсов не считается совместимостью.
Пакет для владельца — API Platform: привязка relation IRI к ожидаемому типу
Передайте владельцу GHSA GHSA-9rjg-x2p2-h68h, runtime digest, version range «composer:api-platform/core < 4.1.30; first patched 4.1.30 | composer:api-platform/core >= 4.2.0, < 4.2.26; first patched 4.2.26 | composer:api-platform/core >= 4.3.0, < 4.3.12; first patched 4.3.12», включённый entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-07, обновлён 2026-08-07; даты показывают свежесть advisory, но не популярность запроса и не эксплуатацию. После обновления повторите тот же fixture без изменения переменных и сравните state transition, а не только номер версии.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-9rjg-x2p2-h68h проверено 2026-09-02
- Первичный upstream advisory — api-platform/core проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.