Безопасная проверка Vikunja: проверка parent_project_id при write-only доступе по GHSA-44v6-7fxq-vgf4: runtime inventory, изолированный fixture, измеримый verdict, стоп-правило и минимальный evidence bundle.
Короткий ответ — Vikunja: проверка parent_project_id при write-only доступе
Для запроса «проверить право изменять и обнулять parent_project_id у общего проекта» нужен не агрессивный тест, а доказательная цепочка из четырёх состояний: runtime подходит под границу, entry point реально включён, безопасный control проходит, граничный fixture останавливается до побочного эффекта. Боль этого материала — write-only участник может изменить иерархию, не имея права управлять родителем. Результат оформляется как role / child / requested parent / hierarchy delta / verdict. Advisory GHSA-44v6-7fxq-vgf4 задаёт ориентир «go:code.vikunja.io/api >= 2.3.0, < 2.4.0; first patched 2.4.0», но сам по себе не доказывает состояние конкретной установки.
Что подтвердить в inventory — Vikunja: проверка parent_project_id при write-only доступе
Запишите фактически загруженный package code.vikunja.io/api, версию и immutable artifact digest. Сопоставьте их с диапазоном «go:code.vikunja.io/api >= 2.3.0, < 2.4.0; first patched 2.4.0» и отдельно подтвердите конфигурацию функции «Vikunja: проверка parent_project_id при write-only доступе». Статусы различаются: Not present, Outside range, Candidate и Unknown. Дата образа, зелёный health или запись в lockfile без runtime readback не переводят Candidate в PASS. Fixture различает право редактировать содержимое и право перестраивать hierarchy. После каждой строки связь восстанавливается по snapshot, поэтому отрицательный тест не оставляет orphan и не маскирует следующую проверку.
Безопасный fixture — Vikunja: проверка parent_project_id при write-only доступе
Используйте только следующий изолированный протокол: В in-memory репозитории создать parent и child, затем одной write-only ролью запросить прежнего родителя, чужого родителя и zero; считать только mutation counter и итоговую связь. Все данные синтетические, объём заранее ограничен, сеть и production-хранилища заменяются spies или in-memory adapters. До запуска сохраните hash fixture, нулевые counters и ожидаемое состояние. После каждой строки меняется одна переменная; роли, версия и конфигурация остаются теми же. Так наблюдение относится к «Vikunja: проверка parent_project_id при write-only доступе», а не к случайной разнице окружений.
Наблюдения и контроль — Vikunja: проверка parent_project_id при write-only доступе
Control обязан доказать, что harness достигает нужной ветки без нарушения. Boundary-case подтверждает stop до запрещённого действия. Снимайте только поля из «role / child / requested parent / hierarchy delta / verdict», монотонную длительность и sanitised reason code. Не сохраняйте payload, секреты, адреса, полные пути, пользовательские записи или environment dump. Специальная карта этого материала: Fixture различает право редактировать содержимое и право перестраивать hierarchy. После каждой строки связь восстанавливается по snapshot, поэтому отрицательный тест не оставляет orphan и не маскирует следующую проверку.
Как присвоить verdict — Vikunja: проверка parent_project_id при write-only доступе
PASS возможен, когда runtime подтверждён и граничная строка останавливается до состояния «write-only участник может изменить иерархию, не имея права управлять родителем». FAIL требует той же provenance плюс наблюдаемый запрещённый counter или неверный state transition. UNKNOWN ставится при отсутствии версии, configuration snapshot, control или точки наблюдения. NOT_APPLICABLE допустим только при доказанном отсутствии package/entry point. Номер исправленной версии без повторения fixture не считается runtime proof.
Стоп-правило и восстановление — Vikunja: проверка parent_project_id при write-only доступе
Немедленно прекратите проверку, если изменилась связь вне разрешённого дерева или потерялся исходный parent. Не увеличивайте объём для наглядности и не переносите fixture в production. Восстановите disposable state по исходному hash, освободите test objects и убедитесь, что счётчики сети, процессов, файлов, сессий или записей равны ожидаемым. Если cleanup не доказан, итог остаётся UNKNOWN независимо от основного наблюдения.
Чем материал отличается — Vikunja: проверка parent_project_id при write-only доступе
Даёт двухпроектную матрицу сохранения и восстановления иерархии. Не повторяет чтение объекта: здесь отдельная мутация дерева проектов. Поэтому нельзя создавать соседнюю страницу простой заменой продукта, ОС или устройства. Если существующий URL уже отвечает тем же intent, pain, answer и decision tree, нужен update/merge, а не новый адрес. Здесь самостоятельная практическая ценность — role / child / requested parent / hierarchy delta / verdict; особый диагностический контекст: Fixture различает право редактировать содержимое и право перестраивать hierarchy. После каждой строки связь восстанавливается по snapshot, поэтому отрицательный тест не оставляет orphan и не маскирует следующую проверку.
Пакет для владельца — Vikunja: проверка parent_project_id при write-only доступе
Передайте владельцу GHSA GHSA-44v6-7fxq-vgf4, runtime digest, version range «go:code.vikunja.io/api >= 2.3.0, < 2.4.0; first patched 2.4.0», включённый entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-28, обновлён 2026-08-28; даты показывают свежесть advisory, но не популярность запроса и не эксплуатацию. После обновления повторите тот же fixture без изменения переменных и сравните state transition, а не только номер версии.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-44v6-7fxq-vgf4 проверено 2026-09-02
- Первичный upstream advisory — code.vikunja.io/api проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.