Навигация
Кейсы
Инсайты
О нас
Вакансии
sales@techsolution.ru
ERG

Документация

Описание функциональных характеристик ПО «ERG»

  • Публичная документация программного обеспечения
  • Программное обеспечение: «ERG», версия 0.1.0
  • Правообладатель: ООО «Тех Солюшен»
  • ИНН 7707445409 • ОГРН 1207700425569
Скачать документ (PDF)
Наименование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 проверяет целостность подписи и сертификат подписанта.
  • Пакет правил «Безопасность (расширенная)» предусмотрен архитектурой и наполняется по требованиям служб информационной безопасности заказчиков.