• Десктоп утилита для контроля целостности и цепочки поставки SDK в Windows (проверка хэшей, Authenticode, SBOM)

    14 часов назад
    • Желаемый бюджет до 650.47 USD
    • Ожидает исполнителя...
  • Исходная ситуация
    В команде разработки под Windows используется внутренний набор SDK и CLI-утилит, которые распространяются как ZIP/MSI и часто обновляются. Сейчас проверка целостности делается вручную по заметкам в Wiki, из-за чего периодически в сборку попадают неподписанные или модифицированные бинарники, а также «потерянные» версии без прозрачного состава.

    Техническая среда и предметная область
    - Windows 10/11 x64
    - .NET 8 Desktop (WPF или WinUI 3) или C++/Qt - на выбор, но результат должен быть готовой десктоп программой с инсталлятором
    - Репозитории/артефакты: локальная папка, сетевой шаринг (UNC), а также скачанные ZIP/MSI
    - Проверки: SHA-256/SHA-512, Authenticode (WinVerifyTrust), базовая валидация сертификатной цепочки, сбор SBOM (CycloneDX или SPDX) по содержимому пакета

    Что требуется сделать (несколько этапов)
    1) Анализ формата поставки и правил
    - На вход даётся 10-15 типовых пакетов (ZIP/MSI) и пример текущих правил в виде таблицы (ожидаемые файлы, маски, версии, требования к подписи)
    - Нужно уточнить и зафиксировать в конфиге приложения схему правил: допустимые имена/маски, обязательные файлы, допустимые издатели сертификатов, минимальные версии, исключения

    2) Разработка десктоп приложения
    - Приложение выбирает источник (папка/UNC/файл ZIP/MSI), распаковывает во временную область, строит дерево файлов и выполняет проверки
    - Генерирует отчёт в двух видах: человекочитаемый (PDF или HTML-файл) и машинный (JSON)
    - Поддерживает профили правил (например Dev/CI/Release) с переключением
    - Имеет режим «сравнить два пакета» - показывает разницу по файлам, хэшам, подписям и версиям

    3) Реализация проверок
    - Хэширование каждого файла и сравнение с эталоном, если он задан
    - Проверка Authenticode для PE-файлов: статус подписи, издатель, срок действия сертификата на момент подписи, отметка времени (timestamp) если есть
    - Для неподписанных или с ошибкой подписи файлов - отдельный список с причиной
    - Проверка версий для EXE/DLL через FileVersionInfo и сравнение с правилами
    - SBOM: сформировать перечень файлов с метаданными (путь, размер, хэш, версия где применимо), упаковать в CycloneDX/SPDX JSON; допускается упрощённый вариант без анализа зависимостей, но с корректной схемой и идентификаторами компонентов на уровне файлов/пакета

    4) Упаковка и поставка
    - Сборка готового установщика (MSIX или MSI/WiX, или Squirrel - на выбор) и portable-версии
    - Логи диагностики (файл лога) и понятные сообщения об ошибках
    - Короткая инструкция (README на русском) как добавлять/менять правила и как запускать проверку

    Ограничения
    - Всё должно работать офлайн, без внешних облачных сервисов
    - Нельзя требовать установки тяжёлых зависимостей у пользователя (кроме стандартного .NET Desktop Runtime, если выбран .NET)
    - На пакете размером до 3 ГБ и 50 000 файлов проверка должна укладываться в 7 минут на ПК уровня i7/16GB/SSD, прогресс должен отображаться
    - Временные файлы должны очищаться автоматически даже при ошибках

    Измеримые критерии приёмки
    - На предоставленных тестовых пакетах приложение выдаёт одинаковые результаты при повторных запусках, отчёт JSON валиден и соответствует согласованной схеме
    - Для 5 заранее подготовленных кейсов (подписанный файл, неподписанный, подпись с просроченным сертификатом без timestamp, подпись с timestamp, файл с неверной версией) приложение корректно классифицирует статус и отражает причину в отчёте
    - Режим сравнения двух пакетов показывает минимум: добавленные/удалённые/изменённые файлы, изменения хэшей, изменения статуса подписи, изменения версий
    - Установщик ставит и удаляет приложение без мусора, portable-версия запускается без установки

    Что будет предоставлено
    - Набор тестовых ZIP/MSI (через ссылку/архив), текущая таблица правил, список доверенных издателей, примеры ожидаемых отчётов (в любом виде)

    Ожидаемый результат
    Готовая десктоп программа для Windows, исходники, конфиги правил, установщик и portable-сборка, плюс минимальный набор авто-тестов для логики проверок (хотя бы unit-тесты на разбор правил и классификацию статусов подписи).
  • Как вы оцениваете это задание?

    Войдите в аккаунт, чтобы оставить свою оценку.

    Всего оценок: 0

Ваше предложение

Вы ещё не оставили предложение к этому заказу.
Нажмите «Предложить услугу», чтобы отправить своё предложение.

Нужно похожее задание?

Если задача похожа на вашу, можно посмотреть готовые услуги в категории или создать свое задание с нужным бюджетом, сроками и требованиями.

Задание «Десктоп утилита для контроля целостности и цепочки поставки SDK в Windows (проверка хэшей, Authenticode, SBOM)» можно использовать как ориентир для своего брифа: что нужно сделать, какой результат нужен и какой бюджет указать.