3.4 KiB
Security triage
Дата последнего triage: 2026-06-06
Этот файл фиксирует текущий статус npm audit, принятые решения по
dependency-upgrade и минимальные правила перед релизом. Он не заменяет
регулярное обновление зависимостей: цель в том, чтобы не терять контекст между
релизами и отличать runtime-риск от build-chain риска.
Текущий статус
npm run verify выполняет:
- typecheck;
- tests;
- lint;
- build;
- audit summary.
Наблюдаемый audit snapshot после upgrade:
- 0 vulnerabilities;
npm run verifyпроходит полностью;npm run dist:dirсобирает unpacked Windows build.
Выполненные обновления
electronобновлен до42.3.3;electron-builderобновлен до26.15.0;electron-viteобновлен до5.0.0;viteобновлен до7.3.5;@vitejs/plugin-reactобновлен до5.2.0;electron-updaterобновлен до6.8.9;esbuildобновлен до0.28.0.
vite оставлен на major 7, а не поднят до 8, потому что актуальный
electron-vite@5.0.0 объявляет peer range ^5.0.0 || ^6.0.0 || ^7.0.0.
Переход на Vite 8 стоит делать отдельным шагом после совместимого релиза
electron-vite.
Runtime baseline
Electron является runtime-платформой приложения, поэтому его audit-риск был самым важным. После обновления runtime-риск из audit закрыт, но перед релизом все равно нужен ручной smoke test Electron-поведения.
Текущие mitigations:
sandbox: true;contextIsolation: true;nodeIntegration: false;- строгий preload API через
contextBridge; - IPC runtime validation;
- CSP в renderer
index.html; - allowlist для внешних URL;
- deny-by-default permission handlers;
- запрет
webviewattach; - renderer error/unhandled rejection reporting в main logs.
Build-chain baseline
electron-builder, electron-vite, vite и esbuild обновлены отдельным
шагом от runtime upgrade. npm run dist:dir подтверждает, что packaged build
создается после обновления build-chain.
Перед публикацией installer все равно нужно проверить:
- NSIS installer build через
npm run dist; - запуск установленного приложения;
- сохранение данных в
%APPDATA%\Exercise Reminder\; - auto-update metadata и
update-channel; - импорт/экспорт данных;
- tray behavior;
- main window и reminder window;
- Dota 2 GSI install/uninstall и callback listener.
Release rule
Перед релизом:
npm run verify;npm run dist;- smoke test installed app;
- проверка
update-channel; - повторный
npm audit.
Если новый audit снова сообщает high runtime issue, релиз нужно считать blocked, пока риск не разобран отдельно.