Наличие файла со списком сторонних зависимостей в собранном пакете приложения
![]() |
Критичность: ИНФО |
| Способ обнаружения: DAST, SENSITIVE INFO, FILES |
Описание
В среде iOS существует несколько систем сборки зависимостей проекта со специфическими типами конфигурационных файлов, их наименованиями и содержанием. В сборке приложения может оказаться такой файл с описанием применяемых сторонних библиотек и их версий. Список таких систем и их файлов представлен в таблице.
| Система управления зависимостями | Названия конфигурационных файлов |
|---|---|
| CocoaPods | Podfile, Podfile.lock, Manifest.lock |
| Carthage | Cartfile, Cartfile.resolved, Cartfile.private |
| SwiftPM | Package.swift, Package@swift-{version}.swift |
| Accio | Совпадают с SwiftPM |
| Athena | build.gradle, build.gradle.kts, settings.gradle.kts |
| Mint | Mintfile |
| Rome | Romefile |
| SWM | swiftmodule.json |
| Xcode Maven | pom.xml |
Наличие одного из перечисленных конфигурационных файлов может помочь в определении уязвимости в используемых библиотеках, а также раскрыть информацию о внутренних репозиториях (если используются внутренние компоненты).
Рекомендации
Рекомендуется исключить файлы, которые не требуются для работы приложения, из финальной сборки.
-
Если отсутствует файл пользовательских настроек для сборки, необходимо его создать.
-
Добавить ключ настройки EXCLUDED_SOURCE_FILE_NAMES, если он отсутствует.
-
Добавить настройки, определяющие, какие файлы и папки необходимо исключить из финальной сборки приложения.
В значении EXCLUDED_SOURCE_FILE_NAMES удобно перечислить конфигурационные файлы менеджеров зависимостей шаблонами, например Podfile, Podfile.lock, Manifest.lock, Cartfile*, Package.swift. Также проверьте фазу Copy Bundle Resources во вкладке Build Phases: подобные файлы не должны в неё попадать, иначе они будут включены в итоговый пакет независимо от настройки исключений.
Проверка результата
После пересборки распакуйте .ipa и убедитесь, что конфигурационные файлы менеджеров зависимостей отсутствуют в Payload/<AppName>.app/.
