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

ChromaDB: проверка запрета remote model code

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

Защитная инструкция по ChromaDB и ghsa-36p7-vc44-83pf: проверить применимость, выполнить обратимый стендовый сценарий, распознать безопасный исход и остановиться без опасного payload.

Паспорт применимости: ChromaDB

Опишите проверяемое свойство без воспроизведения атаки. Для ChromaDB Reviewed advisory ghsa-36p7-vc44-83pf подтверждает отдельную проблему: update collection с model repository и trust_remote_code мог разрешить authenticated пользователю загрузить исполняемый код. Пакетная граница записи: pip:chromadb >= 0.4.17, <= 1.5.9; исправленная версия в Reviewed record не указана. После lockfile проверяют runtime version, digest, команде запуска и build provenance. Не найденный runtime или закрытая функция дают not-applicable с доказательством; при неизвестном происхождении — unknown. Severity critical задаёт приоритет разбора, но не доказывает эксплуатацию, ущерб или состояние конкретной установки. GitHub фиксирует публикацию 2026-06-12 и обновление 2026-08-24; эти даты не заменяют локальный inventory.

Наблюдения до изменения ChromaDB

До update или containment сохраните набор наблюдений, специфичный для этой карточки: версия chromadb, UPDATE_COLLECTION role, model allowlist, trust_remote_code default, outbound policy и process audit. Рядом с каждым наблюдением сохраняют происхождение, время и ответственного. Используйте expected, observed, unknown и not-applicable; пропуск остаётся unknown. Отдельно укажите входной субъект, policy/parser, защищаемый объект и вид контролируемого отказа. Это отделяет «update collection с model repository и trust_remote_code мог разрешить authenticated пользователю загрузить исполняемый код» от обычной ошибки конфигурации, stale process, proxy/cache или прежнего инцидента. Не меняйте метод наблюдения между начальным и итоговым baseline. Редактируйте tokens, cookies, реальные адреса, персональные данные и закрытые пути; полные дампы в редакционный пакет не входят. Если health был красным заранее, сначала закройте этот инцидент.

Стендовый сценарий без опасного входа

Единственный разрешённый лабораторный шаг: в пустой collection указать локальный неисполняемый model manifest с trust_remote_code=true и отсутствующим allowlist entry. Сначала проходит штатный A, затем один boundary B и снова A2. До запуска задают synthetic input, disposable scope, time и resource budget. Ожидаемый исход записывают до запуска: запрос отклоняется до загрузки repository, outbound count и process diff равны нулю, обычное metadata update работает. Между A, B и A2 не меняйте одновременно dependency, роли, network и storage. Нестабильный ответ, падение или корректировка стенда дают failed-safe-check. Не копируйте рабочий exploit из источника, не направляйте запрос к чужой системе и не используйте production данные. Если A2 отличается от A, вернитесь к baseline.

Как классифицировать результат

Таблица решения для ChromaDB содержит version boundary, runtime digest, active-path evidence, исходы A/B/A2, health и cleanup. Статус passed-bounded-check допустим только когда запрос отклоняется до загрузки repository, outbound count и process diff равны нулю, обычное metadata update работает. Вердикты ограничены update-required, patched-unverified, unknown и failed-safe-check согласно evidence. Если Reviewed record не называет first patched version, не придумывайте её: используйте vendor release или containment и оставляйте patch boundary unknown. Зелёный fixture относится только к этому deployment и времени. Он не является общей гарантией безопасности ChromaDB, не исключает соседние дефекты и не доказывает качество всей установки.

Остановка, возврат и передача владельцу

Красный флаг для остановки: нужен реальный model code, внешний repository, production collection или ослабление role. При stop criterion эксперимент не масштабируют ни по правам, ни по ресурсам. Заранее подготовленный возврат: удалить collection/user, закрыть mock registry, вернуть policy и проверить отсутствие cache. Для cleanup нужны успешный A2, нулевые изменения вне fixture и удалённые временные ресурсы. Владелец получает только такой минимальный пакет: wheel digest, role/policy decisions, network/process counts, metadata diff и cleanup. Добавьте время, expected/actual, две прямые ссылки и ответственного за очистку. Не включайте секреты, активный payload, личные обстоятельства и инфраструктуру третьих лиц. Документ фиксирует путь проверки; он не прогнозирует SEO и не приписывает читателю выполненный опыт.

Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным, первичным и исследовательским источникам; факты, даты, версии и ссылки перепроверены. Реальные пользовательские данные, активные опасные payload и вымышленные результаты тестов не использовались.

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

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

Ответы

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

Ваш ответ

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

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

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