• Десктоп утиліта для контролю цілісності та ланцюжка постачання 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)» можна використати як орієнтир для свого брифа: що потрібно зробити, який результат потрібен і який бюджет вказати.