Устранение уязвимостей безопасности (Security Patch)#2
Open
Antony-hash512 wants to merge 12 commits into
Open
Conversation
…ith nullable canvas ref types
…recations settings in tsconfig files
…tructions in README
…erer crash diagnostics, and optimize MediaBin text array initialization
… E2E state management, and enable software GL via remote debugging port
- Add \`corsEnabled\` and \`standard\` to scheme privileges for Electron 42+ (Chromium blocks cross-origin requests to non-standard schemes in dev) - Implement Content-Type headers by file extension for correct codec selection - Move SwiftShader from automatic (on --remote-debugging-port) to explicit opt-in (KADR_SOFTWARE_GL or genuine headless detection) — upstream Chromium cannot composite video under software rendering due to MailboxVideoFrameConverter limitations, so tests use real GPU when display is available - Fix Range request handling: return 416 on unsatisfiable ranges instead of crash - Clean up: remove 'crashed' event handler (deprecated in Electron 42)
- Increase version to 0.2.0 for Electron 42 compatibility fixes - Add docs/notes/library-updates.md (en) and library-updates-ru.md (ru) documenting protocol privilege requirements, SwiftShader video limitations, and CI setup for headless environments - Reference upstream issues and Chromium docs for future maintainers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Этот пулреквест устраняет 9 уязвимостей (из них 8 высокого уровня критичности — High), обнаруженных через
npm audit. Для устранения рисков потребовался мажорный апгрейд ключевых библиотек и сопутствующая адаптация кодовой базы.В моей версии результат
npm auditтеперь полностью чистый:Результат npm audit до предлагамых мной изменений (кликнете сюда, чтобы открыть/свернуть)
Так же у меня всё собирается и запускается без ошибок т.к. код адаптирован под новые версии библиотек, тесты также у меня выполняются успешно.
🛡️ Что исправлено (Безопасность):
^31.7.7→^42.4.0): Закрыты критические уязвимости обхода целостности ASAR-архивов, инъекций AppleScript, Service Worker Spoofing и утечек памяти (Out-of-bounds read / Use-after-free).^5.4.8→^7.3.5) & esbuild: Устранена уязвимость обхода Cross-origin на локальном dev-сервере и риск удаленного выполнения кода (RCE).^3.7.2→^4.0.4): Обновлен пакетtarдля защиты от перезаписи произвольных файлов (Path Traversal / Symlink Poisoning).🔧 Адаптация кода под новые версии библиотек:
Мажорные обновления потребовали следующих правок в коде:
FragmentGizmoиFragmentOverlaysпод строгие требования React 19. Добавлен.npmrcсlegacy-peer-deps=trueдля бесконфликтной установки зависимостей.electron/main.tsадаптирован под новую версию.@shared/*вtsconfig.json. В компонентеMediaBin.tsxдобавлен безопасный фоллбек для списка текстов.🤖 Как проверить этот PR с помощью Claude Code
Если вы используете Claude Code, вы можете поручить ему автоматически скачать ветку, провести код-ревью и протестировать изменения.
ghчерез пакетный менеджер вашей ос для работы с гитхабомClaude Code автоматически:
gh pr checkout(или аналогичную), чтобы переключиться на нужную ветку.npm run buildили тесты), чтобы убедиться в работоспособности Electron-приложения.