Документация
Описание функциональных характеристик ПО «ERG»
- Публичная документация программного обеспечения
- Программное обеспечение: «ERG», версия 0.1.0
- Правообладатель: ООО «Тех Солюшен»
- ИНН 7707445409 • ОГРН 1207700425569
| Наименование | ERG — офлайн-аудит готовности iOS-сборок к корпоративному выпуску |
|---|---|
| Версия | 0.1.0 |
| Правообладатель | ООО «Тех Солюшен» |
| Тип ПО | Настольное приложение |
| Поддерживаемые ОС | Astra Linux Special Edition 1.7 и 1.8; РЕД ОС 7.3 и 8; macOS 13 и новее (дополнительно) |
| Язык интерфейса и документации | Русский |
1. Назначение
ERG предназначена для организаций, которые выпускают iOS-приложения для своих сотрудников через программу Apple Developer Enterprise Program. При таком выпуске приложения не проходят проверку магазина приложений, и ответственность за качество и безопасность сборки лежит на организации.
ERG выполняет проверку сборки, полученной от разработчика (в том числе от подрядчика), до её подписи и распространения. Программа выявляет ошибки, из-за которых приложение не установится, аварийно завершится у пользователей или создаст угрозу безопасности. Для каждого замечания указаны причина, место в сборке, способ исправления и ответственный (разработчик сборки или выпускающая организация).
2. Основные функции
2.1. Приём сборки любого формата
- Архив Xcode (
.xcarchive), пакет.ipa, каталог приложения.app, ZIP-архив с любым из них. - Подписанные и неподписанные сборки.
- Дополнительно — профили распространения
.mobileprovision, файл прав приложения (entitlements.plist), файл установки по ссылке (manifest.plist). - Входные файлы не изменяются: программа работает только на чтение.
2.2. Проверка содержимого сборки (21 правило)
- Конфигурация сборки (Release, а не Debug); отсутствие отладочных и тестовых SDK, исходного кода и служебных файлов.
- Корректность версии и номера сборки, рост номера относительно предыдущей проверки.
- Наличие текстов запросов разрешений для используемых чувствительных функций (камера, микрофон, геолокация, контакты, фотографии, календарь, Bluetooth, Face ID, датчики движения, «Здоровье», NFC и др.) — определяется анализом исполняемого кода.
- Настройки защиты сетевых соединений (App Transport Security), фоновые режимы работы.
- Архитектуры исполняемых файлов (наличие кода для устройств arm64, лишние слайсы симулятора), расположение динамических библиотек.
- Идентификаторы приложения и расширений, обязательные метаданные, манифест приватности.
- Ключи, токены и секреты в файлах и коде (с маскированием значения в отчёте); адреса тестовых стендов и локальных машин; незашифрованные HTTP-адреса.
- Состав сторонних SDK и его изменения относительно предыдущей проверки; размер сборки и его рост.
2.3. Проверка совместимости с профилями распространения (6 правил)
- Тип профиля (внутренний enterprise-профиль, а не тестовый или для магазина).
- Срок действия профиля и сертификатов; заблаговременное предупреждение об окончании срока.
- Соответствие команды (Team ID) учётной записи организации.
- Наличие профиля для приложения и каждого расширения.
- Наличие в профиле возможностей, необходимых приложению (push-уведомления, App Groups, iCloud, Associated Domains и др.).
2.4. Проверка подписи сборки (6 правил, включается в настройках)
- Целостность подписи: хэши каждой страницы исполняемого кода, Info.plist, списка ресурсов и прав сверяются с подписью — выявляется любое изменение сборки после подписи.
- Сертификат подписанта: сертификат распространения (а не разработчика или подпись без сертификата), срок действия.
- Единая команда (Team ID) для всех исполняемых файлов.
- Вложенный профиль: enterprise-тип, срок, соответствие bundle ID, наличие в нём сертификата подписи.
- Права в подписи разрешены профилем; отладка (get-task-allow) выключена; push-уведомления на боевом сервере.
2.5. Проверка файла установки по ссылке (2 правила)
- Соответствие идентификатора, версии и названия в
manifest.plistсборке. - Использование защищённых HTTPS-ссылок.
2.6. Отчёты
- Вердикт: «Готово», «Готово с предупреждениями», «Не готово»; число блокеров, предупреждений и замечаний для сведения.
- Полный отчёт и отдельный отчёт для разработчика (только замечания, исправляемые в сборке).
- Формат HTML, оформление для печати и сохранения в PDF; отчёт самодостаточен и не содержит внешних ссылок.
2.7. История проверок и настройки
- Журнал всех проверок: дата, файл, приложение, версия, вердикт.
- Сравнение с предыдущей проверкой того же приложения.
- Настройки: минимальная версия iOS в парке устройств, Team ID, пороги предупреждений.
2.8. Лицензирование
- Подписка по приложениям: лицензия содержит перечень приложений с оплаченным периодом.
- Привязка лицензии к компьютеру; пробный период 5 дней для одного приложения.
- Активация и продление без подключения к сети (по файлу ключа).
3. Отличительные характеристики
- Полностью офлайн. Программа не выполняет сетевых соединений, не имеет автоматического обновления и телеметрии. Сборки и отчёты не покидают компьютер пользователя.
- Нет управления и обновления из-за рубежа. Обновление — только установка новой версии пользователем.
- Не требует средств Apple и macOS для проверки: анализ форматов выполняется собственными средствами программы.
- Справочник правил (приложение «Справочник правил») формируется из кода программы и всегда соответствует версии.
4. Технические требования
| Минимум | |
|---|---|
| Процессор | x86-64, 2 ядра |
| Оперативная память | 2 ГБ (4 ГБ для сборок крупнее 500 МБ) |
| Место на диске | 100 МБ для программы + место под отчёты и историю |
| Графика | OpenGL 2.1 или программная отрисовка (Mesa) |
| Графическая среда | X11 (Fly, MATE, KDE и др.); Wayland поддерживается |
| Сеть | Не требуется |
5. Ограничения версии 0.1.0
- Криптографическая проверка подписи по цепочке сертификатов Apple выполняется устройством iOS при установке; ERG проверяет целостность подписи и сертификат подписанта.
- Пакет правил «Безопасность (расширенная)» предусмотрен архитектурой и наполняется по требованиям служб информационной безопасности заказчиков.