Перейти к содержанию

Наличие скриптов сборки в собранном пакете приложения

Критичность: ИНФО
Способ обнаружения: DAST, SENSITIVE INFO, FILES

Описание

В пакете приложения присутствуют файлы скриптов, которые используются в процессе сборки приложения. Наличие таких файлов может помочь злоумышленнику в определении особенностей процесса сборки, а также потенциально раскрыть информацию о внутренних репозиториях (если используются внутренние компоненты).

Рекомендации

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

  1. Если отсутствует файл пользовательских настроек для сборки, необходимо его создать.

  2. Добавить ключ настройки EXCLUDED_SOURCE_FILE_NAMES, если он отсутствует.

  3. Добавить значение настройки, какие файлы и папки необходимо исключить из конечной сборки приложения.

Значение настройки EXCLUDED_SOURCE_FILE_NAMES поддерживает шаблоны (wildcard), поэтому одним правилом можно исключить целые группы вспомогательных файлов, например *.sh, *.py, Scripts/*. Дополнительно убедитесь, что во вкладке Build Phases в фазе Copy Bundle Resources не указаны скрипты сборки и иные служебные файлы — попадание файла в эту фазу приводит к его включению в итоговый пакет.

Проверка результата

После пересборки распакуйте .ipa (это zip-архив) и убедитесь, что скрипты сборки отсутствуют в каталоге Payload/<AppName>.app/.

Ссылки

  1. Build settings reference — EXCLUDED_SOURCE_FILE_NAMES
  2. OWASP MASTG — iOS Application Structure
  3. CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
К началу