- Guard against path traversal in plugin-resolver.js: skill paths from unverified marketplace.json are now constrained to the repo root using path.resolve() + startsWith check - Skip npm install during browsing phase: cloneRepo() accepts skipInstall option, used in ui.js before user confirms selection, preventing arbitrary lifecycle script execution from untrusted repos - Add createModuleDirectories() call to installFromResolution() so modules with declarative directory config are fully set up - Fix ESLint: use replaceAll instead of replace with global regex |
||
|---|---|---|
| .. | ||
| community-manager.js | ||
| custom-module-manager.js | ||
| external-manager.js | ||
| official-modules.js | ||
| plugin-resolver.js | ||
| registry-client.js | ||
| registry-fallback.yaml | ||