Безопасная проверка PraisonAI ast_grep_rewrite: единый approval gate для мутаций по GHSA-cfxv-8fw8-rwpv: runtime inventory, изолированный fixture, измеримый verdict, стоп-правило и минимальный evidence bundle.
Короткий ответ — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Для запроса «проверить, что ast_grep_rewrite требует то же подтверждение, что и соседние файловые mutation tools» нужен не агрессивный тест, а доказательная цепочка из четырёх состояний: runtime подходит под границу, entry point реально включён, безопасный control проходит, граничный fixture останавливается до побочного эффекта. Боль этого материала — один sibling-инструмент может изменить файл без обязательного approval. Результат оформляется как tool / approval state / write attempts / file hash / verdict. Advisory GHSA-cfxv-8fw8-rwpv задаёт ориентир «pip:praisonaiagents < 1.6.58; first patched 1.6.58», но сам по себе не доказывает состояние конкретной установки.
Что подтвердить в inventory — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Запишите фактически загруженный package praisonaiagents, версию и immutable artifact digest. Сопоставьте их с диапазоном «pip:praisonaiagents < 1.6.58; first patched 1.6.58» и отдельно подтвердите конфигурацию функции «PraisonAI ast_grep_rewrite: единый approval gate для мутаций». Статусы различаются: Not present, Outside range, Candidate и Unknown. Дата образа, зелёный health или запись в lockfile без runtime readback не переводят Candidate в PASS. Вместо поиска опасной конструкции карточка проверяет архитектурную инварианту: все mutation tools проходят один gate. Таблица помечает read-only, preview, denied и approved состояния, а cleanup сверяет исходный hash.
Безопасный fixture — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Используйте только следующий изолированный протокол: Создать temp-файл с canary hash, вызвать tool adapters только в dry-run/denied approval state и наблюдать write spy; затем подтвердить один control-вызов. Все данные синтетические, объём заранее ограничен, сеть и production-хранилища заменяются spies или in-memory adapters. До запуска сохраните hash fixture, нулевые counters и ожидаемое состояние. После каждой строки меняется одна переменная; роли, версия и конфигурация остаются теми же. Так наблюдение относится к «PraisonAI ast_grep_rewrite: единый approval gate для мутаций», а не к случайной разнице окружений.
Наблюдения и контроль — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Control обязан доказать, что harness достигает нужной ветки без нарушения. Boundary-case подтверждает stop до запрещённого действия. Снимайте только поля из «tool / approval state / write attempts / file hash / verdict», монотонную длительность и sanitised reason code. Не сохраняйте payload, секреты, адреса, полные пути, пользовательские записи или environment dump. Специальная карта этого материала: Вместо поиска опасной конструкции карточка проверяет архитектурную инварианту: все mutation tools проходят один gate. Таблица помечает read-only, preview, denied и approved состояния, а cleanup сверяет исходный hash.
Как присвоить verdict — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
PASS возможен, когда runtime подтверждён и граничная строка останавливается до состояния «один sibling-инструмент может изменить файл без обязательного approval». FAIL требует той же provenance плюс наблюдаемый запрещённый counter или неверный state transition. UNKNOWN ставится при отсутствии версии, configuration snapshot, control или точки наблюдения. NOT_APPLICABLE допустим только при доказанном отсутствии package/entry point. Номер исправленной версии без повторения fixture не считается runtime proof.
Стоп-правило и восстановление — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Немедленно прекратите проверку, если hash изменился до approval или tool обошёл общий policy hook. Не увеличивайте объём для наглядности и не переносите fixture в production. Восстановите disposable state по исходному hash, освободите test objects и убедитесь, что счётчики сети, процессов, файлов, сессий или записей равны ожидаемым. Если cleanup не доказан, итог остаётся UNKNOWN независимо от основного наблюдения.
Чем материал отличается — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Сравнивает policy parity для sibling tools на одном неизменном файле. Не filesystem traversal: проверяется обязательность пользовательского подтверждения. Поэтому нельзя создавать соседнюю страницу простой заменой продукта, ОС или устройства. Если существующий URL уже отвечает тем же intent, pain, answer и decision tree, нужен update/merge, а не новый адрес. Здесь самостоятельная практическая ценность — tool / approval state / write attempts / file hash / verdict; особый диагностический контекст: Вместо поиска опасной конструкции карточка проверяет архитектурную инварианту: все mutation tools проходят один gate. Таблица помечает read-only, preview, denied и approved состояния, а cleanup сверяет исходный hash.
Пакет для владельца — PraisonAI ast_grep_rewrite: единый approval gate для мутаций
Передайте владельцу GHSA GHSA-cfxv-8fw8-rwpv, runtime digest, version range «pip:praisonaiagents < 1.6.58; first patched 1.6.58», включённый entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-25, обновлён 2026-08-25; даты показывают свежесть advisory, но не популярность запроса и не эксплуатацию. После обновления повторите тот же fixture без изменения переменных и сравните state transition, а не только номер версии.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-cfxv-8fw8-rwpv проверено 2026-09-02
- Первичный upstream advisory — praisonaiagents проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.