security: стабилизационный аудит Lua plugin system
Исправления: - Install: идемпотентность (no duplicates in InstalledPlugins) - ReloadPlugins: StopSchedulers + CallShutdownHooks перед CloseRuntimes - StopSchedulers: обнуление scheduler=nil после остановки - Scheduler.Stop: обнуление tasks после wg.Wait - Lua sandbox: блокировка package.loadlib/seeall/preload/loaders/loaded/path/cpath/config/searchpath - Lua sandbox: блокировка load (глобальная функция) - CallPluginFunction: валидация funcName (regex [a-zA-Z_][a-zA-Z0-9_]*, max 3 segments) - CallPluginFunction: убрана строковая сборка Lua-кодa, вызов через PCall напрямую - PluginPage.svelte: проверка e.source === iframeEl.contentWindow - PluginPage.svelte: type checking для msg.source, msg.action Тесты: - security_test.go: 18 новых тестов (sandbox, lifecycle, validation) - Все существующие тесты проходят Документация: - docs/plugins-security.md: модель безопасности, sandbox, протокол, lifecycle
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user