-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Summary
The backend auto-updater has critical cross-platform compatibility and security issues. Currently disabled in backend/cmd/main.go:90.
Critical Issues
- Cross-platform: Uses Windows-specific commands (
tasklist/taskkill), hard-coded.exeextensions - Security: No signature/checksum verification of downloaded binaries
- Reliability: Race conditions, no error handling, no rollback mechanism
- Production: Blocking user prompts unsuitable for automated deployments
Current Implementation
backend/cmd/main.go:668-766- Update logicupdater/main.go- Platform-specific updater- Checks GitHub releases API, prompts user, downloads/replaces binary
Required Fixes
- Replace Windows-specific process management with cross-platform Go stdlib
- Add cryptographic verification of downloaded binaries
- Implement proper error handling and rollback capability
- Add configuration for automated vs interactive modes
- Fix release artifact naming consistency
Files
backend/cmd/main.go(update logic commented out)updater/main.go(main implementation).github/workflows/release.yaml(packaging)