- Порезанный
- 23 сентября 2026 г. в 01:50 UTC
- Автор
- Kamo
- Обещать
- 9060c7c
Три независимых вывода, зафиксированных вместе, потому что первые два разделяют файлы и класс. 1. AiMcpController имеет нулевую правильную проверку на создание/обновление/удаление/испытание - любой зарегистрированный член Организация может установить конфигурацию сервера MCP и McpStdioTransport. запускает config.command с config.envVars как реальный процесс ОС (новый ProcessBuilder(...)start()), Начало работы шлюза и повторный осмотр каждые 30 лет. Это недостоверный RCE против mcp-gateway-service. Каждый обработчик мутаций / тестов теперь требует MANAGE AI SETTINGS, сопоставления AiProviderController, и STDIO отказано напрямую для организации-созданной конфигурацией - Арендатор может настроить только SSE/HTTP. (ai mcp server configs имеет 0 строк; миграция не требуется.) 2. SSRF: **************** отправила расшифрованный ключ поставщика организации какой бы хост ни находился в baseUrl и отражал ответ, и OpenAiCompatibleAdapter (который обслуживает 8 из 12 типов провайдеров) не имеет правила хоста ни на одном из трех исходящих вызовов; Включая реальный путь чата, который принимает каждое сообщение, а не только кнопку ручного тестирования. Добавлено OutboundUrlGuard, построенный на существующей библиотеке kamo-shared-library PublicHostGuard SafeSiteFetcher и SafeImageFetcher для одного и того же класса задач хозяин и отказывается от **************** адресов и имена только для кластеров (*.svc, *.cluster.local, dotless), проверенные во время сохранения AiProviderController и AiMcpController и снова непосредственно перед каждым вызовом OpenAiCompatibleAdapter, поскольку DNS-ответ имени хоста во время сохранения не является его ответом навсегда. Отказ - это простой 400 с нашим собственным сообщением - без необработанных сетевых исключений и без подключения. когда-либо пытался отказать в назначении. 3. **************** UserId) запрашивал записи об использовании, а затем, Безоговорочно, возвращенная правда — каждый запрос AiAccessPolicy был декоративным. The Два реальных сайта вызовов (потоковая передача и синхронизация чатов ChatOrchestrationService) теперь решают все проблемы. роль, которую член выполняет, и обеспечение соблюдения политики каждой роли: роль без согласованных грантов не имеет собственных ограничений, но также не может отменить ограничительную политику, назначенную через Другая роль, которую выполняет член. Утраченная 2-арг перегрузка прошла. Тесты: AiMcpControllerAuthzTest (права + отказ STDIO + валидация URL), OutboundUrlGuardTest, AiProviderKeyExposureTest (2 новых случая SSRF), **************** AccessPolicyMultiRoleTest. Каждый случай был проверен красным против кода предварительного исправления перед этим совершением. (недопустимые права, доверие к органам, отсутствие опеки и всегда реальная квота проверяет каждый вновь введенный на местном уровне, один раз за разом, и восстановлен после подтверждения соответствия теста не удался. mcp-gateway-service получает соответствующее обязательство: независимый список разрешений STDIO (глубокая оборона, безопасность и безопасность). Если эта проверка когда-либо обойдена) и его собственная проверка перед подключением на URL конфигуратора SSE / HTTP.
