Исправления выходят только для последнего выпуска. Он всегда в разделе Releases; установленная версия видна в заголовке окна и в окне «О программе» (F1).
Не заводите публичный issue: он виден всем до того, как появится исправление.
Воспользуйтесь приватным сообщением GitHub — вкладка Security репозитория, кнопка Report a vulnerability (прямая ссылка). Переписка там видна только вам и владельцу репозитория.
Что помогает разобраться быстрее:
- версия программы и Windows;
- файл, на котором это воспроизводится, — проект
.ygcили чертёж.dxf; - что происходит и чего вы ожидали;
- журнал работы
%LOCALAPPDATA%\GCodeGenerator\logs\gcodegenerator.log.
Ответ придёт в течение недели. Проект ведёт один человек, поэтому сроки исправления зависят от того, насколько глубоко оно затрагивает продукт; о ходе работы вы узнаете в той же переписке.
Программа работает на компьютере пользователя и сети не слушает, поэтому поверхность атаки — это файлы, которые она читает, и то, что она пишет:
- Чтение чужого файла. Проект
.ygcи чертёж.dxfприходят извне — их присылают, скачивают и открывают двойным щелчком. Всё, что позволяет такому файлу выполнить код, прочитать или изменить что-то за пределами открытого документа, — уязвимость. - Установщик. Запись за пределы каталога установки, изменение чужих ключей реестра, подмена запускаемого файла.
- Раскрытие данных. Попадание в журнал или в аварийный снимок того, чего там быть не должно.
Не уязвимость, а обычная ошибка (заводите issue):
- программа падает на повреждённом файле, не выполняя ничего постороннего;
- G-код построен неверно;
- предупреждение SmartScreen на неподписанной сборке — это ожидаемое поведение Windows, но не доказательство безопасности или заражения; порядок проверки SHA-256 и immutable release attestation описан в README.
Несовпадение опубликованного SHA-256, ошибка gh release verify для
официального выпуска или подмена asset с тем же tag — уже повод для приватного
сообщения по процедуре выше, а не для публичного issue.