nfprogress
Обновление 4.8 Собственное начало суток В настройки добавлена возможность устанавливать собственный час для начала суток, чтобы успевать продлевать стрик, если ваш режим дня не укладывается в 24 часа.
Я не помню, почему я раньше этого не сделал, а теперь постоянно что-то пишу ровно в 11 вечера, чтобы успеть до полуночи...
🥰1
Выяснилось, что последние версии приложения на Windows стали помечаться как вредоносные из-за механизма обновления.
Вот подробности анализа новейшей ИИ-модели Сол:
Что вызывает подозрения антивирусов:
update_checker.py:553 копирует весь nfprogress.exe под случайным именем в %TEMP% и запускает скрытым отсоединённым процессом.
Затем копия скачивает ZIP, распаковывает его, заменяет исходный EXE и перезапускает приложение. Для ML-антивируса это типичное поведение загрузчика.
В модуле остался неиспользуемый код с PowerShell ExecutionPolicy Bypass и schtasks.exe: update_checker.py:356. Он сейчас не вызывается, но может учитываться статическим анализом.
Windows-сборка создаётся через --onefile: build.yml:97. Nuitka подтверждает, что такой EXE сам распаковывается во временный каталог перед запуском — ещё один признак, похожий на упаковщик вредоносного ПО. Документация Nuitka
В workflow нет Authenticode-подписи. Я проверил опубликованный Windows EXE: PE Security Directory пустой, то есть файл действительно не подписан. Microsoft указывает, что неподписанный файл начинает накапливать репутацию заново при каждом изменении хэша. Документация Microsoft
Скачанное обновление не проверяется ни по SHA-256, ни по Authenticode. Это не доказывает вредоносность, но является реальным риском цепочки обновления.
Вот подробности анализа новейшей ИИ-модели Сол:
Что вызывает подозрения антивирусов:
update_checker.py:553 копирует весь nfprogress.exe под случайным именем в %TEMP% и запускает скрытым отсоединённым процессом.
Затем копия скачивает ZIP, распаковывает его, заменяет исходный EXE и перезапускает приложение. Для ML-антивируса это типичное поведение загрузчика.
В модуле остался неиспользуемый код с PowerShell ExecutionPolicy Bypass и schtasks.exe: update_checker.py:356. Он сейчас не вызывается, но может учитываться статическим анализом.
Windows-сборка создаётся через --onefile: build.yml:97. Nuitka подтверждает, что такой EXE сам распаковывается во временный каталог перед запуском — ещё один признак, похожий на упаковщик вредоносного ПО. Документация Nuitka
В workflow нет Authenticode-подписи. Я проверил опубликованный Windows EXE: PE Security Directory пустой, то есть файл действительно не подписан. Microsoft указывает, что неподписанный файл начинает накапливать репутацию заново при каждом изменении хэша. Документация Microsoft
Скачанное обновление не проверяется ни по SHA-256, ни по Authenticode. Это не доказывает вредоносность, но является реальным риском цепочки обновления.
🔥1
Я буду работать над исправлениями в ближайшее время и постараюсь найти способ подписывать программу без серьезных затрат.
🔥1
Обновление 4.8.1
Обновление системы установки и автообновления
Теперь приложение на Windows устанавливается на компьютер и обновляется с помощью нового механизма.
- Улучшена совместимость с антивирусами Windows.
- Обновления теперь проверяются перед установкой.
- Добавлен отдельный безопасный установщик обновлений.
- Улучшена защита пользовательских данных.
- Переход на новую версию выполняется автоматически.
Обновление системы установки и автообновления
Теперь приложение на Windows устанавливается на компьютер и обновляется с помощью нового механизма.
- Улучшена совместимость с антивирусами Windows.
- Обновления теперь проверяются перед установкой.
- Добавлен отдельный безопасный установщик обновлений.
- Улучшена защита пользовательских данных.
- Переход на новую версию выполняется автоматически.
🔥1
Установщик протестирован, все работает, но Windows все ещё ругается, потому что оно не подписано. Вопрос с подписью буду решать позже.
🔥1
Придется идти в сторону открытия исходного кода, потому что тогда можно будет подписать приложение через специальную организацию. Но для этого надо выбрать лицензию для распространения (я пока этого не сделал). Буду разбираться в следующие выходные.
🕊1
Я правда стесняюсь открывать исходный код, а то там часть написана мной, часть вайбкод...
🥰1
Обновление 4.8.2
Приложение полностью перешло на open source лицензию GPLv3 - код приложения стал полностью открытым.
Приложение полностью перешло на open source лицензию GPLv3 - код приложения стал полностью открытым.
🔥1
Обновление 4.8.3
Добавлены этапы-источники для Общего проекта: теперь можно подключать несколько независимых синхронизаций.
Добавлены этапы-источники для Общего проекта: теперь можно подключать несколько независимых синхронизаций.
🔥1
Мне отказали в выдаче сертификата
Здравствуйте, Роман,
Благодарим вас за подачу заявки на участие в программе SignPath Foundation и за информацию, указанную в форме запроса OSS.
После рассмотрения вашей заявки мы не можем одобрить её на данный момент.
Программа Foundation предназначена для проектов, которые уже завоевали определённый уровень общественного доверия и известности, поэтому при оценке заявок мы обращаем внимание на такие внешние признаки, как поддержка со стороны сообщества (звездочки на GitHub, форки, участники), статьи в сторонних источниках, независимые упоминания или обсуждения (Reddit, Stack Overflow, YouTube и т. д.), а также институциональная поддержка и доказательства устойчивой активности и вовлечённости.
На данный момент ваш проект ещё не демонстрирует достаточного количества таких признаков, чтобы мы могли выдать сертификат Фонда от нашего имени. Это не является оценкой качества или потенциала вашей работы, а связано исключительно с уровнем общественной известности, требуемым программой Фонда.
Мы искренне призываем вас продолжать развитие проекта и приглашаем вас подать заявку повторно, как только он получит более широкое признание; мы с удовольствием рассмотрим её заново.
Если вы хотите продвинуться вперед быстрее, вы также можете использовать SignPath по обычной платной подписке вместо программы «Foundation»:
https://docs.signpath.io/change-subscription
Еще раз благодарим вас за проявленный интерес и желаем дальнейших успехов в реализации вашего проекта.
Здравствуйте, Роман,
Благодарим вас за подачу заявки на участие в программе SignPath Foundation и за информацию, указанную в форме запроса OSS.
После рассмотрения вашей заявки мы не можем одобрить её на данный момент.
Программа Foundation предназначена для проектов, которые уже завоевали определённый уровень общественного доверия и известности, поэтому при оценке заявок мы обращаем внимание на такие внешние признаки, как поддержка со стороны сообщества (звездочки на GitHub, форки, участники), статьи в сторонних источниках, независимые упоминания или обсуждения (Reddit, Stack Overflow, YouTube и т. д.), а также институциональная поддержка и доказательства устойчивой активности и вовлечённости.
На данный момент ваш проект ещё не демонстрирует достаточного количества таких признаков, чтобы мы могли выдать сертификат Фонда от нашего имени. Это не является оценкой качества или потенциала вашей работы, а связано исключительно с уровнем общественной известности, требуемым программой Фонда.
Мы искренне призываем вас продолжать развитие проекта и приглашаем вас подать заявку повторно, как только он получит более широкое признание; мы с удовольствием рассмотрим её заново.
Если вы хотите продвинуться вперед быстрее, вы также можете использовать SignPath по обычной платной подписке вместо программы «Foundation»:
https://docs.signpath.io/change-subscription
Еще раз благодарим вас за проявленный интерес и желаем дальнейших успехов в реализации вашего проекта.
🫡1
Обновление 4.8.7
Исправление багов
У проектов с этапами завершенный этап помечается эмодзи ✅
Исправление багов
У проектов с этапами завершенный этап помечается эмодзи ✅
🔥1