Практическая защитная проверка для MLflow и ghsa-3p64-6gvh-82v5: применимость, один обратимый стендовый опыт, критерий остановки и минимальный пакет владельцу без опасного payload.
Где проходит граница MLflow
Начните с наблюдаемого маршрута, а не с опасного входа. Для MLflow запись ghsa-3p64-6gvh-82v5 описывает конкретный механизм: LogInputs мог отсутствовать в таблице before-request validators и принимать запись в чужой run от любого authenticated user. Проверенная граница пакета: npm:mlflow < 3.15.0; первая исправленная 3.15.0. Сопоставьте её не только с lockfile, но и с artifact, который загрузил процесс: версия, digest, путь запуска и источник сборки должны указывать на один экземпляр. Если MLflow отсутствует либо функция выключена, зафиксируйте not-applicable с доказательством. Если путь есть, а происхождение сборки неясно, оставьте unknown. Backport считается исправлением только при документированном upstream change и воспроизводимом build provenance. Severity medium помогает расставить приоритет, но не доказывает ущерб или эксплуатацию в вашей системе. Даты GitHub — это дата публикации 2026-08-17 и обновления 2026-08-17, а не журнал конкретного сервера.
Карта наблюдений для MLflow
Соберите одну рабочую таблицу именно для этой боли. В неё входят: версия MLflow, режим basic-auth, владельцы двух test runs, mapping handler и audit datasets. Для каждого элемента укажите observed, expected, owner и evidence; пустое поле означает unknown, а не безопасное состояние. Отдельными строками запишите вход, точку policy или parser, побочный объект и способ увидеть отказ. Так можно отличить механизм «LogInputs мог отсутствовать в таблице before-request validators и принимать запись в чужой run от любого authenticated user» от ошибки proxy, cache, прав, старого процесса или смешанных версий на узлах. Снимок делают до update и после него одинаковым способом. Не сохраняйте cookies, tokens, реальные адреса, пользовательские данные, полные логи и домашние пути. Красный health до изменения — самостоятельный инцидент: его нельзя выдавать за результат проверки ghsa-3p64-6gvh-82v5. Итог этой стадии — узкая гипотеза и заранее назначенный человек, который остановит опыт.
Ограниченный опыт без эксплуатации
Безопасный стендовый сценарий для MLflow: создать два пустых run в стенде и от второго пользователя отправить минимальный dataset label в чужой и собственный run. Сначала выполните нормальное действие A, затем один граничный случай B и снова нормальное действие A2. Одновременно не меняйте dependency, network policy, права и storage. Критерий записывается до запуска: чужой run отвечает 403 и не меняется, собственный получает ровно одну тестовую запись, auth hook виден в trace. Полученный 500, timeout, crash, ручная правка, пустой ответ или отсутствие записи в журнале не считаются подтверждением. Fixture должен быть синтетическим, размер и время — ограниченными, а среда — disposable. Не используйте рабочий payload advisory и не направляйте запрос к чужой системе. Если A2 отличается от A, эксперимент завершён неуспешно даже при ожидаемом ответе на B: сначала восстановите baseline и выясните побочный эффект.
Решение, остановка и очистка
Решение passed-bounded-check допустимо лишь при одновременном совпадении package boundary, фактического digest, результата A/B/A2 и зелёного health после очистки. В остальных случаях используйте update-required, patched-unverified, failed-safe-check или unknown. Жёсткая стоп-линия: нужно трогать реальный experiment, копировать пароль или повышать роль пользователя. После остановки не повышайте нагрузку, глубину, права или длительность. План возврата для этой карточки: удалить оба runs и тестового пользователя, отозвать сессию и сверить пустой audit. Владельцу передайте минимальный набор: версия, синтетические run IDs, HTTP outcomes, dataset counts и подтверждение отзыва. Добавьте время, ожидаемый исход, две прямые ссылки и ответственного за cleanup. Такой пакет позволяет независимо повторить рассуждение, но не превращает локальный опыт в общую гарантию безопасности MLflow, не доказывает спрос и не обещает индексацию либо позиции.
Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным и первичным источникам; факты, даты, версии и ссылки перепроверены. Реальные пользовательские данные, активные опасные payload и вымышленные результаты тестов не использовались.
Источники и проверка
- GitHub Advisory Database ghsa-3p64-6gvh-82v5 по MLflow проверено 2026-08-30
- Прямая upstream-страница MLflow проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.